Вопрос или проблема
Я пытаюсь подключить strongSwan к устройству Lancom. Соединение установлено и, кажется, работает нормально.
Устройство Lancom пытается отправлять пакеты через туннель, но со стороны strongSwan пакеты не возвращаются.
Я выяснил, что маршрутизация на этом устройстве, похоже, не работает, даже когда все выглядит правильно.
ip rule
0: from all lookup local
220: from all lookup 220
32766: from all lookup main
32767: from all lookup default
ip route show table 220
192.168.100.0/24 via 192.168.1.65 dev wan
ip route show
default via XX.XXX.176.1 dev wan proto static src XX.XXX.181.220
XX.XXX.176.0/21 dev wan proto kernel scope link src XX.XXX.181.220
192.168.1.0/24 dev br-lan proto kernel scope link src 192.168.1.1
ip route show to match 192.168.100.253
default via 91.136.176.1 dev wan proto static src 91.136.181.220
Я не понимаю, почему он использует маршрут по умолчанию для этого IP.
У кого-нибудь есть подсказки для меня?
Ответ или решение
Для решения проблемы с маршрутизацией между strongSwan и устройством Lancom необходимо внимательно изучить конфигурацию сетевых маршрутов и правил маршрутизации. Проблема, как вы описали, заключается в том, что пулы трафика передаются от устройства Lancom по туннелю, но обратный трафик от strongSwan не возвращается. Это часто связано с неправильной настройкой маршрутов или политик IPSEC на сервере strongSwan.
Теория (T):
StrongSwan обычно используется для создания защищенных VPN-туннелей между различными сетевыми устройствами. Когда туннель установлен, маршрутизация играет ключевую роль в передаче и возврате пакетов. Все передаваемые и возвращаемые пакеты должны следовать маршрутам, которые правильно настроены для IPSEC-интерфейсов. В Linux действует политика роутинга на основе правил (policy-based routing), которая позволяет направлять трафик на основании источника пакета, вместо использования стандартной таблицы маршрутизации.
Ваш вывод команд ip rule
и ip route
показывает несколько важных моментов:
-
IP Rules (Правила):
- Существуют несколько таблиц маршрутизации:
local
,220
,main
иdefault
. - Каждая из них может влиять на маршрутизацию и, если не настроено правильно, направляет трафик может не туда, куда нужно.
- Существуют несколько таблиц маршрутизации:
-
Routing Tables (Таблицы маршрутизации):
- Таблица
220
содержит маршрут192.168.100.0/24 via 192.168.1.65 dev wan
. - Основная таблица маршрутизации (
main
) не содержит необходимых маршрутов для192.168.100.0/24
, и, соответственно, указан неправильный маршрут для сетевого адреса, который не попадает в диапазон.
- Таблица
-
Маршрутизация на основе цели:
- Использование команды
ip route show to match 192.168.100.253
показывает, что для этого адреса выбран дефолтный маршрут. Это указывает на то, что маршрутизатор выбирает маршрут по умолчанию, так как вmain
таблице нет специфического маршрута для этого адреса.
- Использование команды
Пример (E):
Рассмотрим пример правильной настройки для маршрутизации в IPSEC-туннелях:
-
На устройстве с strongSwan добавьте маршруты в соответствующую таблицу, которые охватывают нужные сети в таблице указав в ручную через команду:
ip route add 192.168.100.0/24 via 192.168.1.65 dev wan table 220
-
Убедитесь, что приоритет таблицы
220
выше, чем у дефолтной таблицы, чтобы маршруты в ней были предпочитаемыми для конкретной сети. Вы можете это сделать путем внесения изменений вip rule
.ip rule add from all lookup 220 priority 100
Применение (A):
Теперь вам следует проверить несколько аспектов:
- Убедитесь, что ваша таблица маршрутизации
220
имеет более высокий приоритет, чтобы трафик для цели192.168.100.0/24
направлялся по нужным маршрутам. - Проверьте конфигурацию strongSwan на наличие любых политик обязывающих использовать конкретные интерфейсы и маршруты.
- Убедитесь, что на устройстве strongSwan не заблокирован трафик со стороны брандмауэра.
- Также проверьте, чтобы маршруты от Lancom устройства были прописаны корректно и не содержали лишних ограничений.
Кроме того, учитывая характер проблемы, может быть полезным использование команд для мониторинга маршрутизации и для отладки IPSEC сессий через strongSwan:
tcpdump -i wan -n esp
Эта команда поможет вам отладить, передается ли шифрованный трафик правильным путем, и не создается ли патовая ситуация из-за неправильной конфигурации на одном из этапов. Удостоверьтесь в особое внимание к ведению логов strongSwan: они могут вскрыть проблемы в обработке пакетов.
Пройдя все шаги и проверив конфигурации, вы сможете точно определить проблему с маршрутизацией и исправить ее, что приведет к нормальному функционированию VPN туннеля между strongSwan и вашим Lancom устройством.