マルチホームおよびマルチルーターのセットアップで、BGPルーターとしてUbuntu 10.04LTSでQuaggaを使用していくつかのラボを行っています。現在、ラボに偽の「ISP」ルーターをセットアップし、その背後にある2つのQuaggaルーターがiBGPとルートを共有していますが、答えが見つからないような問題が発生しました。
私のネットワーク設定は this のようになります。
R1とR2はリンクネットワーク(172.26.0.0/30)に接続されており、両方とも172.26.1.0/24の同じ共有サブネットに接続されています。リンクネットワークと共有サブネットは異なるVLAN上にあります。
R1とR2はそれぞれ1つのISPに接続され、172.26.0.0/23をISPピアにアナウンスします。内部的にサブネット化されますが、フィルタリングされないように、より大きなサブネットが発表されます。
ルーターには、uCARPを使用してルーター間で共有するフローティングIPがあります(一方のルーターがダウンした場合は、もう一方が引き継ぐ必要があります)。
今私の問題に。 tracerouteを発行するかISP1からip172.26.1.1にpingを実行すると、すべてがスムーズに進み、応答が返されます。 ip 172.26.1.2に同じことをすると、リクエストタイムアウトが発生します。
172.26.1.2がインターフェイスにアッシングしているルーターでICMPエコー要求が表示されますが、応答の送信先がわからないようです。
私は答えをグーグルにしようとしましたが、手ぶらで出てきました。いくつかの解決策を試しましたが、何も機能していないようです。
ネットワーク設計に問題はありますか?共有サブネットおよびリンクネットと同じサブネットを使用する場合、pingを使用するときにルーターの背後にあるマシンがICMPリダイレクトメッセージを受け取ることを除いて、すべてが正常に機能することを知っています。これは適切な実装ではないと思います。
172.26.1.2宛てのトラフィックは、R1のVLAN15インターフェイスを経由し、R2(172.26.1.2が割り当てられている)の場合、ICMPエコーを送信しているISP1IPに到達するためにルーティングを使用しないと思います。リクエスト。
各ルーターからすべてのネットワークに到達できますが(たとえば、ISP1 192.168.0.1インターフェイスに到達できます)、R2のソースとして172.26.1.2を使用している場合は到達できません。 R1では、172.26.1.1をソースとして問題なく使用できます。
ルーターのIPプラン。
ISP1
R1
R2
私のQuaggaBGPdconfは次のようになります。ISP1routerbgp65414 bgp router-id 192.168.0.1 network 192.168.0.0/23 network 10.10.0.0/24 neighbor 10.10.0.2 remote-as 65515 neighbor 10.10.0.2 description R1
R1 router bgp 64515 bgp router-id 172.26.0.1 network 172.26.0.0/23 neighbor 172.26.0.2 remote-as 65515 neighbor 172.26.0.2 description R2 neighbor 172.26.0.2 next-hop-self neighbor 10.10.0.1 remote-as 65514 neighbor 10.10 .0.1説明ISP1ネイバー10.10.0.1プレフィックスリストisp1_filter_outout
ip prefix-list isp1_filter_out seq 5 permit 172.26.0.0/23 ip prefix-list isp1_filter_out seq 999 deny 0.0.0.0/0 ge 1
R2 router bgp 65515 bgp router-id 172.26.0.2 network 172.26.0.0/23 neighbor 172.26.0.1 remote-as 65515 neighbor 172.26.0.1 description R2 neighbor 172.26.0.1next-hop-self。
何か考えはありますか? LinuxまたはQuaggaに問題がありますか?私のセットアップに関して、私からもっと何か必要ですか?
これを解決するためにQuagga-usersメーリングリストから助けを得たこと、そしてこの問題は現在解決されていることを知らせたかっただけです。
将来の参考のために、他の誰かが私と同じ問題に遭遇した場合は、解決策を投稿することをお勧めします。
問題は、Ubuntuでnet.ipv4.conf.all.rp_filterとnet.ipv4.conf.default.rp_filterがデフォルトで有効に設定されていることでした。これにより、パケットが1つのインターフェイスに入力され、別のインターフェイスから送信されるのを防ぎました。
Ubuntu Bugsレポート(以下のリンクを参照)の提案は、Quaggaをインストールするとrp_filterが無効になるというものですが、これはまだ実装されていません。