Вопрос или проблема
Вот моя ситуация:
- Я использую клиент VPN StrongSwan на Ubuntu 24.04 (ikev2 ipsec).
- Установлена галочка “Использовать это соединение только для ресурсов в его сети”.
Настройки IPv4:
Маршруты после подключения VPN:
default via 200.100.20.1 dev wlo1 proto dhcp src 200.100.20.12 metric 600
10.158.0.0/20 via 10.158.0.15 dev nm-xfrm-2065125 proto static metric 50
10.158.0.15 dev nm-xfrm-2065125 proto static scope link metric 50
200.100.20.0/24 dev wlo1 proto kernel scope link src 200.100.20.12 metric 600
200.100.20.1 dev wlo1 proto static scope link metric 50
На данный момент весь трафик должен проходить через 200.100.20.1, кроме 10.158.0.0/20 (ресурсы VPN), и именно этого я хочу, но как только я делаю traceroute youtube.com, трафик идет через 10.158.0.15:
Похоже, что 10.158.0.15 теперь является маршрутизатором по умолчанию.
Я не понимаю, что здесь происходит.
Адаптеры:
Ответ или решение
Игнорирует ли VPN маршруты?
Введение
Согласно вашему описанию, вы столкнулись с проблемой, когда трафик через VPN клиент StrongSwan на Ubuntu 24.04 идет не так, как вы ожидали. Основной вопрос заключается в том, почему некоторые пакеты, например, при трассировке до youtube.com, отправляются через 10.158.0.15, который, судя по всему, стал вашим основным шлюзом. Рассмотрим детали, чтобы глубже понять проблему и найти возможные решения.
Анализ конфигурации
-
Настройки VPN: Вы указали, что установлена галочка «Использовать это соединение только для ресурсов в его сети». Это предполагает, что весь трафик должен идти через стандартный шлюз (200.100.20.1) кроме обозначенных маршрутов для 10.158.0.0/20.
-
Маршрут после соединения:
- default via 200.100.20.1: Это ваш основной шлюз для всех маршрутов, кроме тех, что являются частью VPN.
- 10.158.0.0/20 via 10.158.0.15: Это маршрут, который вы настроили, чтобы трафик к VPN-ресурсам использовал шлюз 10.158.0.15, что корректно для вашей настройки.
Проблема с маршрутизацией
Несмотря на ваши настройки, вы наблюдаете, что общее подключение (например, к youtube.com) идет через 10.158.0.15 вместо ожидаемого 200.100.20.1. Это поведение может объясняться несколькими факторами:
-
Изменения в маршрутизации после подключения VPN: При установке VPN-соединения могут автоматически обновляться таблицы маршрутизации, и если маршрутизатор VPN настроен неправильно, он может изменить приоритеты маршрутов.
-
Метрики маршрутов: У вас есть два маршрута: один с метрикой 600 (200.100.20.1) и другой с метрикой 50 (10.158.0.15). Метрика маршрута 10.158.0.15 ниже, и это говорит системе о том, что он предпочтительный для маршрутизации.
-
Параметры конфигурации StrongSwan: Возможно, в конфигурации клиента есть опции, которые заставляют перенаправлять трафик по умолчанию через туннель.
Рекомендации по решению
-
Проверьте конфигурацию StrongSwan: Убедитесь, что используемые параметры и алгоритмы маршрутизации соответствуют вашим требованиям. В конфигурации должны быть указаны правильные опции для управления маршрутизацией трафика.
-
Измените метрики маршрутов: Если вы хотите, чтобы трафик к ресурсам за пределами VPN проходил через 200.100.20.1, вы можете вручную изменить метрики маршрутов. Поднимите метрики маршрута 10.158.0.15 выше 600.
-
Отключите автоматическое управление маршрутизацией: Если VPN клиент предлагает такую опцию, отключите автоматическую маршрутизацию. Это позволит вам вручную управлять маршрутами и избежать неожиданных изменений.
-
Дополнительные проверки: Используйте команды
ip route
иtraceroute
для мониторинга ваших маршрутов и поведения трафика. Это может помочь вам понять, как изменяются маршруты при подключении и отключении VPN.
Заключение
Ваша проблема с маршрутизацией может быть решена путем корректировки конфигурации и управления метриками маршрутов. Оценивайте свое текущее окружение и учтите все возможные причины неправильной маршрутизации. Подходя к решению системно, вы сможете добиться желаемого поведения трафика при использовании VPN в ваших сетевых конфигурациях.