自宅(RTX1200)<->実家間(RTX810)をBGPでルーティングしてみた

自宅<->実家間をBGPでルーティングしてみたの巻

今までスタティックでルーティングしていましたが
いつまでもスタティックおんじさんしているのは時代錯誤?かなと思い
BGPでのルーティングしてみた。

別にOSPFでも良い気もしますが、ここではBGPとした。

自宅にAS64513、実家にAS65412を使用するものとする。
自宅<->実家間のトンネルは以下の設定により接続されているものとする。

RTX1200-RTX810でVPN

自宅

投入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セッションがつながるまでしばらく時間がかかる。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です