我有一个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
Quaggga OSPF守护进程文档在这里有些模糊,你可能不得不稍微调整一下。
首先。 为什么要重新分配并阻止广告/路由语句中的子网? 当人们重新分配厨房的水槽,然后试图阻止它时,我会一次又一次地看到。 这从根本上是不健全的。 最后,您要排除的链接将覆盖在路由语句中,尽pipe使用了passive interface命令,它仍将作为末梢networking进行通告。 不要重新分配已经包含的连接路由。
那些广告,重新分配一切,然后尝试过滤需要学习基本的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
或者在特定的接口上(例如上面没有关联的networking语句)
interface lo:1 ip ospf 1 area 0
并为您想要包含的其他链接执行此操作
最后,除非你绝对必须,否则不要重新分配任何东西。