Portanto, tenho um servidor virtual configurado no amazon, que chamarei de OSERV, para executar o openvpn em três portas diferentes. Todos os servidores OpenVPN estão atuando como gateways de roteamento. 2 dos servidores em execução no TCP funcionam muito bem, mas o meu servidor UDP, embora seja capaz de fazer conexões locais, sempre expira para IPs externos. Eu vou chamá-lo UDPSERV.
Então, quando eu ssh através de UDPSERV para OSERV, funciona bem. Mas quando eu tento ssh (ou faço qualquer outro tipo de atividade) em qualquer outro lugar através do UDPSERV, a conexão expira. Vou chamar o servidor externo que estou testando como EXSERV. Fui observado o log no nível de detalhamento 6, e vejo os pacotes sendo enviados e recebidos ao tentar fazer a conexão com EXSERV. Então eu sei que funciona. Eu também corri wireshark na máquina do cliente, e ver enviando e recebendo pacotes muito bem também quando SSHing para EXSERV.
ssh root@ESERV -o ConnectTimeout=60
Connection reset by ESERV port 22
Embora, estranhamente, quando eu assisto o log ao fazer atividades através do UDPSERV para o OSERV, ele não parece mostrar isso.
Confirmei que o MTU não é um problema. Curiosamente, eu posso realmente empurrar > 4000 bytes através do MTU. Eu tentei configurá-lo para 500 em um ponto.
Então, acho que isso é tudo que posso dizer para a configuração dessa pergunta. Se alguém puder me ajudar a descobrir por que isso não está funcionando, eu realmente aprecio isso. Abaixo estão todas as minhas configurações.
[Editar] Ah sim. Eu fiz um netcat através do UDPSERV do meu cliente para o EXSERV e funcionou bem.
Todas as 3 configurações do servidor openvpn têm as seguintes configurações relevantes:
dev tun
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
keepalive 10 120
comp-lzo
persist-key
persist-tun
Configurações diferentes:
Serv1 :
port 80
proto tcp
server 10.8.0.0 255.255.255.0
Serv2 :
port 443
proto tcp
server 10.8.1.0 255.255.255.0
UDPSERV :
port 123
proto udp
server 10.8.2.0 255.255.255.0
As configurações de segurança do Amazon têm as seguintes permissões:
Entrada ACEITAR : TCP22, TCP80, TCP443, UDP123
Saída ACEITAR : Tudo
A seguir está minha configuração do iptables:
#Clear everything out
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -t raw -F
iptables -t raw -X
#All connections
iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
#Serv1
iptables -I FORWARD -i tun0 -o eth0 -s 10.8.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -t nat -I POSTROUTING -o eth0 -s 10.8.0.0/24 -j MASQUERADE
#Serv2
iptables -I FORWARD -i tun1 -o eth0 -s 10.8.1.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -t nat -I POSTROUTING -o eth0 -s 10.8.1.0/24 -j MASQUERADE
#UDPSERV
iptables -I FORWARD -i tun2 -o eth0 -s 10.8.2.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -t nat -I POSTROUTING -o eth0 -s 10.8.2.0/24 -j MASQUERADE
Eu também tentei as seguintes configurações para o UDPSERV:
iptables -A INPUT -i eth0 -m state --state NEW -p udp --dport 123 -j ACCEPT
iptables -I FORWARD -i tun2 -j ACCEPT
iptables -I FORWARD -i tun2 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -I POSTROUTING -o eth0 -s 10.8.2.0/24 -j MASQUERADE
O seguinte é o log openvpn no nível de verbosidade 6. O cliente conectado a partir de 45.16.1.12. Eu então conectei ao ssh do OSERV. Em seguida, tentei conectar-me ao EXSERV SSH, que expirou após 30 segundos. log do OpenVPN . Por favor, deixe-me saber se você tem problemas para baixar o arquivo e eu vou tentar um serviço diferente.