Страница 1 из 1

IPSeс через gif интерфейс

Добавлено: 2010-01-25 11:53:46
vodvorezlaya
Доброго времени.
Имеется две корпоративные сети (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 tables

Internet:
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 tables

Internet:
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

Re: IPSeс через gif интерфейс

Добавлено: 2010-01-25 12:21:17
pimlab
а что при пинге tcpdump на em1 показывает?

Re: IPSeс через gif интерфейс

Добавлено: 2010-01-25 12:59:46
vodvorezlaya
pimlab писал(а):а что при пинге tcpdump на em1 показывает?
ESP пакеты, как и должно.

Код: Выделить всё

11:57:10.343503 IP 10.0.0.1 > 10.10.10.1: ESP(spi=0x00f21634,seq=0x1e1), length 140
11:57:10.344309 IP 10.10.10.1 > 10.0.0.1: ESP(spi=0x0a3bbf80,seq=0x29aa), length 140