Не могли бы тоже пояснить?
Собственно - тут все зависит от того как и для чего используется VPN в вашей конфигурации. То есть:
- должен ли идти весь трафик через него?
- если нет - то какой должен?
Тут вопрос собственно именно в том, насколько правильно настрена сеть, под задачи или нет.
Я подключение в VPN делаю с помощью файла конфигурации, который генерируется на сервере.
Дальше закидываю его в /etc/openvpn/client/ . Далее запускаем службу openvpn клиент в которую передаем в качестве “аргумента” данный файл.
старт службы systemctl start openvpn-client@NameFile
Добавление в авто запуск systemctl enable openvpn-client@NameFile
Так вот собсветнно есть два варианта, либо отредактировать файл конфига сервера, что бы он сразу генерил то что нужно. (У меня доступа у нему нет и сломать его не хочу поэтому я ковырял файл клиента который лежит по выше указанному пути)
Собственно сам файл у меня представляет следующее.
client
dev tun
proto udp
remote ip port
nobind
resolv-retry infinite
persist-key
persist-tun
remote-cert-tls server
auth SHA512
cipher AES-256-CBC
ignore-unknown-option block-outside-dns
block-outside-dns
verb 3
При таком раскладе при подключение сервиса, мы получаем настройки сети от сервера, которые в свою очередь становятся приоритетными. И в случае перезагрузки роутера или просто отк или вкл изернет то в моем случае пропадала связь полностью.
Что я сделал и почему отказался от этого.
в данный конфигурационный файл я добавил 2 строчки:
route-nopull это команда игнорирует маршруты от сервера
route 192.168.37.0 255.255.255.0 добавляем свои маршруты (Тут надо указать вашу локальную сеть)
Почему я не стал так делать. Потому что в таком случае весь трафик идет не через VPN канал. Если вам нужен только доступ то в принципе решение должно сработать, можете попробовать.
Я добавил в cron расписание на сработку скрипта указанного выше. Работает следующим образом:
Запускается скрипт (скажем раз в час), посылает несколько ping пакетов на DNS гугла, если есть ответ то нечего не делаем, если все пакеты потеряны то просто перезагружаем сервис. Думаю это не самый лучший и правильный вариант, но учитывая что роутер не так уж и часто перезагружается, поставил сработку скрипта 1 раз в день.
OpenVPN устанавливал по этой статье https://sprut.ai/client/article/3554
Используем vpn для:
удаленного подключения к веб интерфейсу wb
удаленного подключения по ssh
удаленного подключения по ftp
Больше никаких функций не ожидаем от vpn. Как поступить в этом случае?
Спасибо большое, попробую. Мне только для дуступа
Отлично.
В таком случае - сконфигурируйте на сервере передачу на клиента маршрутов только для используемых ресурсов ( route) ну и переподключение ( ping). Выше давал ссылку на описание конфига OpenVPN.
Коллеги, извините, что вмешиваюсь.
Мне кажется, я чучу разбираюсь.
Вы, Mag_Min пишете:
и используете для настройки статью со спрута.
Там один из пунктов – создание сервера у облачного провайдера.
Вы сделали так же?
Тогда у меня предложение в качестве мысленного эксперимента.
Зачем покупать какой то сервер в каком то облаке пусть и за 200-500 рублей в месяц,
если за эти же деньги у любого провайдера можно арендовать статический публичный IP адрес?
Я бы сделал так:
- Арендовал у провайдера публичный IP адрес
- Настроил на роутере проброс портов на нужные порты WB.
- Аутентификацию бы замутил на самом nginx на WB (если она не встроенная)
тогда никаких OpenVPNов не надо. - При крайней необходимости настроил бы OpenVPN сервер на самом WB.
- Напробрасывал бы все нужные приватные порты внутрь на сам WB через ВПН тунель, тогда и аутентификация не нужна.
Пошаговую инструкцию я Вам дать не смогу (очень много “если”), но любой шаг из моего списка легко гуглится по ключевому “how to…”
Ну или делитесь со мной (и не только) подробностями и с помощью Заратустры мы с Вами разберёмся.
Удачи.
Привет) Столкнулся с аналогичной проблемой. Удалось как-то решить?
А что за “аналогичная” проблема?
При пропадание интернета отваливаются все сервисы связанные с интернетом сервисы (Спрут, ОпенВПН). Локально контроллер по IP адресу доступен, но через ОпенВПН и управление через спрут (алиса) не работают. Помогает только перезагрузка
А каким образом запускается OVPN? Скрипт, сервис?
После “пропадания” интернета - в таблице маршрутизации есть default шлюз?
Запускается так как описано в этой статье (Урок 2 - Удаленное подключение с помощью OpenVPN - Sprut.AI), вроде сервисом.
Можно подробнее? Как проверить?
Да, сервис. Так покажите его логи, с момента потери соединения.
По ip route
Выводится шлюз?
Ну и все ж это база сетевых настроек, тут, вполне возможно не получится опубликовать идеальное и подходящее для всех без исключения решение.
У меня openvpn чудил, менял шлюз на свой. Просто отказался от него, настроить не получилось по человечески)
А ккой версии OVPN? Был такой баг в старых.
Это было примерно 1 - 1.5 года назад. Значит нужно попробовать по новой)
Ну и в настройках надо проверить, есть опция менять шлюз на произвольный.
По ip route после пропадания интернета выводится вот это:
Так же пробовали пинг на сайт делать, после пропадания интернета, пинг не выводится. То есть вайрен по ходу не выходит в интернет.
При этом из локальной сети он доступен.
Стороннее ПО тоже не может подключиться (скрин из логов спрутхаба).
Заметил интересную вещь.
По ходу вайрен вообще весь трафик отправляет через опен впн. При отключении сервера, на котором работает опен впн, интернет перестает работать. Пока удалили полностью сервис опен впн, но хотелось бы его вернуть в нормальном виде. Как такое можно сделать?