Вопрос или проблема
Я настроил L2TP VPN на своем Ubiquiti USG Ultra. Эта часть работает для доступа к локальной сети.
Где это не работает, так это выход в интернет.
У нас есть интерфейс l2tp0 – VPN, и ppp0 – интернет.
Я подключаю свой телефон, тестирую VPN на доступ к локальной сети, а затем открываю браузер.
Я пытаюсь подключиться к 8.8.4.4.
Открывая ssh на USG: в tcpdump я вижу запрос, приходящий на l2tp, и вижу, как он уходит на ppp0.
Я не вижу ничего, что возвращается.
Смотря на счетчики iptables, кажется, что пакеты проигрываются, так как не удалось соответствовать обычным правилам related/established.
Проверяя таблицы conntrack для -d 8.8.4.4, я вижу совпадение для l2tp адреса источника, но я не вижу ничего для ppp0 адреса источника – что, я предполагаю, является причиной, по которой пакеты теряются.
Так есть идеи, почему это не работает? Я пропускаю какие-то настройки conntrack/masquerade?
Отредактировал, чтобы добавить: некоторые подключения, похоже, работают и отслеживаются – но постоянно http из браузера будет неудачным.
(Я пытаюсь разобраться в том, что происходит на уровне Linux сейчас и игнорирую тот факт, что это USG Ultra – как только я пойму, что и как сломано, я постараюсь наложить решение на это) Есть идеи, что настроено неправильно?
Ответ или решение
Проблема с работой L2TP VPN на Ubiquiti USG Ultra: Обратные соединения и настройки conntrack
Введение
Установка L2TP VPN на устройство Ubiquiti USG Ultra может вызвать определенные сложности, особенно в отношении обработки обратных соединений. В данном случае, вам удалось успешно настроить доступ к локальной сети, но возникли проблемы с тем, чтобы обеспечить выход в интернет. В этой статье мы разберем возможные причины данного вопроса и предоставим рекомендации по их устранению.
Технические детали проблемы
Согласно вашему описанию, интерфейсы, с которыми вы работаете, – это l2tp0
(для VPN) и ppp0
(для выхода в интернет). При подключении к VPN вы можете получить доступ к локальной сети, но запросы на публичные IP-адреса, такие как 8.8.4.4
, не возвращают ответ.
Вы наблюдали следующие моменты:
- Запросы из вашего браузера (к
8.8.4.4
) отображаются на интерфейсеl2tp
, и уходят наppp0
. - Ответы на эти запросы не фиксируются, и в таблице conntrack (отслеживание соединений) отсутствуют записи о завершенных соединениях.
Эти явления указывают на то, что пакеты могут быть сбрасываемыми из-за несоответствия правилам фильтрации или настройкам NAT.
Потенциальные причины и решения
-
Проблемы с conntrack: Определенные пакеты могут не отслеживаться должным образом из-за особенностей работы conntrack. Убедитесь, что на уровне iptables установлены соответствующие правила для отслеживания трафика. Например, правило NAT может отсутствовать для интерфейса
ppp0
:iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
-
Правила iptables: Проверьте существующие правила iptables. Возможно, вам нужно добавить правила, которые позволят пакетом с адресами, которые находятся в сети L2TP, проходить системы обратной связи. Убедитесь, что у вас есть правила для связей с состоянием:
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i l2tp0 -o ppp0 -j ACCEPT
-
Настройки MTU и MSS: Проверьте настройки MTU (Maximum Transmission Unit) для интерфейсов. Иногда уменьшение значения MTU может помочь в избежании проблем с фрагментацией. Попробуйте уменьшить MTU для
ppp0
:ifconfig ppp0 mtu 1400
-
Логи и отладка: Используйте
tcpdump
и другие инструменты логирования для дополнительной отладки. Выполните командуtcpdump -i ppp0
иtcpdump -i l2tp0
, чтобы наблюдать за входящими и исходящими пакетами. -
Проверка правил маршрутизации: Убедитесь, что маршруты корректно настроены. Проверьте наличие маршрута по умолчанию для интерфейса
ppp0
. При необходимости добавьте его:ip route add default dev ppp0
-
Смешанные протоколы и приложения: Как вы заметили, некоторые соединения могут работать (например, ping), однако HTTPS или HTTP не проходят. Попробуйте отправить http-запрос через команду
curl
и посмотрите, какой ответ вернется.
Заключение
Проблемы с L2TP VPN, возникающие на Ubiquiti USG Ultra, часто связаны с неправильными настройками conntrack и правилами iptables. Проверка правил фильтрации, настройки NAT и отладка соединений позволит значительно улучшить ситуацию. Если после выполнения этих шагов проблема все еще сохраняется, стоит обратиться к документации Ubiquiti или сообществу поддержки для дополнительной помощи.