JANOG Comment [Best Current Operational Practice] Draft 川村 聖一 Seiichi KAWAMURA June 2014 実運用で一般的なeBGP Peer設定 [ドラフト版] eBGP Peer Configuration BCOP [Draft] 1. はじめに Internet eXchange(以下IX)や専用の線の上でeBGP Peerを設定する場合 において、実運用で一般的な設定内容を記載します。本項目を記載する事で、接続 先がどのような設定をやっているのかという理解が深まり、また新たにAutonomous System番号(以下AS番号)を取得してネットワーク運用を始める事を検討している 方々の参考になり、インターネットワークの運用が安定する事を目的として作成し ました。ここで記載されている内容はPeer設定のすべてを網羅していません。良く 使われている事例を掲載しているだけなので、ケースによっては本内容では合わない または不十分である場合がありますが、一般的にはこの設定で問題ないはずです。 本文書はhttp://www.janog.gr.jp/doc/janog-comment/jc1005.txt 「IXに接続する際の標準的な設定について」の「4-4 BGP設定」および「4-5 ルー ティング関連」の内容を具体例として記載し、また最新の状況について補完するもの です。特に4-4でMD5が推奨となっているものの、本文書では減少傾向にある事を 明記しています。あるべき設定ではなく、実際今多いケースをあげています。 2. 実運用で一般的なeBGP Peer設定 2.1 基本設定 [cisco ios-xrの場合] router bgp 65000 timers bgp 30 90 bgp log neighbor changes detail [juniperの場合] protocols { bgp { hold-time 90; log-updown; 基本設定部分では、主にタイマー値とログ出力を定義します。 タイマーはhello interval 30 hold time 90が多いようです。 2.2 ネイバーの設定 [cisco ios-xrの場合] neighbor 192.0.2.1 remote-as 65001 bfd fast-detect bfd multiplier 3 bfd minimum-interval 1000 password encrypted SETYOURMD5KEYHEREIFYOUREALLYHAVETO description "MY LOVELY NEIGHBOR" address-family ipv4 unicast route-policy NEIGHBOR-INGRESS in maximum-prefix 500 75 route-policy NEIGHBOR-EGRESS out next-hop-self remove-private-AS soft-reconfiguration inbound always ! ! [juniperの場合] group PEERS { type external; family inet { unicast; } remove-private; neighbor 192.0.2.1 { description "MY LOVELY NEIGHBOR"; prefix-limit { 500; teardown 75 idle-timeout forever; } import NEIGHBOR-INGRESS; authentication-key "SETYOURMD5KEYHEREIFYOUREALLYHAVETO"; export NEIGHBOR-EGRESS; peer-as 65001; } 説明(ciscoを例に解説します): 1) bfd fast-detect bfd multiplier 3 bfd minimum-interval 1000 上記3行でBFDが設定できます。この機能は相手がサポートしないと意味があり ませんのでPeer相手がBFDを希望する場合に設定します。特に相手が何も言わない 場合は設定の必要がありません。最近ではiBGPだけでなく、eBGPにもBFDを設定 する事業者が増えてきたため記載しました。タイマー値も上記が多いようです。 2) password encrypted SETYOURMD5KEYHEREIFYOUREALLYHAVETO    MD5ハッシュを利用してBGPセッションのセキュリティを確保したい場合は 上記のように設定します。設定を投入する場合は password plain SETYOURMD5KEYHEREIFYOUREALLYHAVETO と入力する事で、show runではハッシュされた値が表示されます。 なお、最近ではMD5の設定を嫌がる事業者が増えています。セキュリティ的 に強固でないわりに値の管理ができず、またセッションがフラップしてしまうと なかなかPeerが戻らない、などの相性問題もあるためです。特にソフトウェア ルータではうまく動かないようなケースもあり、設定事例はかなり減少傾向にあります。 3) route-policy NEIGHBOR-INGRESS in route-policy NEIGHBOR-EGRESS out 上記2行はフィルタです。フィルタ内容に関しては http://www.janog.gr.jp/doc/janog-comment/jc1001.txt http://www.janog.gr.jp/doc/janog-comment/jc1002.txt http://www.janog.gr.jp/doc/janog-comment/jc1003.txt の「経路フィルタ」に関する項目を参照してください。 4) maximum-prefix 500 75 ネイバーから受信する最大経路数と、受信している数が最大のx%(上記の場合75)を 超えた場合にログを出す設定です。誤った設定により、相手から大量の経路を受け 取り通信不能になるケースを防ぐことができるため、設定事例は増加傾向にあります。 最大Prefix数は、相手に聞く、PeeringDBで調べる、実際の経路数を見る、など 様々な方法があります。運用経験により柔軟に調整していく覚悟が必要です。 3. 参考文献 http://www.janog.gr.jp/doc/janog-comment/jc1001.txt http://www.janog.gr.jp/doc/janog-comment/jc1002.txt http://www.janog.gr.jp/doc/janog-comment/jc1003.txt http://www.janog.gr.jp/doc/janog-comment/jc1004.txt 4. 免責事項 本文書によって発生した損失や損害について、著者は一切責任を負いませ ん。 5. この文書の配布に関して 本文書の再配布や転載は内容に関して一切の変更を加えないと言う条件で 許可をします。 以上 ---------------------------------------------------------------------- 更新履歴 ---------------------------------------------------------------------- 日付 : 2014/06/04 - 文書公開 ----------------------------------------------------------------------