Добрый день. В общем задача такая: есть несколько подсетей, замкнутых
в кольцо. Выглядит так:
(192.168.0.1) R1 (192.168.1.1)
/ \
/ \
/ \
/ \
/ \
(192.168.0.2) (192.168.1.2)
R3 R2
(192.168.2.2) ------------ (192.168.2.1)
Цель такая: если пропадает линк R1-R3, чтобы пакеты пошли по R1-R2-R3.
Решил использовать протокол OSPF. Поставил zebra, насторойки
следующие:
На всех хостах одинаковый (кроме hostname)
zebra.conf:
hostname r1
passowrd *
enable password *
interface sbni0
interface sbni1
multicast
log file /var/log/zebra.log
ospfd.conf @ R1:
hostname r1
passowrd *
enable password *
router ospf
network 192.168.0.0/24 area 0
network 192.168.1.0/24 area 0
log file /var/log/ospfd.log
@R2
-- cut --
router ospf
network 192.168.1.0/24 area 0
network 192.168.2.0/24 area 0
@R3
-- cut --
router ospf
network 192.168.0.0/24 area 0
network 192.168.2.0/24 area 0
Запускаю zebra и ospfd, в итоге получаю на всех роутерах добавочный
маршрут в ту сеть, в которую они не подключены напрямую (например,
R1 получает маршрут в сеть 192.168.2.0/24 чере роутер 192.168.0.2).
Но того, что хотелось, не получилось: к примеру, если падает линк
R3-R2 (192.168.2.2-192.168.2.1), то R2 можно пинговать только через
интерфейс 192.168.1.2, но не 192.168.2.1, т.е. таблица маршрутизации
не изменилась. Где я накосячил ?
P.S. еще пример:
если R2 получил маршрут в 192.168.0.0/24 через R1 (192.168.1.1), а затем
линк R2-R1 разрывается, то через некоторое время сязь восстанавливается через роутер R3 (182.168.2.2). Но описанная выше проблема остается нерешенной...
> Но того, что хотелось, не получилось: к примеру, если падает линк
R3-R2 (192.168.2.2-192.168.2.1), то R2 можно пинговать только через
интерфейс 192.168.1.2, но не 192.168.2.1, т.е. таблица маршрутизации
не изменилась. Где я накосячил ?
А откуда пингуешь?
Если с R3 то все логично. ибо 2.1 в той же сети что и 2.2 и пинговаться в обход он и не должен.
Т.е. в такой постановке вопроса ("Цель такая: если пропадает линк R1-R3, чтобы пакеты пошли по R1-R2-R3") - задач ну уровне динамической маршрутизации нерешаема ? В принципе я тож к этому сколнялся. Если пинговать по ип, который не в той же сети, то все ок.
Все завидит от точки зрения: те линки что ты привел можно назвать магистральными, т.к. в этих сегментах более одного маршрутизатора. Если к этим маршрутизаторам подкчлючать клиентов не в эти сети, а в другие, то клиенты друг друга будут видеть при падеях __Магистарльных__ линий.
Если тебе нужно чтобы при любой визичекой возможности были видны сами маршрутизаторы, то подними на lo отдельный IP (c маской 255.255.255.255) и анонсируй их по OSPF. Тогда маршрутизаторы по этим IP тоже будешь всегда видеть.
Если тебе у тебя есть сегмент распадается на два. (обрыв линка) то внутри сегмента взязность нарушена, и чтобы ее восстановить, нужно не L3 реешние, а L2.
Спасибо за ответ ! Если честно, с динамической маршрутизацией столкнулся совсем недавно, поэтому не совсем все понял. L2 точно не подойдет, т.к. сеть строится на разном оборудовании (adsl модемы, езернет, wifi) и по требованиям нужно именно на уровне ip маршрутизации все рашать.
>Если тебе нужно чтобы при любой визичекой возможности были видны сами маршрутизаторы, то подними на lo отдельный IP (c маской 255.255.255.255) и анонсируй их по OSPF. Тогда маршрутизаторы по этим IP тоже будешь всегда видеть.
А здесь можно поподробнее ? По-моему это то что нужно, но если честно я не могу понять, как это делать. Можете прям на моем примере это показать? Особенно интересует как его анонсировать.
На каждом сервер подымается свой IP адрес не привязаный с физическому интерфейсу.
Например так:
r1# ifconfig lo:1 192.168.3.1 netmask 255.255.255.255
r2# ifconfig lo:2 192.168.3.2 netmask 255.255.255.255
r3# ifconfig lo:3 192.168.3.3 netmask 255.255.255.255
в ospf делается запись что нужно (по идее не нужно, но у меня без этого вроде неработало :), но я особо не заморачивался )
router ospf
network 192.168.3.0/24 area 0
после этого на маршрутизаторах должны появиться маршруты про компьютеры с адресами 192.168.3.1 3.2 3.3 и все, по этим адресам они будут доступны даже при обрывах линка, или отключении физических сетевых карт. В принципе сервисы (http,mail,dns и т.п.) лучше вешать на такие интерфейсы (это если компьютер еше и маршрутизатор), тогда проще будет жить: физичекси переносить сервера с места на место, менять топологию сети и т.п.