Назад | Перейти на главную страницу

Время ожидания UDP-соединений OpenVPN истекло

Итак, у меня есть виртуальный сервер, настроенный на Amazon, который я назову OSERV, для запуска openvpn на 3 разных портах. Все серверы OpenVPN действуют как шлюзы маршрутизации. 2 сервера, которые работают по TCP, отлично работают, но мой UDP-сервер, хотя он может устанавливать локальные соединения, всегда выходит из строя для внешних IP-адресов. Я назову это УДПСЕРВ.

Поэтому, когда я отправляю ssh через UDPSERV в OSERV, он работает нормально. Но когда я пытаюсь использовать ssh (или выполнять любые другие действия) в другом месте через UDPSERV, время ожидания соединения прерывается. Я назову внешний сервер, на котором я тестирую, EXSERV. Я просматривал журнал на уровне детализации 6, и я вижу отправляемые и получаемые пакеты при попытке установить соединение с EXSERV. Так что я знаю, что это работает. Я также запускал wirehark на клиентском компьютере и вижу, что он отлично отправляет и получает пакеты даже при SSHing в EXSERV.

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

Как ни странно, когда я смотрю журнал, выполняя действия через UDPSERV в OSERV, он, похоже, не показывает его.

Я подтвердил, что MTU не проблема. Что интересно, я могу передать> 4000 байтов в качестве MTU. Однажды я попытался установить его на 500.

Думаю, это все, что я могу сказать по поводу постановки этого вопроса. Если кто-нибудь может помочь мне понять, почему это не работает, я был бы очень признателен. Ниже представлены все мои конфигурации.

[Edit] Ах да. Я сделал netcat через UDPSERV от моего клиента к EXSERV, и он работал нормально.

Все 3 конфигурации сервера openvpn имеют следующие соответствующие настройки:

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

Различные настройки:
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

В настройках безопасности Amazon есть следующие допуски:
Входящий ПРИНЯТЬ: 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

Ниже приводится журнал openvpn на уровне детализации 6. Клиент подключился из 45.16.1.12. Затем я подключился к ssh OSERV. Затем я попытался подключиться к EXSERV SSH, который истек через 30 секунд. Журнал OpenVPN . Пожалуйста, дайте мне знать, если у вас возникнут проблемы со скачиванием файла, и я попробую другой сервис.

Итак, проблема в том, что я работал на udp-порту 123 (порт ntpd). Я предполагаю, что какой-то маршрутизатор должен иметь специальную кодировку для этого порта, чтобы разрешать только небольшие пакеты или что-то в этом роде. Пришло время найти другой общий порт udp для работы.