Team Cymru Bogonルートサーバプロジェクト


Version 2.1
16 MAR 2005

team-cymru@cymru.com

[ 日本語 ]   [ English ]
[ BGPのページ ]       [ Bogonリスト ]       [ Bogonについての参考ページ]
[ HOME ]

2005年3月16日での変更点:Ver2.1

2004年11月24日での変更点:Ver2.0

2004年8月5日での変更点:Ver1.9

2004年5月13日での変更点:Ver1.8

2003年5月29日での変更点:Ver1.7

紹介

bogon prefixとは、Internetルーティングテーブルに現在載っていてはいけない 経路の事である。(VPNや他のトンネルなどを除く)インターネット上を通ってい るパケットはこのbogon経路内のSource Addressを持っていないはずである。ち なみにこのようなアドレスはDDoS攻撃で使われているパケットのSource Addressとしてよく使われている。

bogon経路の更新やIANAによるAllocationの更新には、色々な方法がある。Bogon ルートサーバプロジェクトの目的としては、Multihop BGP Peer Sessionによって、このデータをPeer先に提供し、更新情報を送ることである。 これによって、非常に大きなネットワークでも、極めて簡単にフィルターを自動 的に作成することができる。

bogon経路は実際時々グローバルのルーティングテーブルに漏れる事がある。こ れは一般的にはルータの設定ミスである。このbogonルートサーバは更にこの ようなミスが広がる事、そしてこのようなミスによる経路を受け取りをおさえる ことができる。

bogon経路の更新や、フィルタリングする他のやり方は、 Bogon参考ページで見ること が出来る。

注意

本サービスは、無料という事を覚えていてください。よって、保証や担 保などは全くありません。ネットワークはあなたが管理して持っているものなの で、これらのデータの使用および間違った使用についてはあなたに責任がありま す。我々は、このデータがあなたとあなたのネットワークにとって有用になる事 を望んでいます。

もしRFC1918のアドレススペースを自分のネットワーク内で利用している場合、 bogonルートサーバからのこれらの経路についてはフィルターすることを検討し てもいいかもしれません。これらはRoute-mapやPrefix-Listを用いることで簡単 に出来ます。もしこれらのフィルタリングについてアドバイスが欲しい場合は我 々に連絡をください。

詳細

このPeerセッションはMultihop eBGP Peerセッションによって行われます。この Peerの為に用いられているルータは1つのインタフェースを持ったCisco4500Mと Cisco2611ルータがいくつかあります。これらのルータはこれらbogon経路を広告 することしか行っていません。現在は4つのbogonルートサーバが稼動しており、 1つもしくは複数のルートサーバとPeerすることが可能です。我々の推奨として は、最低でも2つのbogonルートサーバとPeerしたほうがいいと考えています。こ れによって、ネットワーク上の問題、障害などの際に冗長性が確保できます。現 在、これらのルータはアメリカ合衆国の中で分散されています。

bogon経路はaggregateされていません。現在は95経路あります。 bogon-route serverで使われているAS番号は65333です。Private AS番号 を利用しているのは、経路が漏れた場合すぐにわかって抑止できるようにするた めです。一つ一つの経路には、より簡単にフィルタリングを可能にするために Community65333:888がついています。 Peerセッションではパスワードを利用します。bogonルートサーバはそれのPeer先 から経路を受け取りません。

Zebraを利用している人のための注意: Zebraはまだ RFC 2385を サポートしていない(Peerセッションのパスワード)。我々はZebraユーザにはTCP MD5パスワードを要求していません。

bogonルートサーバはbogon経路をBGP networkコマンドと固定で指定され た経路のコンビネーションによって広告している。経路がIANAからRIRに割り当 てられたとき、この指定された経路は削除され、即座にBGP広告からwithdrownさ れる。これは綺麗にすばらく動作します。

自動的にbogonをフィルターする方法

さて、ここでCommunity 65333:888 が付いている経路を使ってフィル ターを作るにはどうしたらいいのか?もちろん色々な方法があります。一つの 方法としては、Route-mapを作って、Next-hopをnull0(ciscoで)にする方法があ ります。

Note:以下の設定に関する注釈も分かり易くするために日本語に翻訳しています。 実際のネットワーク機器では、コメント標記のため実際の設定には問題はありま せんが、エラーになりますのでご注意下さい。

Ciscoルータの例:

        router bgp <your asn>
         neighbor x.x.x.x remote-as 65333
         neighbor x.x.x.x ebgp-multihop 255
         neighbor x.x.x.x description <your description>
         neighbor x.x.x.x prefix-list cymru-out out
         neighbor x.x.x.x route-map CYMRUBOGONS in
         neighbor x.x.x.x password <your password>
         neighbor x.x.x.x maximum-prefix 100 threshold 90
        !
	! あなたのCiscoルータが新しい形式のcomunityシンタックスを利用
	! するための記述
	! Remember to configure your Cisco router to handle the new style
	! community syntax.
	ip bgp-community new-format
	!
	! すべてのルータでbogon経路を受け取るためbogon経路のnext-hopを
	! 設定する
	! Set a bogon next-hop on all routers that receive the bogons.
	ip route 192.0.2.1 255.255.255.255 null0
	!
	! route-mapの中で指定するbogon経路を受け取るためのcommunity-list
	! を設定する
	! Configure a community list to accept the bogon prefixes into the
	! route-map.
	ip community-list 10 permit 65333:888
	!
	! route-mapの設定  peerセッションでこれを反映するために設定
	! Configure the route-map.  Remember to apply it to the proper
	! peering sessions.
	route-map CYMRUBOGONS permit 10
	 description Filter the bogons we learn from the Cymru.com bogon route-servers
	 match community 10
	 set ip next-hop 192.0.2.1
	!

Juniperルータ例:

	routing-options {
	    static {
	        route 192.0.2.1/32 {
	            discard;
	            no-readvertise;
	            retain;
	        }
	    }
	
	    /* もしあなたが192.0.2.0/24をbogon経路として宣言する場合 */
	    /* このエントリを追加する */
	    /* If you have declared 192.0.2.0/24 as a bogon add this entry. */
	    martians {
	    	192.0.2.1/32 exact allow;
	    }
	
	    autonomous-system <your AS here>;
	}
	
	protocols {
	    bgp {
	        group CYMRU {
	            type external;
	            description "peering to receive bogons from CYMRU";
	            import CYMRU-bogons-in;
	            authentication-key "secretkey"; # SECRET-DATA
	            export deny-all;
	            peer-as 65333;
	            multihop 255;
	            neighbor <bogon rs IP>;
	            family inet {
	                unicast {
	                    prefix-limit {
	                        maximum 100;
	                        teardown 100;
	                    }
	                }
	            }
	        }
	    }
	}
	
	policy-options {
	    policy-statement CYMRU-bogons-in {
	        term 1 {
	            from {
	                protocol bgp;
	                as-path CYMRU-private-asn;
	                community CYMRU-bogon-community;
	            }
	            then {
			    /* 内部でno-exportが消えた場合のバックアップ */
			    /* backup in case no-export is cleared internally */
	                community add dont-announce;
	                next-hop 192.0.2.1;
	                accept;
	            }
	        }
	        then reject;    #  default action
	    }
	
	    policy-statement deny-all {
	        then reject;
	    }
	
	    community dont-announce members <ここにあなたのAS>:<なんか
しらのCommunityで、外に広告しないようなもの>;
	
	    community CYMRU-bogon-community members [ no-export 65333:888 ];
	
	    as-path CYMRU-private-asn 65333;
	}
OpenBSDのbgpdプロジェクトもbogonルートサーバとpeerする事が可能です。 Pete Vickersにこの例を提供について感謝を述べます。

OpenBSD bgpd例:

        # config snippet for /etc/bgpd.conf
        #
        # Based on config by Pete Vickers 05/2004.
        #
        # Modified slightly to intermingle with pf, and
        #   also to apply policy to cymru-sourced routes
        #   received from IBGP peers.
        #
        # Configure sessions with cymru reprobates
        #
        group "peering bogon" {
          remote-as 65333
          local-address <MY-ROUTER-IP>
          multihop 64
          announce none
          max-prefix 1000
          tcp md5sig password <PASSWORD>
          neighbor <BOGON-ROUTE-SERVER-1-IP>
          neighbor <BOGON-ROUTE-SERVER-2-IP>
          # ... etc
        }
        #
        #
        # What to do with updates (can be used with updates from
        # cymru peers, and also from IBGP peers if other routers
        # in this AS also take a bogon feed). The "nexthop
        # blackhole" is a little extraneous given the pf config,
        # worth keeping in case the packet filter is disabled
        # at any point.
        #
        allow from any community 65333:888 set pftable "bogons"
        allow from any community 65333:888 set nexthop blackhole


        # config snippet for /etc/pf.conf
        #
        table <bogons> persist
        #
        # no bogon sources or destinations
        block quick from <bogons> to any
        block quick from any to <bogons>
複数bogonルートサーバがあるので、CiscoルータでのBGP peer-groupの利用が役 に立ちます。この例に関してはJohn Brownに感謝を述べます。

Peer-groups例:

	router bgp YOUR_AS
	 neighbor cymru-bogon peer-group
	 neighbor cymru-bogon ebgp-multihop 255
	 neighbor cymru-bogon description Handy description here
	 neighbor cymru-bogon prefix-list cymru-out out
	 neighbor cymru-bogon route-map CYMRUBOGONS in
	 neighbor cymru-bogon maximum-prefix 300
	!
	 neighbor x.x.x.x remote-as 65333
	 neighbor x.x.x.x peer-group cymru-bogon
	 neighbor x.x.x.x description Handy description here
	 neighbor x.x.x.x password YEAH_RIGHT
これらの方法がうまくいかない場合は、 ここに連絡してください。更 に、フィルターの方法で役に立つ方法があったら是非教えてください。

どうしたらPeerできるのか?

bogonルートサーバとpeerするには、 team-cymru@cymru.comに 連絡をください。 Peerセッションの申し込み時には、以下の情報をメールでください。

  1. あなたのAS番号
  2. あなたのPeerするIPアドレス
  3. あなたの機器はMD5パスワードをBGPセッションでサポートしているかどうか
  4. (必須ではないが)あなたのPGP/GPG public key

我々は1ビジネスデー以内に返事をするように努力しています。覚えて欲しい所 としては、あなたの機器でMultihop eBGPをPrivate ASとPeerすることが出来 て、95の経路を受け取ることが出来ることです。もしあなたがpeerや経路の設定 を間違えて、bogon経路が送り先になっているパケットを全てbogonルートサーバ にforwardしてきたら、あなたとのpeerセッションは落とされます。

謝辞

John Brownに設定例について感謝を述べます。
Roy Engehausenには間違いや改良点について意見を頂いて感謝を述べます。
Pete VickersにOpenBSD bgpd設定例について感謝を述べます。
Marko Veelmaには間違いを指摘していただいて感謝を述べます。

この無料のbogonフィルター、監視や更新は複数の個人や組織によるPeering、 Hosting、機器、時間を寄付していただいていることによって成り立っていま す。このプロジェクトの目的の為にPeering、機器、コーヒー:)などを寄付して くださる場合、 Team Cymruに連絡をください。

これらのリンク、参考情報、監視が有益であることを望んでいます。もし提案、 コメント、情報などありましたら是非教えてください!コメントなどはteam-cymru@cymru.comに 送ってください。