AYAMEをboreoに繋ぐために（boreo接続設定サンプル）

AYAMEz BSD ネットワークスタックのための MPLS 実装

及びデザインAYAME箱 for boreo
I386 PCz Network interfacezzHOTnet様 L2Lサービスに接続を想定
z FE(10BASE-T／100BASE-TX )

NetBSDでサポートされているカードのほとんどは動作

NetBSD-1.6.1 releasez AYAME sourcez http://www.ayame.org/zboreoに繋ぐまで
z AYAME installz zebra(経路制御モジュール)の起動
z ayamed(カーネルインターフェイスモジュール)の起動
z ldpd(ラベル制御モジュール)の起動
z LSP確認

AYAME installz ayame-0.5.tar.gzに含まれる

README.install.jaを参照のことz

http://www.ayame.org/files/ayame/ayame0.5.tar.gzからダウンロード
z ayame-0.5、ayamed-0.5-gnu、zebra-0.93b-ayame-0.5をインストール
z READMI.install.jaにはayamed-0.4-gnuと書かれているがayamed-0.5-gnuの間違い(たぶん)z Webページにあるインストールマニュアル（http://www.ayame.org/product.php#manuals）

は最新版（ayame-0.5）に対応していないので注意！

boreoに繋ぐまで
z AYAME installz zebra(経路制御モジュール)の起動
z ayamed(カーネルインターフェイスモジュール)の起動
z ldpd(ラベル制御モジュール)の起動
z LSP確認zebraの設定
z zebraを通じてL3での経路制御を行う/usr/ayame/etc/zebra.confを編集し、staticな経路をあらかじめ設定しておく
z /usr/ayame/etc/zebra.conf.sampleを参照
zzebra.conf(1/3)
z Staticなrouteを設定
z ip route XXX.XXX.XXX.XXX/YY ZZZ.ZZZ.ZZZ.ZZZ 15(>10)（接続相手の内側アドレス） （接続相手のIFアドレス）z 経路のDistance valueは10よりも大きい値を用いる
z AYAMEがMPLS経路に用いる値は10z Distance valueを指定せずにrouteを設定すると、1がDistance valueとして設定される（10よりも優先度が高い）
ためMPLSでの転送が行われなくなるzebra.conf(2/3)
z 自分のアドレスに対する経路を設定
z

ip route <interface addr>/32 <loopback addr>
z AYAMEは経路テーブルにあるアドレスに関するラベル情報を送信するので、特に自分のアドレスに対する経路を設定する必要がある

Example)ip route 10.2.5.1/32 10.0.0.1

zebra.conf(3/3)
Example)ip route 192.168.100.0/24 10.2.5.2 15
ip route 192.168.200.0/24 10.2.5.3 15
ip route 10.2.5.1/32 10.0.0.1 < loopback addr

zebraの起動
z AYAME patchの適用されたzebraを起動
z$ /usr/ayame/sbin/zebra -dz L3での疎通確認
zping等boreoに繋ぐまで
z AYAME installz zebra(経路制御モジュール)の起動
z ayamed(カーネルインターフェイスモジュール)の起動
z ldpd(ラベル制御モジュール)の起動
z LSP確認ayamedの起動
z 特別な設定は必要無し
z /usr/ayame/sbin/ayamedを起動
z /var/log/ayamed.logにログが記録される

boreoに繋ぐまで
z AYAME installz zebra(経路制御モジュール)の起動
z ayamed(カーネルインターフェイスモジュール)の起動
z ldpd(ラベル制御モジュール)の起動
z LSP確認ldpdの設定z /usr/ayame/etc/ldpd.confに設定を記述
z /usr/ayame/etc/ldpd.conf.sampleを参照

ldpd.conf
z ldp routerid と ldp interfaceを設定
zboreoの場合ldp routeridはinterface addressを設定Example)
ldp routerid 10.2.5.1
ldp interface 10.2.5.1 UNSOLICITED 5 15 10.2.5.1

ldpdの起動
z /usr/ayame/sbin/ldpdを起動
z /var/log/ldpd.logにログが記録される

z LDPによるラベル情報の交換により、LSPが構築される

ldpd session確認$ telnet localhost 10646> show ldp status================================================================================
LDPd Status:-------------------------------------------------------------------------------Number of temporary session sockets is [0].
HELLO senders:
HS Local LDPID
TransptAddress TargetAddress HIntvl DIntvl RFlag-- ------------------ --------------- --------------- ------ ------ ----1
10.2.5.1:0010.2.5.1
0.0.0.0
5 15 OFF
Hello Adjacencies:
HA LDPID

TransptAddress HT CSN EXD TM

boreoに繋ぐまで
z AYAME installz zebra(経路制御モジュール)の起動
z ayamed(カーネルインターフェイスモジュール)の起動
z ldpd(ラベル制御モジュール)の起動
z LSP確認

LSP確認(1/2)
zZebra (telnet localhost 2601)

Router> show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
B - BGP, M - MPLS, > - selected route, * - FIB route
K>* 0.0.0.0/0 via 192.168.234.8, pcn0
C>* 10.0.0.1/32 is directly connected, lo0
C>* 10.2.5.0/24 is directly connected, pcn1
S>* 10.2.5.1/32 [1/0] via 10.0.0.1, lo0
K * 127.0.0.0/8 via 127.0.0.1 inactive
C>* 127.0.0.0/8 is directly connected, lo0
M>* 192.168.100.0/24 [10/0] LSP 0:20, 01:04:15
S- 192.168.100.0/24 [15/0] via 10.2.5.2, pcn1
M>* 192.168.200.0/24 [10/0] LSP 0:21, 00:57:13
S- 192.168.200.0/24 [15/0] via 10.2.5.3, pcn1
C>* 192.168.234.0/24 is directly connected, pcn0
K>* 224.0.0.0/8 via 127.0.0.1, lo0LSP確認(2/2)$ /usr/ayame/sbin/route –n show
Routing tables
Internet:
Destination
Gateway
10.0.0.1
10.0.0.1
10.2.5.0
link#210.2.5.1
10.0.0.1
192.168.100.0 0:20
192.168.200.0 0:21
224.0.0.0
127.0.0.1

Flags
UHU
UGH
UG
UG
UG

MPLS:
Destination
Gateway
Flags
0:0
0:0
U
0:160:0
UGH
0:17
0:0
UGH
0:18
0:0
UGH
0:19
0:0
UGH
0:20
128:19UGH
0:21
129:19
UGH
0:22
0:0
UGH
128:0
128:0
U
129:0
129:0UAppendix
z MPLSパケット確認法
z ldp session確認法
z ldp hello message確認方法

MPLSパケット確認# tcpdump -x -i pcn0
tcpdump: listening on pcn0
13:42:41.766250 MPLS (label 0x13 TTL 254)
0001 30fe 0000 01ff 4500 0054 0b02 0000
ff01 18f9 0a02 0502 c0a8 c801 0800 0823
014b 0002 4014 583f 6a39 0100 0809 0a0b0c0d 0e0f 1011 1213 1415 1617 1819 1a1b1c1d 1e1f 2021 2223 2425 2627 2829 2a2b2c2dz

MPLSの上でpingを行う際は、-I オプションによるソースアドレスの設定が必要

ldp session確認(1/2)$ netstat
Active Internet connections
tcp00 10.2.5.1.646
tcp
00 10.2.5.1.646…

10.2.5.3.65530
10.2.5.2.65531

ESTABLISHEDESTABLISHED

ldp session確認(2/2)$ telnet localhost 10646> show ldp status================================================================================
LDPd Status:-------------------------------------------------------------------------------Number of temporary session sockets is [0].
HELLO senders:HS Local LDPID
TransptAddress TargetAddress HIntvl DIntvl RFlag-- ------------------ --------------- --------------- ------ ------ ----1
10.2.5.1:00
10.2.5.1
0.0.0.0515 OFF…
…
…
LDP Sessions:
ID Local LDPID
Peer LDPID
St Ro Recv Send BT HT KT---- ------------------ ------------------ -- -- ----- ----- --- --- --1
10.2.5.1:00
10.2.5.2:00 OP PS
00 30 42 92
10.2.5.1:00
10.2.5.3:00 OP PS
00 30 41 5

ldp hello message確認(1/3)$ telnet localhost 10646
show ldp status================================================================================
LDPd Status:-------------------------------------------------------------------------------Number of temporary session sockets is [0].
HELLO senders:
HS Local LDPID
TransptAddress TargetAddress HIntvl DIntvl RFlag-- ------------------ --------------- --------------- ------ ------ ----1
10.2.5.1:00
10.2.5.1
0.0.0.0
5 15 OFF…
…
…

ldp hello message確認(2/3)
z 実際に流れているかdump# tcpdump -i pcn0
tcpdump: listening on pcn0
13:54:28.210956 10.2.5.1.65534 > ALL-ROUTERS.MCAST.NET.646: udp 42 [ttl 1]
13:54:29.321374 10.2.5.2.65534 > ALL-ROUTERS.MCAST.NET.646: udp 42 [ttl 1]
13:54:31.800001 10.2.5.3.65534 > ALL-ROUTERS.MCAST.NET.646: udp 42 [ttl 1]

ldp hello message確認(3/3)
z224.0.0.0に対する経路が存在することを確認$ /usr/ayame/sbin/route show
Routing tables
Internet:
Destination
192.168.0.0
192.168.1.0
224.0.0.0

Gateway
192.168.1.1
link#1127.0.0.1

Flags
UGU
UG