フルルートを広告する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や広告先のルーターのメモリスペックにご注意を。