Я использую собственный маршрутизатор (Ubuntu 18.04), в котором используется модем LTE / 4G в «режиме моста» (подключен через Ethernet). Мой интернет-провайдер использует DHCP и раздает адреса 10.x, которые назначаются внешнему сетевому адаптеру маршрутизатора.
У меня также есть StrongSwan, настроенный на маршрутизаторе, и когда я запускаю VPN, все работает нормально, конфигурация выглядит следующим образом:
conn ikev2-rw
right=my-vpn-server
rightid=@my-vpn-server
rightsubnet=0.0.0.0/0
rightauth=pubkey
leftsourceip=%config
leftid=centaurus
leftauth=psk
auto=start
При первом запуске это работает нормально, однако через некоторое время связь падает, я думаю, это связано с тем, что маршрутизатор не может обновить аренду DHCP. Я вижу много из них в своих журналах через несколько часов после первоначальной аренды DHCP:
Sep 07 20:54:05 centaurus dhclient[1378]: DHCPREQUEST of 10.3.22.61 on enp4s0 to 10.3.22.1 port 67 (xid=0x18dcd11)
Sep 07 20:54:15 centaurus dhclient[1378]: DHCPREQUEST of 10.3.22.61 on enp4s0 to 10.3.22.1 port 67 (xid=0x18dcd11)
Sep 07 20:54:26 centaurus dhclient[1378]: DHCPREQUEST of 10.3.22.61 on enp4s0 to 10.3.22.1 port 67 (xid=0x18dcd11)
Я думаю, что происходит то, что VPN мешает работе DCHP, поэтому договор аренды не продлевается с моим интернет-провайдером. Если я отключу VPN, а затем отключу / включу внешний интерфейс, все вернется в рабочее состояние.
Какие-нибудь стандартные методы борьбы с этим?
С участием rightsubnet=0.0.0.0/0
вы туннелируете весь трафик на VPN-сервер. Это включает в себя сообщения DHCP (UDP с портов 68 по 67).
Чтобы исключить этот пропуск / пропуск трафика, можно настроить политики IPsec. Либо исключите всю локальную сеть, либо только трафик DHCP:
conn bypass-lan
left=127.0.0.1
leftsubnet=10.0.0.0/8
rightsubnet=10.0.0.0/8
type=passthrough
auto=route
Это исключает весь диапазон 10.x из VPN. Чтобы исключить только трафик DHCP, добавьте [udp/68]
к leftsubnet
и [udp/67]
к rightsubnet
.
Установка политик обхода для локально подключенных сетей также может быть автоматизирована с помощью обходная сеть плагин.