У меня рабочая станция Ubuntu 12.10 со следующими интерфейсами:
eth0 : 10.11.1.15/24
lo:1 : 10.90.50.50/32
lo:2 : 10.1.100.100/32
tap0 : 10.5.200.200/24
Как видите, все IP подходят под 10.0.0.0/8
подсеть.
Также у меня есть Quagga, который объявляет о состоянии моих ссылок на другие маршрутизаторы через OSPF. Вот мой /etc/quagga/ospfd.conf
:
router ospf
passive-interface eth0
router-id 10.90.50.50
redistribute kernel route-map MYMAP
redistribute connected route-map MYMAP
redistribute static route-map MYMAP
network 10.0.0.0/8 area 0.0.0.0
ip prefix-list MYLIST seq 5 deny 10.11.0.0/16 le 32
ip prefix-list MYLIST seq 10 permit 10.0.0.0/8 le 32
ip prefix-list MYLIST seq 20 deny any
route-map MYMAP permit 10
match ip address prefix-list MYLIST
У меня не получается запретить Quagga рекламировать маршрут 10.11.1.0/24
это моя локальная подсеть.
Ни то, ни другое ip prefix-list MYLIST seq 5 deny 10.11.0.0/16 le 32
ни ip prefix-list MYLIST seq 5 deny 10.11.1.0/24
не влияет на рекламу маршрута. Самое странное, что Quagga сохраняет рекламные маршруты даже в том случае, если я изменяю все действия со списком префиксов с разрешения на запрет. У вас есть идеи, что я делаю не так?
Похоже, вам следует использовать что-то вроде
distribute-list noeth0 out kernel
!
access-list noeth0 deny 10.11.1.0/24
access-list noeth0 permit any
В Документация по демону Quagga OSPF здесь немного расплывчато - вам, вероятно, придется немного подправить его.
Прежде всего. Почему вы перераспределяете, а затем блокируете подсети, которые указаны в заявлении о рекламе / маршрутизации? Я вижу это снова и снова, когда люди перераспределяют кухонную раковину, а потом пытаются ее заблокировать. Это в корне неверно. Наконец, ссылка, которую вы хотите исключить, описана в инструкции маршрутизации и будет объявлена как тупиковая сеть, несмотря на команду пассивного интерфейса. Не перераспределяйте уже включенные подключенные маршруты.
Тем, кто рекламирует, распространяет все, а затем пытается фильтровать, необходимо изучить базовую настройку маршрутизации OSPF.
Избавьтесь от связанного перераспределения для начала. Сохраните команду пассивного интерфейса и сделайте свой оператор конкретным или, что еще лучше, разместите их на определенных интерфейсах, которые вы хотите включить.
router ospf 1
network 10.90.50.50 0.0.0.0 area 0
network 10.1.100.100 0.0.0.0 area 0
network 10.5.200.0 0.0.0.255 area 0
или, например, в конкретном интерфейсе (выше нет связанного сетевого оператора)
interface lo:1
ip ospf 1 area 0
и сделайте это для других ссылок, которые вы хотите включить
Наконец, НЕ ПЕРЕРАСПРЕДЕЛИТЕ ничего, кроме случаев крайней необходимости.