自宅<->実家間をBGPでルーティングしてみたの巻
今までスタティックでルーティングしていましたが
いつまでもスタティックおんじさんしているのは時代錯誤?かなと思い
BGPでのルーティングしてみた。
別にOSPFでも良い気もしますが、ここではBGPとした。
自宅にAS64513、実家にAS65412を使用するものとする。
自宅<->実家間のトンネルは以下の設定により接続されているものとする。
自宅
投入config
ip route 192.168.10.1 gateway tunnel 1 ip lan1 address 192.168.20.1/24 bgp use on bgp autonomous-system 64512 bgp log neighbor bgp neighbor 1 64513 192.168.10.1 gateway=tunnel1 local-address=192.168.20.1 bgp router id 192.168.10.1 bgp import filter 1 include 192.168.20.0/24 bgp import 64513 static filter 1
投入後
# bgp configure refresh # show status bgp neighbor 192.168.10.1 BGP neighbor is 192.168.10.1, remote AS 64512, local AS 64513, external link BGP version 4, remote router ID 192.168.10.1 BGP state = Established, up for 00:10:13 Last read 00:00:02, hold time is 30, keepalive interval is 10 seconds Received 64 messages, 0 notifications, 0 in queue Sent 66 messages, 0 notifications, 0 in queue Connection established 1; dropped 0 Last reset never Local host: 192.168.20.1, Local port: 179 Foreign host: 192.168.10.1, Foreign port: 1039 # show status bgp neighbor 192.168.10.1 received-routes Total routes: 1 *: valid route Network Next Hop Metric LocPrf Path * 192.168.10.0/24 0.0.0.0 64512 IGP # show status bgp neighbor 192.168.10.1 advertised-routes Total routes: 1 *: valid route Network Next Hop Metric LocPrf Path * 192.168.20.0/24 192.168.100.1 64513 IGP #
実家
投入config
ip route 192.168.20.1 gateway tunnel 1 ip vlan1 address 192.168.10.1/24 bgp use on bgp autonomous-system 64513 bgp log neighbor bgp neighbor 1 64512 192.168.20.1 gateway=tunnel1 local-address=192.168.10.1 bgp router id 192.168.20.1 bgp import filter 1 include 192.168.10.0/24 bgp import 64512 static filter 1
投入後
# bgp configure refresh # show status bgp neighbor 192.168.20.1 BGP neighbor is 192.168.20.1, remote AS 64513, local AS 64512, external link BGP version 4, remote router ID 192.168.20.1 BGP state = Established, up for 00:09:52 Last read 00:00:03, hold time is 30, keepalive interval is 10 seconds Received 61 messages, 0 notifications, 0 in queue Sent 69 messages, 0 notifications, 0 in queue Connection established 1; dropped 0 Last reset never Local host: 192.168.10.1, Local port: 1039 Foreign host: 192.168.20.1, Foreign port: 179 # show status bgp neighbor 192.168.20.1 received-routes Total routes: 1 *: valid route Network Next Hop Metric LocPrf Path * 192.168.20.0/24 0.0.0.0 64513 IGP # show status bgp neighbor 192.168.20.1 advertised-routes Total routes: 1 *: valid route Network Next Hop Metric LocPrf Path * 192.168.10.0/24 192.168.0.1 64512 IGP #
自宅側セグメントは192.168.20.0/24
RTXには192.168.20.1/24を割り当て
実家側セグメントは192.168.10.0/24
RTXには192.168.10.1/24を割り当て
リモートアドレスがコネクテッドアドレスではないため
リモートアドレスはスタティックルートを設定する必要がある。
さらにリモートアドレスをスタティックルート設定するのと合わせて
「bgp neighbor」設定のパラメータに「gateway=tunnel1 local-address=192.168.x.1」をつけるのが味噌。
これが無いとつながらない。
パラメータはgatewayのみやlocal-addressのみもダメで両方必要
訂正
スタティックおじさん止めようとかいいながら時代錯誤なこと書いてました。
結局スタティックルート書いてたじゃん(コラ
BGPネイバーを対向ルータのトンネル内アドレスとしましょう
以下のようにトンネルインターフェイスにIPアドレスを割り当てとリモートアドレス指定をする
ip tunnel address x.x.x.1/30 ip tunnel remote address x.x.x.1
これでbgp neighborにtunnel指定やlocaladdress指定はいらなる。
ip tunnel remote addressを指定するのが味噌
このコマンドを入れることによってトンネルインタフェースを経由して BGP のコネクションを確立できるようになる。
参考:17.6 トンネルインタフェースの相手側の IPv4 アドレスの設定
自宅
ipv6 route default gateway dhcp lan2 ipv6 prefix 1 dhcp-prefix@lan2::/64 ip lan1 address 192.168.20.1/24 ipv6 lan1 address dhcp-prefix@lan2::1/64 ipv6 lan1 rtadv send 1 ipv6 lan2 address dhcp ipv6 lan2 prefix change log on ipv6 lan2 dhcp service client ngn type lan2 ntt ipsec auto refresh on ipsec ike keepalive use 1 on ipsec ike local address 1 2001:DB8::1 ipsec ike pre-shared-key 1 text Password ipsec ike remote address 1 2001:DB8::2 ipsec sa policy 101 1 esp aes-cbc sha-hmac tunnel select 1 ipsec tunnel 101 ip tunnel mtu 1406 ip tunnel tcp mss limit 1366 ip tunnel address 192.168.4.1/30 ip tunnel remote address 192.168.4.2 tunnel enable 1 ip lan1 address 192.168.20.1/24 bgp use on bgp autonomous-system 64512 bgp log neighbor bgp neighbor 1 64513 192.168.4.2 bgp router id 192.168.10.1 bgp import filter 1 include 192.168.20.0/24 bgp import 64513 static filter 1
実家
vlan port mapping lan1.4 vlan4 lan type lan1 port-based-option=divide-network ipv6 route default gateway dhcp vlan4 ipv6 vlan4 address dhcp ipv6 vlan4 address dhcp-prefix@vlan4::1/64 ipv6 vlan4 prefix change log on ipv6 vlan4 dhcp service client ipsec auto refresh on ipsec ike keepalive use 1 on ipsec ike local address 1 2001:DB8::2 ipsec ike pre-shared-key 1 text Password ipsec ike remote address 1 2001:DB8::1 ipsec sa policy 101 1 esp aes-cbc sha-hmac tunnel select 1 ipsec tunnel 101 ip tunnel mtu 1406 ip tunnel address 192.168.4.2/30 ip tunnel remote address 192.168.4.1 ip tunnel tcp mss limit 1366 tunnel enable 1 ip vlan1 address 192.168.10.1/24 bgp use on bgp autonomous-system 64513 bgp log neighbor bgp neighbor 1 64512 192.168.4.1 bgp router id 192.168.20.1 bgp import filter 1 include 192.168.10.0/24 bgp import 64512 static filter 1
設定変更後は基本的に「bgp configure refresh」コマンドを実行しないと反映されないので注意が必要。実行後にBGPセッションがつながるまでしばらく時間がかかる。