У меня есть брандмауэр / маршрутизатор (без NAT).
Я погуглил и увидел противоречивые ответы. Кажется, UDP 500 - самый распространенный. Но другие сбивают с толку. 1701, 4500.
Некоторые говорят, что мне нужно также разрешить gre 50, 47, 50 и 51.
Хорошо, какие порты являются правильными для IPSec / L2TP для работы в маршрутизируемой среде без NAT? то есть я хочу использовать встроенный клиент Windows для подключения к VPN за этим маршрутизатором / брандмауэром.
Возможно, здесь хороший ответ - указать, какие порты открывать в разных ситуациях. Думаю, это было бы полезно многим.
Вот порты и протоколы:
Кроме того, порт 1701 используется сервером L2TP, но не следует разрешать входящие к нему подключения извне. Существует специальное правило брандмауэра, разрешающее только трафик, защищенный IPSEC, входящий на этот порт.
Если вы используете IPTABLES и ваш L2TP-сервер находится непосредственно в Интернете, вам нужны следующие правила:
iptables -A INPUT -i $EXT_NIC -p udp --dport 500 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -p udp --dport 4500 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -p 50 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -p 51 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -p udp -m policy --dir in --pol ipsec -m udp --dport 1701 -j ACCEPT
куда $EXT_NIC
имя вашей внешней сетевой карты, например ppp0.
Ipsec требует UDP-порт 500 + IP-протоколы 50 и 51, но вместо этого вы можете использовать NAt-T, которому нужен UDP-порт 4500. С другой стороны, L2TP использует UDP-порт 1701. Если вы пытаетесь передать трафик ipsec через «обычный» Wi-Fi -Fi-роутер и нет такой опции, как сквозной IPSec, я рекомендую открыть порты 500 и 4500. По крайней мере, так он работает на моем. Надеюсь это поможет.