У меня есть сервер OpenVPN, работающий на Ubuntu в AWS, и я использую Tunnelblick в macOS для подключения к нему. У меня нет проблем с подключением к другим VPN-серверам, но этот, кажется, истекает/сбрасывается каждые 2 минуты.
Мой OVPN-профиль:
клиент
разработчик тун
прото удп
удаленный ....... 1194
разрешить-повторить бесконечный
ни к чему
пользователь никто
группа
постоянный ключ
упорный тун
сервер удаленного сертификата tls
шифр AES-256-CBC
глагол 3
шифр AES-128-CBC
аутентификация SHA256
ключевое направление 1
<ca>
-----НАЧАТЬ СЕРТИФИКАТ-----
...
-----КОНЕЦ СЕРТИФИКАТА-----
</ca>
<сертификат>
Сертификат:
Данные:
Версия: 3 (0x2)
...
-----НАЧАТЬ СЕРТИФИКАТ-----
...
-----КОНЕЦ СЕРТИФИКАТА-----
</сертификат>
<ключ>
-----НАЧАТЬ ЗАКРЫТЫЙ КЛЮЧ-----
...
-----КОНЕЦ ЗАКРЫТОГО КЛЮЧА-----
</ключ>
<tls-авторизация>
#
# 2048-битный статический ключ OpenVPN
#
-----НАЧАЛО Статический ключ OpenVPN V1-----
...
-----END Статический ключ OpenVPN V1-----
</tls-авторизация>
При подключении сервер выставляет следующие настройки:
PUSH: получено управляющее сообщение: 'PUSH_REPLY, перенаправление шлюза def1 bypass-dhcp, dhcp-option DNS 8.8.8.8, маршрут 172.16.0.0 255.255.240.0, маршрут 172.16.16.0 255.255.240.0, маршрут 172.16.128.25, маршрут 172.16.128.25, 524.0 255.0. 172.16.144.0 255.255.240.0,маршрут 10.8.0.1,топология net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5,peer-id 1,шифр AES-256-GCM'
(обратите особое внимание пинг 10, пинг-перезагрузка 120
)
Подняв уровень журнала на клиенте, похоже, что соединение отправляет пакеты данных:
2021-09-03 11:31:21.848620 ЗАПИСЬ UDP [62] в [AF_INET]...:1194: P_ACK_V1 kid=0 pid=[ #13 ] [ 6 ]
2021-09-03 11:31:21.848768 ЗАПИСЬ UDP [130] в [AF_INET]...:1194: P_DATA_V2 kid=0 DATA len=129
2021-09-03 11:31:21.848856 ЗАПИСЬ UDP [226] в [AF_INET]...:1194: P_DATA_V2 kid=0 DATA len=225
Однако соединение всегда обрывается примерно через 2 минуты. В журнале клиента указано:
2021-09-03 11:40:26.121900 [cc-vpn] Тайм-аут бездействия (--ping-restart), перезапуск
2021-09-03 11:40:26.122379 SIGUSR1 [soft, ping-restart] получен, перезапуск процесса
2021-09-03 11:40:26.122504 УПРАВЛЕНИЕ: >СОСТОЯНИЕ: 1630683626,ПОВТОРНОЕ СОЕДИНЕНИЕ,пинг-перезапуск,,,,,
2021-09-03 11:40:26.448969 МЕНЕДЖМЕНТ: CMD «отложить выпуск»
На самом деле в журнале сервера ничего нет, кроме перезапуска соединения.
Двухминутный тайм-аут имеет смысл, учитывая пинг-перезагрузка 120
настройка передана клиенту, но я не понимаю, почему он считает, что он неактивен. Что мне не хватает? Есть ли настройка на клиенте, которая предотвращает правильную отправку пинга на сервер?
В частности, добавление ping/ping-restart в конфигурацию клиента, похоже, не помогает (я предполагаю, что это все равно будет переопределено сервером PUSH).
Как я могу отладить это и выяснить, почему соединение не поддерживается?