2 Sob: Если политики нет, это верно для всех пакетов — none не совпадает с ipsec-policies, даже если они определены.
2 pe1chl: Я проверил твой пример. Он работает так же, если во втором правиле нет ipsec-policy=in,none:
add action=accept chain=input-inet comment=L2TP/IPsec dst-port=1701 ipsec-policy=in,ipsec protocol=udp
add action=reject chain=input-inet comment="L2TP no IPsec" dst-port=1701 log=yes log-prefix=l2tp protocol=udp reject-with=icmp-port-unreachable
Но если поменять порядок правил, то без ipsec-policy=in,none в первом правиле пример не работает как надо:
add action=reject chain=input-inet comment="L2TP no IPsec" dst-port=1701 ipsec-policy=in,none log=yes log-prefix=l2tp protocol=udp reject-with=icmp-port-unreachable
add action=accept chain=input-inet comment=L2TP/IPsec dst-port=1701 ipsec-policy=in,ipsec protocol=udp
Хмм… MRZ подтвердил в этой теме:
ipsec-policy=in,none — входящие пакеты, совпадающие с любой политикой до расшифровки
ipsec-policy=in,ipsec — входящие пакеты, совпадающие с любой политикой после расшифровки
ipsec-policy=out,none — исходящие пакеты, совпадающие с любой политикой после шифрования
ipsec-policy=out,ipsec — исходящие пакеты, совпадающие с любой политикой до шифрования
Это неправильно? Должно быть так:
ipsec-policy=in,none — любые входящие пакеты, исключая расшифрованные IPsec
ipsec-policy=in,ipsec — входящие пакеты, совпадающие с любой политикой после расшифровки
ipsec-policy=out,none — любые исходящие пакеты, исключая расшифрованные IPsec
ipsec-policy=out,ipsec — исходящие пакеты, совпадающие с любой политикой до шифрования