Прошу помощи.
Решил поиграться с OSPF в IPSEC.
Цель, пока как минимум, отдать соседу маршрут.
Имеем freebsd8.2 на обоих концах, фаервол ipfw, ipsec-tools-0.8.0_3, quagga-0.99.22, gif интерфейсы на обоих роутерах для ipsec
Т.к. соседи должны находится в отдной подсети (это как я понял ospf) перенастроил gif и ipsec в тестовой связке.
gif:
Код: Выделить всё
gif1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
tunnel inet yyy.yyy.yyy.yyy --> xxx.xxx.xxx.xxx
inet 192.168.200.2 --> 192.168.200.1 netmask 0xffffffff
options=1<ACCEPT_REV_ETHIP_VER>
Код: Выделить всё
spdadd 192.168.200.2/32 192.168.200.1/32 ipencap -P out ipsec ipcomp/transport/yyy.yyy.yyy.yyy-xxx.xxx.xxx.xxx/require esp/transport/yyy.yyy.yyy.yyy-xxx.xxx.xxx.xxx/require;
spdadd 192.168.200.1/32 192.168.200.2/32 ipencap -P in ipsec ipcomp/transport/xxx.xxx.xxx.xxx-yyy.yyy.yyy.yyy/require esp/transport/xxx.xxx.xxx.xxx-yyy.yyy.yyy.yyy/require;
После того как туннель поднимается с обоих маршрутизаторов я как минимум вижу противоположные интерфейсы ipsec.
Т.е. можно считать что туннель работает.
Правила ipfw
Код: Выделить всё
${fw} add allow all from yyy.yyy.yyy.yyy to xxx.xxx.xxx.xxx out via ${ext_if}
${fw} add allow all from xxx.xxx.xxx.xxx to yyy.yyy.yyy.yyy in via ${ext_if}
${fw} add allow all from any to any via enc0
${fw} add allow all from any to any via gif1
Вот дальше немного начал путаться.
Установил quagga, сконфигурил
ospfd.conf:
Код: Выделить всё
hostname host2
password 8 xxxxx
enable password 8 xxxxx
log file /var/log/quagga/ospfd.log
service password-encryption
!
interface gif0
!
interface gif1
description MKH
ip ospf cost 10
ip ospf mtu-ignore
! ip ospf network point-to-point
!
interface ipfw0
!
interface lo0
!
interface pflog0
!
interface pfsync0
!
interface re0
!
interface rl0
!
router ospf
ospf router-id 192.168.200.2
redistribute connected
redistribute static
neighbor 192.168.200.1
network 192.168.2.0/24 area 0.0.0.0
!
line vty
!
Код: Выделить всё
hostname office
password 8 bJkx0b/Pk09wQ
enable password 8 4DXNLRc1UB7Og
log file /var/log/quagga/zebra.log informational
service password-encryption
!
interface gif0
ipv6 nd suppress-ra
!
interface gif1
description host2
ip address 192.168.200.2/32
ipv6 nd suppress-ra
!
interface ipfw0
ipv6 nd suppress-ra
!
interface lo0
!
interface pflog0
ipv6 nd suppress-ra
!
interface pfsync0
ipv6 nd suppress-ra
!
interface re0
ipv6 nd suppress-ra
!
interface rl0
ipv6 nd suppress-ra
!
ip forwarding
!
line vty
!
При такой конфигурации соседи не видят друг друга, не могу понять в чем причина, то ли туннель криво строится, то ли ipfw блокирует, то ли quagga криво настроена (последнее более вероятно).
Т.е. show ip ospf neighbor не показывает соседа.
К сожалению настраиваю ospf первый раз, но думаю что не последний.
Подскажите куда можно покопать согласно конфигам, что бы поднять OSPF.
Спасибо.