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

Я могу подключиться к серверу OpenVPN только с IPv6, а не IPv4

Я установил сервер OpenVPN на свой Synology Router, и у меня возникают проблемы с правильной работой соединений IPv4 и IPv6. Изначально у меня были огромные головные боли, пытаясь понять это, но я сузил ее до следующего: я могу успешно подключиться к своему серверу OpenVPN через его IPv6-адрес, но подключение только через IPv4-адрес каждый раз терпит неудачу.

Я подключаюсь через доменное имя, которое я настроил с помощью DDNS. Если я вручную установлю запись только для IPv4-адреса, это, конечно, не удастся. Как только я обновлю запись IPv6, она заработает как обычно.

Я тестировал это на нескольких разных клиентах и ​​сетях, просто чтобы убедиться, что это не та сеть, в которой был мой клиент.

Вот моя конфигурация сервера: Конфигурация сервера

И файл конфигурации клиента:

dev tun
tls-client

remote my.domain.com 1194

redirect-gateway def1


pull

proto udp

script-security 2


reneg-sec 0

auth SHA1

cipher AES-128-CBC

auth-user-pass


key-direction 1

comp-lzo
explicit-exit-notify
<ca>

-----BEGIN CERTIFICATE-----

-----END CERTIFICATE-----
</ca>

<tls-auth>

-----BEGIN OpenVPN Static key V1-----

-----END OpenVPN Static key V1-----
</tls-auth>


Вот файлы журнала подключения клиентов, отредактированные для личной информации:

5/20/2020, 1:03:10 AM OpenVPN core 3.git::15c71c44 win x86_64 64-bit PT_PROXY built on Feb 19 2020 17:36:01
⏎5/20/2020, 1:03:10 AM Frame=512/2048/512 mssfix-ctrl=1250
⏎5/20/2020, 1:03:10 AM UNUSED OPTIONS
1 [tls-client] 
4 [pull] 
6 [script-security] [2] 
13 [explicit-exit-notify] 
⏎5/20/2020, 1:03:10 AM EVENT: RESOLVE 
⏎5/20/2020, 1:03:10 AM EVENT: WAIT 
⏎5/20/2020, 1:03:10 AM Contacting 104.232.115.21:1194 via UDP
⏎5/20/2020, 1:03:10 AM Connecting to [my.domain.com]:1194 (x.x.x.x) via UDPv4
⏎5/20/2020, 1:03:20 AM Server poll timeout, trying next remote entry...
⏎5/20/2020, 1:03:20 AM EVENT: RECONNECTING
⏎5/20/2020, 1:03:20 AM EVENT: RESOLVE
⏎5/20/2020, 1:03:20 AM Contacting x.x.x.x:1194 via UDP
⏎5/20/2020, 1:03:20 AM Connecting to [my.domain.com]:1194 (x.x.x.x) via UDPv4
⏎5/20/2020, 1:03:20 AM EVENT: WAIT 
⏎5/20/2020, 1:03:30 AM Server poll timeout, trying next remote entry...

5 неудачных попыток до истечения времени ожидания:

⏎5/20/2020, 1:04:10 AM EVENT: CONNECTION_TIMEOUT
⏎5/20/2020, 1:04:10 AM EVENT: DISCONNECTED

Теперь пробуем адрес IPv6

⏎5/20/2020, 1:04:46 AM OpenVPN core 3.git::15c71c44 win x86_64 64-bit PT_PROXY built on Feb 19 2020 17:36:01
⏎5/20/2020, 1:04:46 AM Frame=512/2048/512 mssfix-ctrl=1250
⏎5/20/2020, 1:04:46 AM UNUSED OPTIONS
1 [tls-client] 
4 [pull] 
6 [script-security] [2] 
13 [explicit-exit-notify] 
⏎5/20/2020, 1:04:46 AM EVENT: RESOLVE
⏎5/20/2020, 1:04:46 AM EVENT: WAIT
⏎5/20/2020, 1:04:46 AM Contacting x.x.x.x:1194 via UDP
⏎5/20/2020, 1:04:46 AM Connecting to [my.domain.com]:1194 (x.x.x.x) via UDPv4
⏎5/20/2020, 1:04:56 AM Server poll timeout, trying next remote entry...
⏎5/20/2020, 1:04:56 AM EVENT: RECONNECTING
⏎5/20/2020, 1:04:56 AM EVENT: RESOLVE
⏎5/20/2020, 1:04:56 AM EVENT: WAIT
⏎5/20/2020, 1:04:56 AM Contacting 104.232.115.21:1194 via UDP
⏎5/20/2020, 1:04:56 AM Connecting to [my.domain.com]:1194 (x.x.x.x) via UDPv4
⏎5/20/2020, 1:05:06 AM Server poll timeout, trying next remote entry...
⏎5/20/2020, 1:05:06 AM EVENT: RECONNECTING
⏎5/20/2020, 1:05:06 AM EVENT: RESOLVE
⏎5/20/2020, 1:05:06 AM EVENT: WAIT
⏎5/20/2020, 1:05:06 AM Contacting [xxxx::xxxx]:1194 via UDP
⏎5/20/2020, 1:05:06 AM Connecting to [my.domain.com]:1194 (xxxx::xxxx) via UDPv6
⏎5/20/2020, 1:05:06 AM EVENT: CONNECTING
⏎5/20/2020, 1:05:06 AM Tunnel Options:V4,dev-type tun,link-mtu 1558,tun-mtu 1500,proto UDPv4,comp-lzo,keydir 1,cipher AES-128-CBC,auth SHA1,keysize 128,tls-auth,key-method 2,tls-client
⏎5/20/2020, 1:05:06 AM Creds: Username/Password
⏎5/20/2020, 1:05:06 AM Peer Info:
IV_GUI_VER=OCmacOS_3.1.2-572
IV_VER=3.git::15c71c44
IV_PLAT=win
IV_NCP=2
IV_TCPNL=1
IV_PROTO=2
IV_LZO_STUB=1
IV_COMP_STUB=1
IV_COMP_STUBv2=1

⏎5/20/2020, 1:05:06 AM VERIFY OK : depth=1
Certificate Information

⏎5/20/2020, 1:05:06 AM VERIFY OK : depth=0
Certificate Information

⏎5/20/2020, 1:05:08 AM SSL Handshake: TLSv1.2/TLS-DHE-RSA-WITH-AES-256-GCM-SHA384
⏎5/20/2020, 1:05:08 AM Session is ACTIVE
⏎5/20/2020, 1:05:08 AM Sending PUSH_REQUEST to server...
⏎5/20/2020, 1:05:08 AM EVENT: GET_CONFIG 
⏎5/20/2020, 1:05:09 AM EVENT: DISCONNECTED

Как видите, при использовании IPv6-адреса он прекрасно подключается. Но при попытке подключиться с IPv4-адресом он каждый раз терпит неудачу. Связано ли это с тем, что мой интернет-провайдер блокирует определенные UDP-пакеты? Мне любопытно, почему он работает только с IPv6.

На устранение неполадок ушло всего пару часов, но я понял это, теперь это кажется настолько очевидным, что я не хочу этого признавать.

В начале всего этого я читал некоторую ошибочную документацию от Synology, которая требовала настройки правил переадресации портов на маршрутизаторе. Но они забыли упомянуть, что вам НЕ СЛЕДУЕТ делать это, если вы используете VPN-сервер на самом маршрутизаторе!

Я удалил все правила переадресации портов, дважды проверил правила своего брандмауэра и все заработало правильно.