OpenVPN UDP 连接超时

OpenVPN UDP 连接超时

因此,我在 amazon 上设置了一个虚拟服务器,我将其称为 OSERV,用于在 3 个不同端口上运行 openvpn。所有 OpenVPN 服务器都充当路由网关。通过 TCP 运行的 2 个服务器运行良好,但我的 UDP 服务器虽然能够建立本地连接,但总是会因外部 IP 而超时。我将其称为 UDPSERV。

因此,当我通过 UDPSERV ssh 到 OSERV 时,它工作正常。但是当我尝试通过 UDPSERV 在其他任何地方 ssh(或执行任何其他类型的活动)时,连接超时。我将我正在测试的外部服务器称为 EXSERV。我已经在详细程度级别 6 上查看了日志,并且我看到在尝试连接到 EXSERV 时发送和接收了数据包。所以我知道它有效。我还在客户端计算机上运行了 wireshark,并且看到它在通过 SSH 连接到 EXSERV 时也能正常发送和接收数据包。

ssh root@ESERV -o ConnectTimeout=60
Connection reset by ESERV port 22

但奇怪的是,当我查看通过 UDPSERV 到 OSERV 进行活动的日志时,它似乎没有显示它。

我已确认 MTU 不是问题。有趣的是,我实际上可以将 MTU 设置为 4000 字节以上。我曾尝试将其设置为 500。

所以我想这就是我能说的关于这个问题的设置的全部内容。如果有人能帮我弄清楚为什么这不起作用,我将不胜感激。下面是我所有的配置。

[编辑] 哦,是的。我通过 UDPSERV 从我的客户端到 EXSERV 进行了 netcat,它运行正常。

所有 3 个 openvpn 服务器配置均具有以下相关设置:

dev tun
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
keepalive 10 120
comp-lzo
persist-key
persist-tun

不同的设置:
服务1

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

UDP服务

port 123
proto udp
server 10.8.2.0 255.255.255.0

亚马逊安全设置有以下权限:
接收:TCP22、TCP80、TCP443、UDP123
传出接受: 一切

以下是我的 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

我还尝试了以下 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

以下是详细程度为 6 的 openvpn 日志。客户端从 45.16.1.12 连接。然后我连接到 OSERV 的 ssh。然后我尝试连接到 EXSERV SSH,但在 30 秒后超时。OpenVPN 日志。如果您在下载文件时遇到问题,请告诉我,我会尝试其他服务。

答案1

所以问题出在我运行的 udp 端口​​ 123(ntpd 端口)。我猜有些路由器一定对该端口进行了特殊编码,只允许小数据包,或者其他什么。是时候找到另一个常用的 udp 端口​​来运行了。

相关内容