Доброго времени.
Имеется две корпоративные сети (em0) связанные через интернет (em1) через два шлюза (freebsd01 и 02).
freebsd01# ifconfig
em0: inet 192.168.192.151 netmask 0xffffff00 broadcast 192.168.192.255
em1: inet 10.0.0.1 netmask 0xff000000 broadcast 10.255.255.255
lo0: inet 127.0.0.1 netmask 0xff000000
gif0: tunnel inet 10.0.0.1 -> 10.10.10.1
inet 192.168.192.151 -> 192.168.194.1 netmask 0xffffffff
freebsd02# ifconfig
em0: inet 192.168.194.1 netmask 0xffffff00 broadcast 192.168.194.255
em1: inet 10.10.10.1 netmask 0xff000000 broadcast 10.255.255.255
lo0: inet 127.0.0.1 netmask 0xff000000
gif0: tunnel inet 10.10.10.1 -> 10.0.0.1
inet 192.168.194.1 -> 192.168.192.151 netmask 0xffffffff
Соответственно установлен gif туннель во внутренние сети через внешние, установлен и настроен racoon, правильно забита база SPD, всё работает.
Но вот когда на одном шлюзов пингуешь внутреннюю сеть другого шлюза:
freebsd01: ping -S 192.168.192.151 192.168.194.1
И делаем tcpdump -pni gif0, то получаем следующее:
freebsd01 # tcpdump-pni gif0
IP192.168.192.151> 192.168.194.1: ICMP echo request, id 50693, seq 14, length 64
IP 10.10.10.1> 10.0.0.1: IP 192.168.194.1> 192.168.192.151: ICMP echo reply, id 50693, seq 14, length 64 (ipip-proto-4)
freebsd02 # tcpdump-pni gif0
IP 10.0.0.1> 10.10.10.1: IP 192.168.192.151> 192.168.194.1: ICMP echo request, id 50693, seq 150, length 64 (ipip-proto-4)
IP 192.168.194.1> 192.168.192.151: ICMP echo reply, id 50693, seq 150, length 64
Оказывается всегда входящие пакеты появляются инкапсулированными, на обоих шлюзах симметрично.
Если отключить IPSec командой setkey -PF на обоих шлюзах - то всё ходит красиво.
Этот бок проявляется в FreeBSD начиная с 7-й версии.
В 6-й всё работает отлично, но это не позволяет связать 6-ю и 7-ю версии(ping идёт а больше ничего не работает).
Возможно кто либо сталкивался с подобной ситуацией?
Есть ли решение?
Спасибо.
P.S. На всякий случай приведу таблици маршрутизации:
freebsd01# netstat -rn
Routing tablesInternet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.192.1 UGS 0 0 em0
10.0.0.0/8 link#2 U 1 91 em1
10.0.0.1 link#2 UHS 0 0 lo0
127.0.0.1 link#3 UH 0 26 lo0
192.168.192.0/24 link#1 U 2 245 em0
192.168.192.151 link#1 UHS 0 0 lo0
192.168.194.0/24 192.168.194.1 UGS 0 0 gif0
192.168.194.1 link#4 UH 0 27 gif0
freebsd02# netstat -rn
Routing tablesInternet:
Destination Gateway Flags Refs Use Netif Expire
10.0.0.0/8 link#2 U 1 690 em1
10.10.10.1 link#2 UHS 0 0 lo0
127.0.0.1 link#3 UH 0 0 lo0
192.168.192.0/24 192.168.192.151 UGS 0 225 gif0
192.168.192.151 link#4 UH 0 12 gif0
192.168.194.0/24 link#1 U 0 0 em0
192.168.194.1 link#1 UHS 0 0 lo0