Какая-то странная проблема с инкапсуляцией gre в ipip.
Есть IPSec-соединение с определенной компанией:
X.X.X.X - мой IPSec-пир (реальник)
A.A.A.A - сервис реальным адресом (реальник)
Y.Y.Y.Y - их IPSec-пир (реальник)
Z.Z.Z.Z - их GRE шлюз (реальник)
10.0.0.0/24 - их терминальная сеть находящаяся за gre.
Задача: терминалы из их сети 10.0.0.0/24 должны ходить на адрес A.A.A.A через мой роутер X.X.X.X. Сеть свою они подают через IPSec-туннель, внутри которого gre с реальным адресом Z.Z.Z.Z (без туннельных p2p-адресов). Зачем делать такую мудрёную двойную инкапсуляцию — не спрашивайте, такие требования той компании.
И вроде бы все должно работать:
Код: Выделить всё
# ifconfig gre0
gre0: flags=9051<UP,POINTOPOINT,RUNNING,LINK0,MULTICAST> metric 0 mtu 1476
tunnel inet X.X.X.X --> Y.Y.Y.Y
# ifconfig gif1
gif1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
tunnel inet X.X.X.X --> Z.Z.Z.Z
options=1<ACCEPT_REV_ETHIP_VER>
# netstat -rn | grep gre
10.0.0.0/24 gre0 US 0 4191 gre0
Код: Выделить всё
10:27:58.028806 (authentic,confidential): SPI 0x0d640bcb: IP Y.Y.Y.Y > X.X.X.X: IP Y.Y.Y.Y > X.X.X.X: GREv0, length 48: IP 10.0.0.1.7337 > A.A.A.A.10008: Flags [S], seq 14633856, win 32120, options [[|tcp] (ipip-proto-4)
10:27:58.029544 (authentic,confidential): SPI 0x9e06a435: IP X.X.X.X > Y.Y.Y.Y: GREv0, length 48: IP A.A.A.A.10008 > 10.0.0.1.7337: Flags [S.], seq 1966363414, ack 14633857, win 8192, options [mss 1460], length 0
10:27:58.029552 (authentic,confidential): SPI 0x9e06a435: IP X.X.X.X > Y.Y.Y.Y: IP X.X.X.X > Y.Y.Y.Y: GREv0, length 48: IP A.A.A.A.10008 > 10.0.0.1.7337: Flags [S.], seq 1966363414, ack 14633857, win 8192, options [[|tcp] (ipip-proto-4)
10:27:58.628570 (authentic,confidential): SPI 0x0d640bcb: IP Y.Y.Y.Y > X.X.X.X: IP Y.Y.Y.Y > X.X.X.X: GREv0, length 44: IP 10.0.0.1.7337 > A.A.A.A.10008: Flags [.], ack 1, win 32120, length 0 (ipip-proto-4)
10:28:00.829033 (authentic,confidential): SPI 0x0d640bcb: IP Y.Y.Y.Y > X.X.X.X: IP Y.Y.Y.Y > X.X.X.X: GREv0, length 137: IP 10.0.0.1.7337 > A.A.A.A.9990: Flags [FSRP.W], seq 667402656:667402725, ack 2153916852, win 64615, options [[|tcp] (ipip-proto-4)
10:28:08.622620 (authentic,confidential): SPI 0x9e06a435: IP X.X.X.X > Y.Y.Y.Y: GREv0, length 44: IP A.A.A.A.10008 > 10.0.0.1.7337: Flags [F.], seq 1, ack 1, win 64240, length 0
10:28:08.622632 (authentic,confidential): SPI 0x9e06a435: IP X.X.X.X > Y.Y.Y.Y: IP X.X.X.X > Y.Y.Y.Y: GREv0, length 44: IP A.A.A.A.10008 > 10.0.0.1.7337: Flags [F.], seq 1, ack 1, win 64240, length 0 (ipip-proto-4)
10:28:09.808942 (authentic,confidential): SPI 0x0d640bcb: IP Y.Y.Y.Y > X.X.X.X: IP Y.Y.Y.Y > X.X.X.X: GREv0, length 44: IP 10.0.0.1.7337 > A.A.A.A.10008: Flags [.], ack 2, win 32120, length 0 (ipip-proto-4)
10:28:10.449265 (authentic,confidential): SPI 0x0d640bcb: IP Y.Y.Y.Y > X.X.X.X: IP Y.Y.Y.Y > X.X.X.X: GREv0, length 137: IP 10.0.0.1.7337 > A.A.A.A.10008: Flags [P.], ack 1, win 32120, length 93 (ipip-proto-4)
10:28:10.449672 (authentic,confidential): SPI 0x9e06a435: IP X.X.X.X > Y.Y.Y.Y: GREv0, length 44: IP A.A.A.A.10008 > 10.0.0.1.7337: Flags [R.], seq 2, ack 94, win 0, length 0
10:28:10.449679 (authentic,confidential): SPI 0x9e06a435: IP X.X.X.X > Y.Y.Y.Y: IP X.X.X.X > Y.Y.Y.Y: GREv0, length 44: IP A.A.A.A.10008 > 10.0.0.1.7337: Flags [R.], seq 2, ack 94, win 0, length 0 (ipip-proto-4)
