Доброго времени.
Имеется две корпоративные сети (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
> правильно забита база SPD, всё работает.вот в этом есть серьезные сомнения
>> правильно забита база SPD, всё работает.
>
>вот в этом есть серьезные сомненияДавайте же это проверим:
freebsd01# setkey -D
10.0.0.1 10.10.10.1
esp mode=tunnel spi=178354576(0x0aa17990) reqid=0(0x00000000)
E: 3des-cbc ad1f642b 425bab42 506874b7 94e0585d 6c950a47 503fc200
A: hmac-sha1 66dafe73 d9ecb60e a2edf7bb 8cf7faad 317756e3
seq=0x00000007 replay=4 flags=0x00000000 state=mature
created: Jan 25 18:00:48 2010 current: Jan 25 18:02:07 2010
diff: 79(s) hard: 28800(s) soft: 23040(s)
last: Jan 25 18:00:59 2010 hard: 0(s) soft: 0(s)
current: 1576(bytes) hard: 0(bytes) soft: 0(bytes)
allocated: 7 hard: 0 soft: 0
sadb_seq=1 pid=1177 refcnt=2
10.10.10.1 10.0.0.1
esp mode=tunnel spi=152055419(0x09102e7b) reqid=0(0x00000000)
E: 3des-cbc 4da4f91e 67677355 484aa826 865348df d5a01133 990489ff
A: hmac-sha1 5455c094 4e579e5a a6a1cdd5 40773f62 819e50d2
seq=0x0000002c replay=4 flags=0x00000000 state=mature
created: Jan 25 18:00:48 2010 current: Jan 25 18:02:07 2010
diff: 79(s) hard: 28800(s) soft: 23040(s)
last: Jan 25 18:02:06 2010 hard: 0(s) soft: 0(s)
current: 5777(bytes) hard: 0(bytes) soft: 0(bytes)
allocated: 44 hard: 0 soft: 0
sadb_seq=0 pid=1177 refcnt=1
freebsd02# setkey -D
10.10.10.1 10.0.0.1
esp mode=tunnel spi=152055419(0x09102e7b) reqid=0(0x00000000)
E: 3des-cbc 4da4f91e 67677355 484aa826 865348df d5a01133 990489ff
A: hmac-sha1 5455c094 4e579e5a a6a1cdd5 40773f62 819e50d2
seq=0x0000006a replay=4 flags=0x00000000 state=mature
created: Jan 25 18:00:49 2010 current: Jan 25 18:03:01 2010
diff: 132(s) hard: 28800(s) soft: 23040(s)
last: Jan 25 18:03:01 2010 hard: 0(s) soft: 0(s)
current: 20992(bytes) hard: 0(bytes) soft: 0(bytes)
allocated: 106 hard: 0 soft: 0
sadb_seq=1 pid=1027 refcnt=2
10.0.0.1 10.10.10.1
esp mode=tunnel spi=178354576(0x0aa17990) reqid=0(0x00000000)
E: 3des-cbc ad1f642b 425bab42 506874b7 94e0585d 6c950a47 503fc200
A: hmac-sha1 66dafe73 d9ecb60e a2edf7bb 8cf7faad 317756e3
seq=0x0000003c replay=4 flags=0x00000000 state=mature
created: Jan 25 18:00:49 2010 current: Jan 25 18:03:01 2010
diff: 132(s) hard: 28800(s) soft: 23040(s)
last: Jan 25 18:03:01 2010 hard: 0(s) soft: 0(s)
current: 8660(bytes) hard: 0(bytes) soft: 0(bytes)
allocated: 60 hard: 0 soft: 0
sadb_seq=0 pid=1027 refcnt=1
freebsd01# tcpdump -pni em1
18:04:37.586228 IP 10.10.10.1 > 10.0.0.1: ESP(spi=0x09102e7b,seq=0xc1), length 140
18:04:37.586552 IP 10.0.0.1 > 10.10.10.1: ESP(spi=0x0aa17990,seq=0x83), length 140
18:04:37.587825 IP 10.10.10.1 > 10.0.0.1: ESP(spi=0x09102e7b,seq=0xc2), length 212
18:04:37.699102 IP 10.0.0.1 > 10.10.10.1: ESP(spi=0x0aa17990,seq=0x84), length 92