Два шлюза в LAN.
- циска, внешний IP, скажем, a.b.c.d.
- FreeBSD, внешние IP e.f.g.h и i.j.k.l.
Задача - связать обе LAN туннелем, причем так, чтобы при падении одного из внешних подключений FreeBSD, трафик между сетями ходил через другое подключение.
Идея такая: связать их через два ipip-туннеля, настроить IPSec, и запустить там и там OSPF
Сделал так:
interface Tunnel0
description Tunnel
ip address 10.0.0.2 255.255.255.252
ip mtu 1280
tunnel source a.b.c.d
tunnel destination e.f.g.h
tunnel mode ipip
!
interface Tunnel1
description Reserve tunnel
ip address 10.0.0.6 255.255.255.252
ip mtu 1280
tunnel source a.b.c.d
tunnel destination i.j.k.l
tunnel mode ipip
На FreeBSD соответственно два gif-интерфейса.
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
tunnel inet e.f.g.h --> a.b.c.d
inet 10.0.0.1 --> 10.0.0.2 netmask 0xfffffffc
gif1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
tunnel inet i.j.k.l --> a.b.c.d
inet 10.0.0.5 --> 10.0.0.6 netmask 0xfffffffc
Потом сверху на это все будет наложен IPSec, сейчас дело не в этом. Делов том, что через gif0 (ping 10.0.0.2) все работает, через gif1 (ping 10.0.0.6) - нет.
tcpdump показывает, что если делать пинг с циски, пакеты на i.j.k.l приходят, но ответных не уходит.
Если делать пинг с FreeBSD, пакеты и уходят и приходят, но до gif1 не доезжают. Это видно и по счетчикам ipfw.
Знакомая ситуация? Если да, то как лечить?
FreeBSD 4.9-RELEASE-p13
Cisco IOS C1700-K9SY7-M, Version 12.2(11)T11