フルルートBGPテスト環境

フルルートを広告するBGPを使用したテスト環境を構築するメモ。Linuxが活躍する。

材料は以下。gccとか何か他にもインストールするべきものがあるかもしれない。。。

  • bgp-simple(perlスクリプト)
  • bgpdump(バイナリMRTデータをテキスト形式に変換する)
  • gns3(BGPスピーカ1)
  • CentOS(bgp-simple実行用、仮想マシンでOK)

ここでは、VMに適当なCentOSをインストールしたところから記述。VMから、直接接続したルーターに対してBGPピアリングして、経路情報を広告するようにする。

以下作業をVMにて実施する。

telnetクライアントとサーバをインストール

yum -y install telnet
yum -y install telnet-server

ユーザ権限ユーザ作成

adduser user
passwd user

アクセス許可リスト編集

「/etc/hosts.allow」に以下を追記。

in.telnetd : 192.168.0. 127.0.0.1

「/etc/hosts.deny」に以下を追記。

in.telnetd : ALL

iptables編集

「/etc/sysconfig/iptables」の適切な箇所(1番目のルールが良さそう)に以下を追記。

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 23 -j ACCEPT

iptables再起動

service iptables restart

むしろ検証用で閉ざされたネットワークだったらiptablesを無効化してもいいかな。無効化してOS再起動後も自動でサービスが起動しないようにするなら以下。

/etc/rc.d/init.d/iptables stop
chkconfig iptables off

tcpラッパー変更

service telnet
{
  flags = REUSE-
  socket_type = stream
  wait = no
  user = root
  server = /usr/sbin/in.log_on_failure += USERID
  disable = no # ここをyesからnoに変更
}

スーパーデーモン(xinetd)再起動

/etc/init.d/xinetd restart

OSアップデート

結構時間がかかるのでお茶の用意

yum -y update

libbzip2インストール

yum -y install bzip2-devel

bgpdumpインストール

wget http://www.ris.ripe.net/source/bgpdump/libbgpdump-1.4.99.13.tgz
tar xvfz libbgpdump-1.4.99.13.tgz
 cd libbgpdump-1.4.99.13
 ./configure
 make
 cp bgpdump /usr/local/bin

bgpsimple入手

mkdir bgp_simple; cd bgp_simple
wget https://bgpsimple.googlecode.com/files/bgpsimple.tgz
tar xvfz bgpsimple.tgz

経路データ準備

wget http://archive.routeviews.org/route-views.wide/bgpdata//2014.04/RIBS/rib.20140401.0000.bz2
/root/libbgpdump-1.4.99.13/bgpdump -m /root/bgp_simple/rib.20140401.0000.bz2 > /root/bgp_simple/myroutes

起動スクリプト作成

#!/bin/sh
MYAS=64577
MYIP=192.168.0.10
PEERIP=192.168.0.100
PEERAS=64588
HOLDTIME=1800
KEEPALIVE=600
ROUTEFILE=”./myroutes”
LOGFILE=”./bgp_simple.log”
./bgp_simple.pl -myas $MYAS -myip=$MYIP -peerip=$PEERIP ?
 -peeras=$PEERAS -holdtime=$HOLDTIME -keepalive=$KEEPALIVE ?
 -v -p=$ROUTEFILE -o=$LOGFILE.`date +%Y%m%d%H%M`

bgpsimple起動

cd /root/bgp_simple/
. bgp_simple.sh

これで、50万近くの経路情報が広告される。初回だけタイマー値をもっと長めにしたほうがいいかも。

インターネット上の経路情報は日増しに増えているのでVMや広告先のルーターのメモリスペックにご注意を。

Leave a Comment