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

DHCP для VPN / маршрутизатора

Я использую собственный маршрутизатор (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.

Установка политик обхода для локально подключенных сетей также может быть автоматизирована с помощью обходная сеть плагин.