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

Ошибки tun0 при запуске сервера vpn?

Я использую простой VPN-сервер с этим программным обеспечением:

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

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

Я думал, что это не имеет большого значения, поэтому проигнорировал их.

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

Я просмотрел почти каждый файл журнала в /var/log но я не мог найти никаких ошибок или проблем до того, как сервер стал недоступен. Я не уверен, завис сервер или произошел сбой. потому что после определенного момента журнал не ведется. только после того, как мы принудительно перезагрузимся.

Я обнаружил проблему. Это было связано с openvpn. я смотрел на /var/log/syslog и, по-видимому, у openvpn возникла проблема с рукопожатием TLS с клиентом. И он продолжал регистрировать эти ошибки:

TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
TLS handshake failed

Причина была в reneg-sec параметр, который имел значения по умолчанию 3600. Вот цитата из официальных документов openvpn:

–Reneg-sec n

Повторное согласование ключа канала данных через n секунд (по умолчанию = 3600). При использовании двухфакторной аутентификации обратите внимание, что это значение по умолчанию может вызвать у конечного пользователя запрос на повторную авторизацию один раз в час.

Также имейте в виду, что эту опцию можно использовать как на клиенте, так и на сервере, и в зависимости от того, какое из них использует меньшее значение, будет инициироваться повторное согласование. Распространенной ошибкой является установка для параметра –reneg-sec более высокого значения либо на клиенте, либо на сервере, в то время как другая сторона соединения по-прежнему использует значение по умолчанию 3600 секунд, что означает, что повторное согласование по-прежнему будет происходить один раз в 3600 секунд. Решение состоит в том, чтобы увеличить –reneg-sec как на клиенте, так и на сервере, или установить его на 0 на одной стороне соединения (для отключения) и на выбранное вами значение на другой стороне.

Этот параметр гарантирует, что клиент должен пересматривать свой ключ каждый час.

Итак, если вы оставили openvpn на (стороне клиента) на долгое время, и если по какой-либо причине одно из рукопожатий не удалось, это привело бы к бесконечному количеству неудачных переговоров. Я предполагаю, что это вызвало отброшенные пакеты и прочее.

Не говоря уже об интерфейсе tun0, изначально созданном openvpn, о котором я не знал.

В любом случае решение изменить reneg-sec либо установить более высокое значение, либо просто установить его на ноль и отключить. Я решил просто отключить опцию и поставить reneg-sec 0 в server.conf и клиент .opvn профили.

Также, если вы используете UFW, вам нужно отредактировать /etc/default/ufw и изменить DEFAULT_FORWARD_POLICYпринять.

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