次のインターフェイスを備えたUbuntu12.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
サブネットに収まります。
また、OSPFを介して他のルーターにリンク状態をアナウンスするQuaggaがあります。これが私の/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デーモンのドキュメント は少しあいまいですが、おそらくこれを少し調整する必要があります。
まず第一に。アドバタイズメント/ルーティングステートメントで取得されたサブネットを再配布してからブロックするのはなぜですか?人々が台所の流しを再配布し、後でそれをブロックしようとするとき、私は何度も何度も見ます。これは根本的に不健全です。最後に、除外するリンクはルーティングステートメントでカバーされており、passiveinterfaceコマンドにもかかわらずスタブネットワークとしてアドバタイズされます。すでに含まれている接続ルートを再配布しないでください。
アドバタイズし、すべてを再配布してからフィルタリングを試みる人は、基本的な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
含めたい他のリンクに対してこれを行います
最後に、どうしても必要な場合を除いて、何も再配布しないでください。