Маршрутизация и балансировка каналов – Zebra! Проблемы!
Маршрутизация и балансировка каналов – Zebra! Проблемы!
В нашей организации стоит головной тунельный сервер(IPSec (1)). Удалённые подразделения через WAN (ADSL) ходят к нам. Весь трафик шифруется. В одном подразделении для увеличения пропускной способности поставили 2-а DSL модема. Это подразделение очень критично к перебоям в связи!!! Задачи:
1.) Cделать так, чтобы при падении одного канала весь трафик заруливался на работающий канал.
2.) Сбалансировать нагрузку на данные 2-а канала. Чтобы трафик шёл паралельно по двум каналам.
Что было сделано:
В удалённом подразделении установил 2-а шлюза FreeBSD 4.10+IPSec+PPPoE и на одном из них установил Quagga(Сервер 2.1). Выход в локальную сеть подразделения (172.20.29.0/24) осуществляется через 2.1 (из него идёт патчкорт на хаб). Сервер 2.2 соединён с 2.1 через кросс-кабель.
Проблемы
1.) При падении одного канала Quagga НЕ изменяет шлюз по умолчанию для удалённой сети. Т.Е. СВЯЗЬ полностью РВЁТСЯ!!!
2.) Балансировка не осуществляется! Хотя просмотром tcpdamp’ом вроде трафик идёт на обоих маршрутизаторах! НО MRTG рисует загрузку только на одном канале!!!
3.) Необходимо чтобы серверы маршрутизации увидели друг друга. Но они не видят!!! Удалённый сервер не берёт маршруты с головного сервера, где все они статически прописаны. Приходится и на нём статику прописывать. В результате вообще теряется смысл динамики!!!!
Как решить данные проблемы?
Конфигурация:
Головной Удалённое подразделение
| PSec(1)|_______________________| 2.2 |
| сервер, | | 172.20.26.1 |
| Quagga | |
192.168.8.13____________________| 2.1 |
| 172.20.26.2 |
| 172.20.29.1 |_____| HUB (172.20.29.0/24)|
| Quagga |
Головной сервер (1)
zebra.conf
hostname Router
password zebra
enable password xxx
interface lo
!
interface xl1
interface xl2
interface xl0
interface tun0
interface rl0
interface gif0
interface gif1
interface gif2
interface gif3
interface gif4
interface gif5
interface gif6
interface gif7
interface gif8
interface gif9
multicast
line vty
!
! Static default route sample.
!
! Балансировка !
ip route 172.20.29.0/24 172.20.29.1
ip route 172.20.29.0/24 172.20.26.1
!
ip route 172.20.31.0/24 172.20.31.1
ip route 172.20.32.0/24 172.20.32.1
!
log file /var/log/zebra/zebra.log
ospfd.conf
hostname Router_ospf
password ospfd
enable password xxx
!
!
interface gif4
ip ospf cost 20
interface gif7
ip ospf cost 20
!
router ospf
redistribute connected
redistribute static
redistribute kernel
!
neighbor 172.20.29.1
network 0.0.0.0/0 area 0
!
ospf router-id 192.168.8.13
access-list access permit 127.0.0.1/32
access-list access deny any
!
log file /var/log/zebra/osfd.log
Удалённый сервер (2.1)
zebra.conf
hostname Router
password zebra
enable password xxx
!
!
interface gif0
interface lo0
interface rl0
interface rl1
multicast
interface tun0
interface vr0
!
ip route 10.0.0.0/8 192.168.8.13
! Балансировка !
ip route 192.168.8.0/24 192.168.8.13
ip route 192.168.8.0/24 172.20.26.1
!line vty
!
ospfd.conf
hostname ospfd
password zebra
enable password xxx
!
router ospf
redistribute connected
redistribute static
redistribute kernel
!
neighbor 192.168.8.13
!
network 0.0.0.0/0 area 0
ospf router-id 172.20.29.1
log file /var/log/ospfd.log
! end –file
Как побороть вышеперечисленные проблемы?
1.) Cделать так, чтобы при падении одного канала весь трафик заруливался на работающий канал.
2.) Сбалансировать нагрузку на данные 2-а канала. Чтобы трафик шёл паралельно по двум каналам.
Что было сделано:
В удалённом подразделении установил 2-а шлюза FreeBSD 4.10+IPSec+PPPoE и на одном из них установил Quagga(Сервер 2.1). Выход в локальную сеть подразделения (172.20.29.0/24) осуществляется через 2.1 (из него идёт патчкорт на хаб). Сервер 2.2 соединён с 2.1 через кросс-кабель.
Проблемы
1.) При падении одного канала Quagga НЕ изменяет шлюз по умолчанию для удалённой сети. Т.Е. СВЯЗЬ полностью РВЁТСЯ!!!
2.) Балансировка не осуществляется! Хотя просмотром tcpdamp’ом вроде трафик идёт на обоих маршрутизаторах! НО MRTG рисует загрузку только на одном канале!!!
3.) Необходимо чтобы серверы маршрутизации увидели друг друга. Но они не видят!!! Удалённый сервер не берёт маршруты с головного сервера, где все они статически прописаны. Приходится и на нём статику прописывать. В результате вообще теряется смысл динамики!!!!
Как решить данные проблемы?
Конфигурация:
Головной Удалённое подразделение
| PSec(1)|_______________________| 2.2 |
| сервер, | | 172.20.26.1 |
| Quagga | |
192.168.8.13____________________| 2.1 |
| 172.20.26.2 |
| 172.20.29.1 |_____| HUB (172.20.29.0/24)|
| Quagga |
Головной сервер (1)
zebra.conf
hostname Router
password zebra
enable password xxx
interface lo
!
interface xl1
interface xl2
interface xl0
interface tun0
interface rl0
interface gif0
interface gif1
interface gif2
interface gif3
interface gif4
interface gif5
interface gif6
interface gif7
interface gif8
interface gif9
multicast
line vty
!
! Static default route sample.
!
! Балансировка !
ip route 172.20.29.0/24 172.20.29.1
ip route 172.20.29.0/24 172.20.26.1
!
ip route 172.20.31.0/24 172.20.31.1
ip route 172.20.32.0/24 172.20.32.1
!
log file /var/log/zebra/zebra.log
ospfd.conf
hostname Router_ospf
password ospfd
enable password xxx
!
!
interface gif4
ip ospf cost 20
interface gif7
ip ospf cost 20
!
router ospf
redistribute connected
redistribute static
redistribute kernel
!
neighbor 172.20.29.1
network 0.0.0.0/0 area 0
!
ospf router-id 192.168.8.13
access-list access permit 127.0.0.1/32
access-list access deny any
!
log file /var/log/zebra/osfd.log
Удалённый сервер (2.1)
zebra.conf
hostname Router
password zebra
enable password xxx
!
!
interface gif0
interface lo0
interface rl0
interface rl1
multicast
interface tun0
interface vr0
!
ip route 10.0.0.0/8 192.168.8.13
! Балансировка !
ip route 192.168.8.0/24 192.168.8.13
ip route 192.168.8.0/24 172.20.26.1
!line vty
!
ospfd.conf
hostname ospfd
password zebra
enable password xxx
!
router ospf
redistribute connected
redistribute static
redistribute kernel
!
neighbor 192.168.8.13
!
network 0.0.0.0/0 area 0
ospf router-id 172.20.29.1
log file /var/log/ospfd.log
! end –file
Как побороть вышеперечисленные проблемы?
1. FreeBSD МЕ СЛЕЕР ПЮЯЙХДШБЮРЭ РПЮТХЙ ЮКЪ КЪОХЯЮ
ip route add default scope global nexthop via $P1 dev $IF1 weight 1 \
nexthop via $P2 dev $IF2 weight 1
2. +РЕАЕ МЮДН dead gateway detection ОЮРВ
P.S. х МЕ ЦНПНДХ ЛХЯЙНМЖЕОЖХХ Я OSPF, ГЮДЮВЮ ОПНЯРЮЪ ЙЮЙ ЦПЮАКХ
P.P.S. х МЕ ХЯОНКЭГСИ ОНДЕКЙХ *BSD
лНФЕРЕ ФЕБЮРЭ ЯНОКХ Х ТКЕИЛХРЭ ДЮКЭЬЕ.
ip route add default scope global nexthop via $P1 dev $IF1 weight 1 \
nexthop via $P2 dev $IF2 weight 1
2. +РЕАЕ МЮДН dead gateway detection ОЮРВ
P.S. х МЕ ЦНПНДХ ЛХЯЙНМЖЕОЖХХ Я OSPF, ГЮДЮВЮ ОПНЯРЮЪ ЙЮЙ ЦПЮАКХ
P.P.S. х МЕ ХЯОНКЭГСИ ОНДЕКЙХ *BSD
лНФЕРЕ ФЕБЮРЭ ЯНОКХ Х ТКЕИЛХРЭ ДЮКЭЬЕ.