[freebsd] Туннель с клиентом за натом

Eugene Grosbein eugen at grosbein.net
Wed Jun 22 06:38:36 EEST 2022


22.06.2022 9:34, Nick Kostirya via freebsd пишет:
> Привет.
> 
> Вопрос про туннель с клиентом за натом.
> 
> 
> Сервер: X.X.X.X                 192.168.12.1  (FreeBSD 12.3)
> NAT:    Y.Y.Y.Y   192.168.0.1
> Слиент:           192.168.0.5   192.168.12.5  (FreeBSD 12.3)
> 
> 
> На сервере (X.X.X.X):
> 
> ifconfig gif0 create
> ifconfig gif0 inet tunnel X.X.X.X Y.Y.Y.Y
> ifconfig gif0 inet 192.168.12.1/24 192.168.12.5
> 
> 
> На клиенте (192.168.0.5):
> 
> ifconfig gif0 create
> ifconfig gif0 inet tunnel 192.168.0.5 X.X.X.X
> ifconfig gif0 inet 192.168.12.5/24 192.168.12.1
> 
> 
> TCP - работает, а вот UDP и ICMP дают дубликати.
> 
> При этом tcpdump показывает, что UDP уже на gif0 интерфейсе сервера, а ICMP echo дает дубликати ответа, видные tcpdump на клиенте, если пинговать с клиента и наоборот.
> 
> Аналогичная картина наблюдается для ipsec.
> 
> Как это объяснить и исправить?
> 
> Спасибо.

не надо художественно излагать показания tcpdump. Их надо показывать.
И ещё очень важно, что за роутер делает NAT. Потому что не любой NAT отроутит инкапсуляцию gif/IPIP,
а если она дополнительно обёрнута ещё во что-то типа UDP (как это делает IPSec NAT-T),
то это надо тоже явным образом описывать.

Потому что как сейчас описано - ничо не понятно.




More information about the freebsd mailing list