Pull to refresh

Comments 11

Redistribute connected вы используете из-за режима tun? От того и фильтруете сети? Почему бы не использовать tap и задавать в quagga нормальные зоны (и OSPF сам выбирет, какие анонсировать)? Выглядит все как костыли в местах, где они не нужны. Или экономили пару байт в MTU (режим tap требует больших накладных расходов, чем tun)?
Без этого параметра вообще не анонсировались сети, а с ним анонсировалось слишком много — поэтому этот костыль с route map, хотя мне кажется что выглядит нормально. tun был выбран потому, что изначально был один тоннель на нем.
Так проблема решается переходом на tap, и установкой point-to-multipoint на тунельном интерфейсе quagga. Да еще очень странно, что при вашей конфигурации пиры вообще получают анонс, broadcast на tun сам по себе не работает. Вы настроили unicast пиринг в OSPF? Если так, то где конфа?
broadcast проходит через tun если в параметрах указать topology subnet.
у интерфейса есть адрес, маска и destination.
tun1: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 10.10.11.1 netmask 255.255.255.252 destination 10.10.11.1
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 100 (UNSPEC)
RX packets 2170309 bytes 844381041 (805.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2312094 bytes 983294406 (937.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

# tcpdump -nnn -i tun1 | grep --line-buffered OSPF
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun1, link-type RAW (Raw IP), capture size 262144 bytes
18:53:47.776600 IP 10.10.11.2 > 224.0.0.5: OSPFv2, Hello, length 48
18:53:48.759615 IP 10.10.11.1 > 224.0.0.5: OSPFv2, Hello, length 48
18:53:57.776685 IP 10.10.11.2 > 224.0.0.5: OSPFv2, Hello, length 48
18:53:58.760139 IP 10.10.11.1 > 224.0.0.5: OSPFv2, Hello, length 48

Проморгал iptables. Но в остальном, все равно не анонсит из-за типа туннеля.

а точно на неработоспособность OSPF влияет именно topology subnet? в общем случае, ospf на p2p линках нормально работает.


и, конечно, с конфигурацией ospf, Вы, IMHO "переусердствовали": wan-линки зафигачить в backbone area и при этом "поскупиться" добавить туда lan, чтобы извращаться с redistribute connected… ну, каждому своё, как говорится. [у Вас] работает — и слава Богам ;)

а точно на неработоспособность OSPF влияет именно topology subnet?

да, но смысл такой:
1. пакет с одного сервера отправляется, но другой на него не реагирует.
18:24:08.652299 IP 10.10.12.1 > 224.0.0.5: OSPFv2, Hello, length 48
2. но не реагирует потому, что интерфейс в режиме p2p.
3. в Quagga есть комманда:
proxy# conf t
proxy(config)# interface tun1
proxy(config-if)# ip ospf network
broadcast point-to-multipoint
non-broadcast point-to-point
proxy(config-if)# ip ospf network

но к сожалению, она не помогает, более того, когда ее вводишь, ошибок нет, но при сохранении, в конфигурации интерфейса этого параметра нет. (причем параметр point-to-multipoint работает нормально), возможно особенность этой версии Quagga.
и, конечно, с конфигурацией ospf, Вы, IMHO «переусердствовали»: wan-линки зафигачить в backbone area и при этом «поскупиться» добавить туда lan, чтобы извращаться с redistribute connected

Я упомянул выше, что первый раз реализую динамическую маршрутизацию. Подскажите как было бы правильнее, в виде router ospf etc.
Вы меня натолкнули на мысль правильную. По поводу wan-линков вы были неправы их там нет, а вот то, что можно обойтись без redistribute connected и route-map похоже что это правда, пока работает верно. Конфигурация такова:
router ospf
ospf router-id 192.168.1.0
passive-interface default
no passive-interface tun1
no passive-interface tun2
no passive-interface tun3
no passive-interface tun4
network 10.10.11.0/30 area 0.0.0.0
network 10.10.12.0/30 area 0.0.0.0
network 10.10.15.0/30 area 0.0.0.0
network 10.10.16.0/30 area 0.0.0.0
network 192.168.1.0/23 area 0.0.0.0
!

Исправьте пожалуйста написание OpenVpn на OpenVPN, уж очень глаз режет.

Интересное решение.
Не думали как такую схему резервировать на случай отказа одного из серверов? Мне представляется сразу вариант на 4 сервера и туннели между ними ("квадрат", если нет локальной сети), но что-то уж слишком сумасшедше звучит.

такая схема реализуется довольно просто с помощью CARP, к примеру. Реплицировать даже ничего не надо. Имею ввиду, что можно обойтись самостоятельными серверами без сихронизации данных между ними.
Sign up to leave a comment.

Articles