TrafficSentinel BGP ピアリング
ルーティングテーブル、ASパス、およびコミュニティを把握するために、ルートリフレクタを使用してTrafficSentinelからBGPピアを獲得する方法。
機能概要
ルーターがsFlow「ExtendedGateway」拡張機能を完全に実装している場合(sFlow仕様を参照)、このピアリング接続は必要ありません。それ以外の場合は、この機能を使用してルーティングテーブルを獲得し、それらを使用してCIDR、ASPath、およびCommunitiesフィールドで集約して、パケットヘッダーまたはフローレコードからデコードされたフィールドであるかのようにトラフィックデータベースで使用できるようにします。
データベースフィールド
この機能で入力できるトラフィック・データベース・フィールドは次のとおりです。:
- bgpdestinationaspath
- bgpsourceas
- bgpdestinationas
- bgpsourcepeeras
- bgpdestinationpeeras
- bgpas
- bgpcommunities
- bgplocalpref
- bgpnexthop
- bgpnexthop6
- ipsourcesubnet
- ip6sourcesubnet
- ipdestinationsubnet
- ip6destinationsubnet
- ipclientsubnet
- ip6clientsubnet
- ipserversubnet
- ip6serversubnet
- ipnexthoprouter
- ip6nexthoprouter
設定手順
global.prefs([ファイル]> [設定]> [編集]> [ファイルの編集]> [global.prefs])で、ピアリング接続を識別する行を追加します。:
BGPDefault=10.0.0.30 BGPLocalAS=65550 BGPPeerAS=12345
このサーバーからのBGPクライアント接続が出来るように、route-reflector(この例では10.0.0.30)を設定します。一般的な bird routing daemon への設定例を次に示します。:
protocol bgp peer_SENTINEL { table peers; local as 12345; neighbor 10.0.0.114 as 65500; passive; import none; export all; error wait time 1,10; error forget time 10; }
次に、Traffic Sentinelにログインし、/usr/local/inmsf/scripts/runBgpmonを実行して、ピアリング接続をテストします。 ASCIIラインとして発行されたルーティングアップデートが表示されます。
例:
+,74.114.160.0/24,,,IGP,35908 1299 3356 3549,,
+,64.214.58.0/24,,,IGP,35908 1299 3356 3549,,
+,204.57.11.0/24,,,IGP,35908 1299 3356 3549,,
+,75.98.224.0/20,,,IGP,35908 1299 3356 3549,,
+,189.125.106.0/24,,,IGP,35908 1299 3356 3549,,
+,198.153.129.0/24,,,IGP,35908 1299 3356 3549,,
+,200.41.72.0/22,,,IGP,35908 1299 3356 3549,,
+,204.48.40.0/24,,,IGP,35908 1299 3356 3549,,
+,200.55.48.0/24,,,IGP,35908 1299 3356 3549,,
ルーティングテーブル全体がスクロールするのに1〜2分かかる場合があります(600,000ルートになる可能性があります)が、その後は、アナウンスと取り消し、着実に徐々に表示されます。 control-cを押してテストを終了します。
最後に、[ファイル]>[コントロール]でデータ・コレクションのストップ&スタートを行います。これで、プロセス「inxsazd」にbgpmon.plスクリプトを実行する子プロセスがあることがわかります。
./inmsfd \_ inxtomcat -t 1580432484 | \_ java -Djava.awt.headless=true -Xmx2G -javaagent:sflowagent.jar -Dsflow.hostname=jvm-inmsf -Ds \_ inxtskd -t 1580432484 \_ inxsazd -t 1580432484 -u inmsf -R | \_ /usr/bin/perl /usr/local/inmsf/inx/bin/../../scripts/bgpmon.pl -l 10.0.0.114 10.0.0.30 65 \_ inxpoll -t 1580432484 -H 1 \_ inxADSweep -t 1580432484
Exabgpの使用
exabgpパッケージをインストールする場合、global.prefs設定を調整することにより、それを使用出来るようにTrafficSentinelを設定できます。
例:
BGPDefault=10.0.0.30 BGPLocalAS=65550 BGPPeerAS=12345 exabgp=/sbin/exabgp
ここで、[ファイル]>[コントロール]でデータ・コレクションをストップ&スタートすると、runBgpmonスクリプトが代わりにexabgpを実行します。設定ファイルはexabgp_conf.m4から生成されたexabgp.confであり、JSONからの変換はbgp_announce.py(すべて /usr/local/inmsf/scripts/ ディレクトリ)で実行されます。
トラブルシューティング
- 前提条件としてパッケージ m4 をインストールする必要がある場合があります。
- 次のコマンドを使用して、bgp_announce.pyスクリプトを実行可能にする必要がある場合があります。:
sudo chmod 755 bgp_announce.py
- runBgpmonスクリプトを手動で実行することは、ピアリング接続を使用する前にテストするための最良の方法です。エラーメッセージは/usr/local/inmsf/log/bgpmon.logに記録されます。