>3.) Необходимо чтобы серверы маршрутизации увидели друг друга. Но они не видят!!!
>Удалённый сервер не берёт маршруты с головного сервера, где все они
>статически прописаны. Приходится и на нём статику прописывать. В результате вообще
>теряется смысл динамики!!!! Как решить данные проблемы?
Если не ошибаюсь, у меня получилось решить похожую проблему. Правда, мне требуется большего. Что использовано: Linux, IPSec (openswan/freeswan) + GRE (iproute2) + OSPF(quagga-0.98.5). Думаю, что OS и реализация IPSec не принципиальны.
Как реализовано:
Каждый из офисов (центральный и удаленные) подключены к 2 провайдерам. От каждого удаленного офиса идет пара VPN-ов (через разных провайдеров) на центральный офис, но не между собой. Поверх каждого VPN брошен GRE туннел. OSPF поднят с обоих сторон (в центральном и удаленном офисе). Это конфиг (может не совсем полный, но должен быть рабочий) для центрального офиса...
По поводу GRE туннелей
[sergeil@homedesk ~]$ ip tunnel show
gre0: gre/ip remote any local any ttl inherit nopmtudisc
gre101000: gre/ip remote 172.31.101.1 local 172.31.101.5 ttl 100
gre101008: gre/ip remote 172.31.101.9 local 172.31.101.13 ttl 100
gre101016: gre/ip remote 172.31.101.17 local 172.31.101.5 ttl 100
gre101024: gre/ip remote 172.31.101.25 local 172.31.101.13 ttl 100
[root@homedesk quagga]# cat zebra.conf
hostname homedesk-zebra
!
password zebra
enable password xxxxxxxx
!
debug zebra events
debug zebra kernel
!
interface lo
!
interface eth0
description lan interface 192.168.100.100/24
interface eth1
interface eth2
interface ipsec0
description primary ipsec channel by eth2
interface ipsec1
description secondary ipsec channel by eth1
!
interface ipsec2
shutdown
interface ipsec3
shutdown
!
interface gre0
description default gre device
shutdown
!
interface gre101000
description multi-VPN, siteID=101, Addr=172.16.101.2/30
interface gre101008
description multi-VPN, siteID=101, Addr=172.16.101.10/30
!
interface gre101016
description multi-VPN, siteID=101, Addr=172.16.101.18/30
interface gre101024
description multi-VPN, siteID=101, Addr=172.16.101.26/30
!
!
log file /var/log/quagga/zebra.log
line vty
! -*- ospf -*-
! -------------------------------------------
! OSPFd configuration file
!--------------------------------------------
hostname homedesk-ospf
!
password xxx
enable password xxxxxxxx
!
interface lo
!
interface ipsec0
!
interface eth0
interface eth1
interface eth2
!
! Пара туннелей для первого удаленного офиса.
interface gre101000
ip ospf network point-to-multipoint
ip ospf cost 50
ip ospf authentication-key xxxxxxxxx
interface gre101008
ip ospf network point-to-multipoint
ip ospf cost 50
ip ospf authentication-key xxxxxxxxx
!
! Слудующая пара тунелей для второго удаленного офиса.
interface gre101016
ip ospf network point-to-multipoint
ip ospf cost 50
ip ospf authentication-key xxxxxxxx
interface gre101024
ip ospf network point-to-multipoint
ip ospf cost 50
ip ospf authentication-key xxxxxxxxx
router ospf
ospf router-id 192.168.100.0
!
! Не следует посылать на эти интерфейсы broadcast, multicast
passive-interface eth0
passive-interface eth1
passive-interface eth2
passive-interface ipsec0
passive-interface ipsec1
!
! если характер сети pointopoint, neighbor можно не указывать
!
neighbor 172.16.101.1
neighbor 172.16.101.9
neighbor 172.16.101.17
neighbor 172.16.101.25
!
! Это наша точка соприкосновения с магистралью.
!
network 172.16.101.0/29 area 0
network 172.16.101.8/29 area 0
network 172.16.101.16/29 area 0
network 172.16.101.24/29 area 0
! Это наша сеть, подключенная к сетевому интерфейсу eth0.
! Она полностью находится в зоне 192.168.100.0
network 192.168.100.0/24 area 192.168.100.0
! ----------------------------------------------------
! Area area is stub
!-----------------------------------------------------
area 192.168.100.0 stub
!-----------------------------------------------------------------
! Logging and debug setting area
! ---------------------------------------------------------
log file /var/log/quagga/zebra-ospf.log
!
! Режим расширенного протоколирования
! используем пока не отладит все.
!debug ospf ism
!debug ospf nsm
!debug ospf lsa
!debug ospf zebra
!debug ospf event
!debug ospf packet all detail
В общем, когда подключен один удаленный офис - все ОК. Конечно, балансировка посессийная и не очень хорошая (требуется патчь ядра), но отказоустойчивость весьма недурственная...
Проблема: Если подключается второй удаленный офис, то удаленные офисы начинают видеть друг друга. Это не совсем то, что мне нужно. Пытаюсь настроить фильтрацию маршрутов, но пока получается плохо...
Вот, что получается с маршрутизацией (удаленная сеть 10.101.0.0/16)
homedesk-zebra> show ip route ospf
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
I - ISIS, B - BGP, > - selected route, * - FIB route
O>* 10.101.0.0/16 [110/60] via 172.16.101.17, gre101016, 01:12:43
* via 172.16.101.25, gre101024, 01:12:43
...
O 192.168.100.0/24 [110/10] is directly connected, eth0, 01:12:59