dakke
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Привет всем, уважаемые знатоки -) Что-то не могу разобраться с внутренним пингом OpenVPN (параметр --ping) в среде Windows, похоже, что он не работает, что ли? Ситуация такая: запустил OpenVPN. Конфигурации простейшие: =========== Сервер========== mode server port 12404 proto udp dev tun ca ca.crt cert servervpn02.crt key servervpn02.key dh dh2048.pem tls-auth ta.key 0 server 10.13.1.0 255.255.255.0 cipher AES-128-CBC comp-lzo max-clients 20 verb 1 mute 20 =======Клиент:========= client dev tun proto udp remote 192.168.9.21 port 12404 ca ca.crt cert clientvpn0201.crt key clientvpn0201.key tls-auth ta.key 1 cipher AES-128-CBC comp-lzo verb 1 mute 20 =================== - сервер OpenVPN - на Windows Server 2008 x64, клиенты тоже на Windows (7 и 10).; - запуск сервера и клиентов через OpenVPN GUI; - инсталляторы скачаны с официального сайта (версии 2.4.8 и 2.4.9); - на период тестирования брандмауэры на обоих компьютерах (и сервере и клиенте) отключил все; - сами компьютеры находятся в одной сети, связанные коммутатором, т.е. никаких роутеров, файерволов и пр. между ними нет Все работает, НО! если нет никакого потока данных (передачи файлов), то каждые примерно 2 минуты клиент переподключается к серверу. Я это вижу в логах клиента (verb 1) как: [servervpn02] Inactivity timeout (--ping-restart), restarting Т.е. такое впечатление, что работает команда ping-restart, хотя в конфигурации этой команды нет! Почитал Manual page, там написано: "In client mode, the --ping-restart parameter is set to 120 seconds by default. To disable the 120 second default, set --ping-restart 0 on the client." 120 сек это как раз похоже на 2 минуты. Т.е. как я понимаю, это означает, что по умолчанию, даже если я не написал команду ping-restart в конфигурацию, она уже установлена в openvpn.exe, причем как ping-restart 120? Ну ладно. Я поставил в конфигурации клиента ping-restart 0, переподключения клиента прекратились. Но, т.к. ping-restart или keepalive, в принципе, полезная опция для переподключения при потере соединения или перезагрузке сервера, я бы хотел её иметь. Убрал ping-restart 0 и добавил в конфигурацию (клиента) команду: ping 10 Казалось бы, теперь сам openvpn.exe посылает по каналу пинги через 10 сек. и, соответственно, ping-restart 120 (который по умолчанию работает) не должен срабатывать. Но он все равно срабатывает! Каждые две минуты я вижу в логе клиента [servervpn02] Inactivity timeout (--ping-restart), restarting Пробовал в конфигурации (клиента) варианты: "ping 10 ping-restart 60" - перезапускается через иногда минуту, иногда 3 минуты "keepalive 10 240" - перезапускается (правда, каждые минут 6-10, а не 4) При этом, если я запускаю на клиентской машине обычный процесс CMD.exe и начинаю пинговать сервер ping -t 10.13.1.1 - то, пока пинги идут (полчаса, сутки) - openvpn не переподключается! (повторюсь - брандмауры тупо отключены на всех машинах, сами компьютеры находятся в одной сети, связанные коммутатором, т.е. никаких роутеров, файерволов и пр. между ними нет) Т.е. такое впечатление, что "собственный" ping OpenVPN не работает! Или ping-restart не воспринимает его как "поток информации по каналу". И получается, что, если поставить ping-restart 0 то, если сервер перезагрузится, то клиент не переподключается. И более того - значок OpenVPN GUI горит зеленым, обманывая клиента, что как бы соединение есть, хотя на самом деле его нет! А если убрать ping-restart 0, то идет постоянное переподключение (а из-за этого у меня 1С вылетает, т.к. в момент переподключения она пытается получить данные от сервера, их не получает и выдает ошибку) А как у вас? "ping 10" + "ping-restart" тоже клиента постоянно переподключает? Или это глюк Widdows-версии? или это глюк версии 2.4.8, а на старых версиях пинг работает? И как сделать keepalive без этих постоянных переподключений? | Всего записей: 160 | Зарегистр. 04-05-2014 | Отправлено: 14:02 14-06-2020 | Исправлено: dakke, 14:12 14-06-2020 |
|