Перенаправление IPv6 трафика



  • Есть роутер с pfSense, обходной OpenVPN и список заблокированных адресов самизнаетекем.

    По IPv4 все настроено и работает как задумано: основной трафик идет через провайдера, а по списку заблокированных перенаправляется правилом фаервола на OpenVPN.

    Но т.к. в последнее время провайдеры начали блокировать еще и по IPv6, то нужно еще сделать обход по списку по IPv6 на OpenVPN.

    OpenVPN настроен, при подключении напрямую выдается IPv6 подсеть, и IPv6 нормально работает.
    Роутер нормально подключается к OpenVPN, ему выдается IPv6 подсеть и обходной IPv6 работает только на роутере если принудительно выставить шлюз.
    Если делать перенаправление трафика по аналогии с IPv4, то он не ходит.

    Есть ли возможность настроить?
    Хотелось бы разобраться, а не использовать простой топорный способ отключения использования IPv6.



  • Все должно работать. Вам нужно сделать policy-routing правило на фаерволе, как это было сделано для ipv4:

    b394d7db-9971-4eeb-9360-41c6aa4bbfea-image.png

    ipv6_test_alias описывает ipv6 префиксы , которые вы хотите зарулить в openvpn шлюз с адресом ipv6.
    В моем случае я просто добавил адрес гугла - 2a00:1450:4010:c0b::65
    У меня нет делегированных или смаршрутизированных ipv6 подсетей через openvpn (только ipv6 на туннельном интерфейсе), поэтому я настроил приватную подсеть на LAN и сделал NPt нат правило, чтобы все транслировать к ipv6 сети openvpn туннеля.

    Запускаю пинг с машины в LANе вместе с packet capture на openvpn туннельном интерфейсе фаервола, вижу уходящий в туннель трафик:

    10:51:24.473896 IP6 XXXXXXXXXXXX:a1cf:c525:94b8:2f22 > 2a00:1450:4010:c0b::65: HBH ICMP6, echo request, seq 46, length 40



  • Вот и я пробовал через NPt настраивать, но почему то не получалось, трафик не ходил, может что-то где-то не так подставил, хотя вроде все правильно прописывал.
    Первый Address - префикс, который выдается оператором, второй - подсеть OpenVPN.
    Аннотация 2019-04-20 015340.png

    Правило естественно сделано.
    Но, когда добавил в Firewall-NAT-Outbound правило для IPv6 интерфейса OpenVPN все прекрасно заработало. В итоге получилось что всем клиентам раздаются IPv6 оператора и по умолчанию они работают с ним и доступны из интернета по этим адресам, а на заблокированные адреса по списку уходят через NAT на OpenVPN. Доступа к клиентам по IPv6 подсети OpenVPN не требуется.
    В моем случае плюс этого метода в том, что оператор не выдает статичные /64 префиксы, при переподключении или по истечении сессии он меняется, а т.к. NPt требует одинаковые размеры входящей и исходящей подсетей, то приходилось бы часто корректировать. А в случае с NAT можно полностью операторскую подсеть размером в /32 забить.


Log in to reply