Авторизация

Туннель отключается каждый час

Подробнее
1 год 5 мес. назад - 1 год 5 мес. назад #19 от RSmirnov
RSmirnov ответил в теме Туннель отключается каждый час
Ваши настройки OpenVPN для Padavan корректны. Проблема с отсутствием автоматического переподключения была и у меня. На форумах советуют добавить в дополнительную конфигурацию клиента OpenVPN строку:
pull-filter ignore "auth-token"
Мне не особо помогло, при отвале соединения по AUTH: Received control message: AUTH_FAILED (а такое частенько бывает из-за нестабильного интернета и вылета сессии по таймауту) автоматического переподключения всё равно не происходило.
Пришлось придумать некий Watchdog, который раз в 5 минут пингует шлюз VPNki, и если пинг не проходит, выполняет перезапуск клиента OpenVPN на роутере.

Для создания Watchdog`а необходимо подключиться к роутеру по SSH или SFTP. Для получения такой возможности в интерфейсе роутера "Администрирование -> Сервисы -> Включить SSH-сервер?" должно стоять значение "Да". После подключение по SSH/SFTP идем в директорию "/etc/storage/cron/". В ней создаем 2 файла:

1. shell-wrapper.sh
#!/bin/sh

# Pull $PATH and other settings from /etc/profile and /opt/etc/profile
. /etc/profile

# Shell keywords shouldn't have a "-c" prefix
[ "$1" = "-c" ] && shift

# Call cron job
SHELL=/bin/sh eval $@
2. vpnki_check_connection.sh
#!/bin/bash

ping -c 1 172.16.0.1 &> /dev/null
if [[ $? -ne 0 ]]; then
    logger -t Restore OpenVPN connection to VPNki
    restart_vpn_client
fi
Для обоих файлов необходимо установить права на выполнение
chmod +x shell-wrapper.sh vpnki_check_connection.sh
или через Свойства файла при использовании SFTP.

Остается только добавить правило для планировщика Cron, которое будет запускать наш Watchdog раз в 5 минут. Это можно сделать как через SSH/SFTP в файле "/etc/storage/cron/crontabs/admin", так и через интерфейс роутера "Администрирование -> Сервисы -> Задания планировщика Crontab".
SHELL=/etc/storage/cron/shell-wrapper.sh

*/5 * * * * /etc/storage/cron/vpnki_check_connection.sh
С момента включения этого Watchdog`а проблем с отсутствием подключения к удаленной сети больше чем на 5 минут не было.
Последнее редактирование: 1 год 5 мес. назад пользователем RSmirnov.
Спасибо сказали: admin, nahznahz

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
1 год 5 мес. назад - 1 год 5 мес. назад #20 от admin

Также во вложении выводы трёх команд после замены IP-адресации. Сейчас в них всё корректно?

 
Сейчас почти корректно. Только мне кажется, что нужно добавить еще один маршрут на устройстве с адресом 192.168.10.11.
Добавить надо маршрут к сети 192.168.20.0/24 и указать шлюз 172.16.0.1
А на другой стороне должен быть маршрут обратно - к сети 192.168.10.0/24 и тоже с шлюзом 172.16.0.1
Точный синтаксис я не подскажу, так как нет у меня такого устройства.
Но думаю там в интерфейсе можно добавить статический маршрут или в ssh что-то типа: ip add route add -net 192.168.20.0/24 gw 172.16.0.1

если все заработало, то, пожалуйста, donate сюда - yoomoney.ru/to/410014618210530
Последнее редактирование: 1 год 5 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
1 год 5 мес. назад #21 от admin
Насчет переполключения.
Мне не очень понятен лог подключения, потому что с 23-01 было несколько попыток подключиться, часть из которых закончилась timeout (почему?), но устройство пыталось переподключиться. А потом случилась ошибка при аутентификации и устройство перестало пытаться подключиться совсем.

Посмотрел лог на сервере и не обнаружил записей про похожие события в 23:04
Nov 19 23:04:15 openvpn-cli[3202]: Attempting to establish TCP connection with [AF_INET]84.201.157.25:33586 [nonblock]

У вас время московское в логе?

если все заработало, то, пожалуйста, donate сюда - yoomoney.ru/to/410014618210530

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • nahznahz
  • Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
Подробнее
1 год 5 мес. назад - 1 год 5 мес. назад #22 от nahznahz
nahznahz ответил в теме Туннель отключается каждый час

Также во вложении выводы трёх команд после замены IP-адресации. Сейчас в них всё корректно?



 
Сейчас почти корректно. Только мне кажется, что нужно добавить еще один маршрут на устройстве с адресом 192.168.10.11.
Добавить надо маршрут к сети 192.168.20.0/24 и указать шлюз 172.16.0.1
А на другой стороне должен быть маршрут обратно - к сети 192.168.10.0/24 и тоже с шлюзом 172.16.0.1
Точный синтаксис я не подскажу, так как нет у меня такого устройства.
Но думаю там в интерфейсе можно добавить статический маршрут или в ssh что-то типа: ip add route add -net 192.168.20.0/24 gw 172.16.0.1

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

192.168.10.1:
Destination       Gateway         Genmask            Flags Metric Ref    Use Iface
default              192.168.8.1     0.0.0.0                UG      1      0        0      apcli0
127.0.0.0          *                       255.0.0.0           U         0      0        0      lo
172.16.0.0        *                       255.255.0.0       U        0      0        0       tun0
192.168.8.0      *                       255.255.255.0   U        0      0        0       apcli0
192.168.10.0    *                       255.255.255.0   U       0      0        0        br0
192.168.20.0    172.16.0.1       255.255.255.0   UG    0      0        0         tun0

192.168.20.1:
Destination        Gateway         Genmask         Flags   Metric Ref    Use Iface
default              192.168.215.1   0.0.0.0               UG    1        0        0      apcli0
127.0.0.0           *                        255.0.0.0           U       0       0        0      lo
172.16.0.0         *                        255.255.0.0       U       0        0        0     tun0
192.168.10.0    172.16.0.1         255.255.255.0    UG    0        0        0     tun0
192.168.20.0     *                        255.255.255.0   U       0        0        0      br0
192.168.215.0   *                        255.255.255.0   U       0        0        0      apcli0

В сервере Home Assistant я тоже, думаю можно добавить статический маршрут, поскольку он развернут на Raspberry. А добавить маршрут на устройстве в сети роутера 20.1 видимо невозможно, поскольку это датчик на основе микроконтроллера ESP8266 с прошивкой ESPHome. В этой прошивке, если верить документации, не предусмотрено прописывание статических маршрутов.
Если маршруты прописаны в роутерах, а оконечные устройства подключены к этим роутерам, разве не должны роутеры сами транслировать пакеты от этих оконечных устройств в нужные направления?

И по второму вопросу - в логе время московское. На момент отправки сообщения время:  Системное время:Mon, Nov 21 12:34:30 2022 GMT+0300

А также у меня встречный вопрос - на вашем сервере нет какого-либо отключения туннелей по времени, по отсутствию трафика и т.п.? Потому что туннели в основном отключаются именно по таймауту. На роутере никаких таймаутов не установлено.
 
Последнее редактирование: 1 год 5 мес. назад пользователем nahznahz.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • nahznahz
  • Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
Подробнее
1 год 5 мес. назад #23 от nahznahz
nahznahz ответил в теме Туннель отключается каждый час
Сейчас нахожусь на роутере 192.168.10.1. Трассировки к роутеру 192.168.20.1 не проходят. Трассировки не проходят даже к 172.16.54.31 - это адрес, назначенный этому роутеру в VPNKI. Получается между туннелями user15608 (172.16.54.31) и user15612 (172.16.54.35) трафик не ходит.

tracert 192.168.20.1
Трассировка маршрута к 192.168.20.1 с максимальным числом прыжков 30

  1     1 ms     1 ms     1 ms  RT-N56U_B1 [192.168.10.1]
  2   173 ms    36 ms    29 ms  172.16.0.1
  3     *        *        *     Превышен интервал ожидания для запроса.
  4     *        *        *     Превышен интервал ожидания для запроса.
  5     *        *        *     Превышен интервал ожидания для запроса.
  6  ^C

tracert 172.16.54.31
Трассировка маршрута к 172.16.54.31 с максимальным числом прыжков 30
  1     1 ms     1 ms    <1 мс  RT-N56U_B1 [192.168.10.1]
  2    49 ms    28 ms    37 ms  172.16.0.1
  3     *        *        *     Превышен интервал ожидания для запроса.
  4     *        *        *     Превышен интервал ожидания для запроса.
  5     *        *     ^C

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
1 год 5 мес. назад - 1 год 5 мес. назад #24 от admin
"Если маршруты прописаны в роутерах, а оконечные устройства подключены к этим роутерам, разве не должны роутеры сами транслировать пакеты от этих оконечных устройств в нужные направления?"

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

если все заработало, то, пожалуйста, donate сюда - yoomoney.ru/to/410014618210530
Последнее редактирование: 1 год 5 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.100 секунд