Столкнулся со странной проблемой. Не то, чтобы я был «суперэкстраспецом» в сетевых делах, но начинал еще с FreeBSD 1.1.5.1 и Xenix286. Что называется: «не первый день замужем». Однако, мозгов не хватает. Почему-то, вполне симметричная конструкция, начинает работать не симметрично. На поднятом ipsec-туннеле пакетики из одной локалки находят нормальный путь через туннель (и, ЧСХ, обратно!). Из другой локалки - вместо туннеля выскакивают по дефолту. Пробовал отслеживать пакеты с помощью ip xfrm monitor или разнообразными конструкциями типа:
iptables -t filter -I FORWARD -m addrtype ! --dst-type LOCAL -m policy --pol ipsec --dir in -j NFLOG --nflog-group 5
но к особым результата это не привело. Может что-нибудь подскажет направление поиска?
Есть две локалки. Назовем их «офис» (192.168.33.0/24) и «филиал» (192.168.0.0/24). Роутятся во внешний мир линуксовыми гейтами.
Офис: ubuntu 18.04, сетка - 192.168.33.0/24, внешний ip - a.b.c.182
филиал: ubuntu 20.04, сетка - 192.168.0.0/24, внешний ip - x.y.z.215
На обоих машинках поднят NAT. и ipsec (strongsawn). Полиси выглядят симметрично:
Офис:
root@gw:/# ip x p
src 192.168.33.0/24 dst 192.168.0.0/24
dir out priority 375423
tmpl src a.b.c.182 dst x.y.z.215
proto esp spi 0xc0f0c2f3 reqid 11 mode tunnel
src 192.168.0.0/24 dst 192.168.33.0/24
dir fwd priority 375423
tmpl src x.y.z.215 dst a.b.c.182
proto esp reqid 11 mode tunnel
src 192.168.0.0/24 dst 192.168.33.0/24
dir in priority 375423
tmpl src x.y.z.215 dst a.b.c.182
proto esp reqid 11 mode tunnel
...
Филиал:
root@gw-forest:/# ip x p
src 192.168.0.0/24 dst 192.168.33.0/24
dir out priority 375423
tmpl src x.y.z.215 dst a.b.c.182
proto esp spi 0xcbca52bb reqid 1 mode tunnel
src 192.168.33.0/24 dst 192.168.0.0/24
dir fwd priority 375423
tmpl src a.b.c.182 dst x.y.z.215
proto esp reqid 1 mode tunnel
src 192.168.33.0/24 dst 192.168.0.0/24
dir in priority 375423
tmpl src a.b.c.182 dst x.y.z.215
proto esp reqid 1 mode tunnel
...
Можно посмотреть и SA. Они тоже выглядят симметрично. НО! Если идти из «филиала» на внутренний интерфейс «офисного» рутера, то получаем:
root@gw-forest:~# tracepath 192.168.33.1
1?: [LOCALHOST] pmtu 1422
1: 192.168.33.1 42.322ms reached
1: 192.168.33.1 41.594ms reached
Resume: pmtu 1422 hops 1 back 1
root@gw-forest:~#
А вот если из «офиса» в филиал, то:
root@gw:~# tracepath 192.168.0.1
1?: [LOCALHOST] pmtu 1422
1: 181.c.b.a.provider.ru 0.701ms
1: 181.c.b.a.provider.ru 0.696ms
2: bla.bla.bla.provider.ru 0.884ms
...
Т.е., вылетаем наружу, а не в туннель ¯\_(ツ)_/¯ !