VirtualBoxにRocky Linux9.4を入れてFRRを使ってBGP Unnumberedをしてみた

Windows11環境のVirtualBoxにRocky Linux 9.4にFRRを入れてBGP Unnumberedを試してみました。

VirtualBoxにRocky Linux 9.4を入れる手順は以下のページに書いてあります。

Virtual Box Rocky Linux 9.4をインストールしてみた | ランスルネット (runsurunet.com)

今回設定するBGPの方針としては、主に以下の通りです。

  • サーバ2台 それぞれNICを2つ使ってBGP Unnumberedを利用する
  • 広報する経路は、サーバ自身のdummy0のIPのみに絞る
  • 受信する経路は、Private IP アドレス全てを許可する

BGPの構成図

2台のRocky Linux 9.4でBGP Unnumberedの設定をします。

Virtualboxのネットワークの構成

Virtualboxの場合、ゲストOS(Rocky Linux 9.4)の2台のネットワークを論理的に接続するのには、少し癖があるので、今回設定した内容を記載しておきます。

内部ネットワーク

それぞれのゲストOSがBGP Unnumberedを接続する方法として、今回は 内部ネットワークを選択しました。それぞれの内部ネットワークは名前を変えて別にしています。

その他のネットワークの設定

インターネット接続用にはNATssh、ssh用にはホストオンリーアダプターにしています。表にまとめると以下のように設定しています。

アダプター1アダプター2アダプター3アダプター4
frr-linux01NATホストオンリー
アダプター
内部ネットワーク
(frr-eth1)
内部ネットワーク
(frr-eth2)
frr-linux02NATホストオンリー
アダプター
内部ネットワーク
(frr-eth1)
内部ネットワーク
(frr-eth2)
用途インターネット
通信(dnf用)
ssh用BGP
Unnumbered
BGP
Unnumbered

Virtualboxのネットワークの設定は、過去のページが参考になるかと思います。

Virtual Box Rocky Linux 9.4をインストールしてみた | ランスルネット (runsurunet.com)

Oracle VM VirtualBox ネットワークアダプターの種類の説明 | ランスルネット (runsurunet.com)

FRRのインストール

dummy0の設定

FRRでBGP Unnumberedを使用する場合、仮想インタフェースが必要になります。loopbackでもいいのですが、今回はdummy0を作成します。

■frr-linix01

nmcli connection add type dummy ifname dummy0 ipv4.method manual ipv4.addresses 172.16.0.1/32

■frr-linix02

nmcli connection add type dummy ifname dummy0 ipv4.method manual ipv4.addresses 172.16.0.2/32

■確認

ip aでdummy0が追加されていること、IPが設定されていることを確認します。

ip a

余談:loopbackでもBGP Unnumberedは利用できます。ただ、keepalivedなど一部dummyを認識しないものがあります。

/etc/syscl.conf の設定

BGP Unnumberedのようなサーバが複数のNICを持っている場合、rp_filterを無効にする必要があります。rp_filterは、セキュリティを強化する設定です。NIC#1に入ってきたものは、NIC#1から返答しなければならないが、違う場合は破棄をしていまいます。これを無効化する設定をします。

■frr-linux01/frr-linux02共通

vi で/etc/sysctl.confを開きます。

sudo vi /etc/sysctl.conf

以下の内容を貼り付けます。3行目、4行目はenp0s9enp0s10はNIC名です。値の0は無効、途中

net.ipv4.conf.all.rp_filter= 0
net.ipv4.conf.default.rp_filter= 0
net.ipv4.conf.enp0s9.rp_filter = 0
net.ipv4.conf.enp0s10.rp_filter = 0

/etc/sysctl.confの内容を反映させます

sudo sysctl -p

rp_filterの詳細な説明は、以下をご参照ください。ChatGPTによる解説です。

Information
設定項目解説
net.ipv4.conf.all.rp_filter=0すべてのインターフェースで逆方向パスフィルタ(Reverse Path Filtering)を無効化します。rp_filterは、パケットが正しいインターフェースから送信されたかを確認するセキュリティ機能です。無効化することで、パケットが異なるインターフェースを通過する可能性のあるマルチホーム環境や、特定のルーティングが必要な環境(例えば、マルチキャストルーティングなど)で正常に機能させることができます。
net.ipv4.conf.default.rp_filter=0新たに追加されるインターフェースのデフォルト設定としてrp_filterを無効化します。将来追加される全てのインターフェースで、逆方向パスフィルタリングを無効にするための設定です。
net.ipv4.conf.enp0s9.rp_filter=0特定のインターフェースenp0s9の逆方向パスフィルタを無効化します。この設定により、パケットが別のインターフェースを通って戻ることが許され、複雑なルーティングが必要な場合に役立ちます。
net.ipv4.conf.enp0s10.rp_filter=0特定のインターフェースenp0s10の逆方向パスフィルタを無効化します。この設定により、enp0s10でのリバースパスフィルタリングが無効化され、柔軟なルーティングが可能になります。

rp_filterの設定値

rp_filterには以下の3つの設定値があります:

設定値説明
0無効化。パケットのソースアドレスのチェックを行いません。
1厳密なモード。受信したパケットが、そのインターフェースから送信するルートがある場合のみ許可されます(デフォルト)。
2緩和モード。システム全体のルーティングテーブルでチェックを行い、どのインターフェースでもルートがあれば受信を許可します。

解説

rp_filter(Reverse Path Filtering)は、受信したパケットのソースアドレスが正しいルートを通過しているかを確認し、不正なソースアドレスを持つパケットを破棄するセキュリティ機能です。この機能を有効にしていると、特定のルーティング構成(例えば、マルチホーム環境やポリシーベースルーティング)で正常に動作しないことがあります。そのため、マルチパスルーティングや複雑なネットワーク構成を使用する場合には、rp_filterを無効にすることが推奨されます。

逆方向パスフィルタを無効化する理由

  • マルチホーム環境:複数の異なるネットワークインターフェースを通じて外部ネットワークに接続されている場合、逆方向パスフィルタが有効だと、正当なパケットが破棄されることがあります。
  • ポリシーベースルーティング:特定のポリシーに基づいてパケットをルーティングする場合、rp_filterがパケットの処理に干渉する可能性があるため、無効にする必要があります。

したがって、この設定は、柔軟なネットワーク環境やカスタムルーティングが必要なシステムでよく使われます。

/etc/gai.conf の作成 (IPv4をIPv6より優先させたい場合)

BGP Unnumberedを利用する場合、IPv6を入れる必要があります。その優先順位は、/etc/gai.confに記載します。

■frr-linux01/frr-linux02共通

sudo vi /etc/gai.conf

precedence ::ffff:0:0/96  60
#precedence  ::1/128       50
#precedence  ::/0          40
#precedence  2002::/16     30
#precedence ::/96          20

precedence ::ffff:0:0/96 60 がIPv4を優先させる設定です。

gai.confのマニュアルはこちら。

gai.conf(5) – Linux manual page (man7.org)

dnfを使ってFRRをインストール

■frr-linux01/frr-linux02共通

dnfでfrrをインストールします。

sudo dnf install frr -y

FRRの事前設定

■frr-linux01/frr-linux02共通

最初に/etc/frr/daemonsを編集してBGPを有効にします。

sudo vi /etc/frr/daemons

bgpd = no となっているので、yesに変更します。

# no -> yes にする
bgpd=yes

FRRを起動させて、再起動しても起動できるように設定しておきます。

# FRRを起動させる
sudo systemctl start frr

# FRRを再起動しても起動するようにしておく
sudo systemctl enable frr

FRRの設定

今回設定するBGPの方針としては、主に以下の通りです。

  • サーバ2台 それぞれNICを2つ使ってBGP Unnumberedを利用する
  • 広報する経路は、サーバ自身のdummy0のIPのみに絞る
  • 受信する経路は、Private IP アドレス全てを許可する

FRRの設定は、vtyshと入力して設定していきます。

sudo vtysh

■frr-linux01の設定

ip prefix-listとroute-mapの設定

ip prefix-listのDummy0set srcは、サーバ自身のdummy0のIP 172.16.0.1にします。

conf t

ip prefix-list Dummy0 seq 5 permit 172.16.0.1/32

ip prefix-list Private_IP_Addresses seq 5 permit 10.0.0.0/8 le 32
ip prefix-list Private_IP_Addresses seq 10 permit 172.16.0.0/12 le 32
ip prefix-list Private_IP_Addresses seq 15 permit 192.168.0.0/16 le 32

route-map Redistribute_dummy_interface permit 10
 match interface dummy0
exit

route-map Dummy_SET_SRC permit 10
 match tag 101
 set src 172.16.0.1
exit
!
route-map SERVER_IN permit 10
 set tag 101
exit

end

BGPの設定

conf t
router bgp 64901
 bgp router-id 172.16.0.1
 bgp log-neighbor-changes
 bgp bestpath as-path multipath-relax
 neighbor SERVER peer-group
 neighbor SERVER remote-as external
 neighbor SERVER advertisement-interval 0
 neighbor SERVER timers 1 3
 neighbor SERVER timers connect 5
 neighbor SERVER capability extended-nexthop
 neighbor enp0s9 interface peer-group SERVER
 neighbor enp0s10 interface peer-group SERVER

 !
 address-family ipv4 unicast
  redistribute connected route-map Redistribute_dummy_interface
  neighbor SERVER soft-reconfiguration inbound
  neighbor SERVER prefix-list Dummy0 out
  neighbor SERVER prefix-list Private_IP_Addresses in
  neighbor SERVER route-map SERVER_IN in
 exit-address-family
exit
end

最後にDummy_SET_SRCのroute-mapを設定します。

conf t
ip protocol bgp route-map Dummy_SET_SRC
end

設定保存

今回のインストールしたFRRのバージョン8.5.3 では /etc/frr/frr.conf に設定保存されます。※別のバージョンでは、BGP/OSPFなど各daemonによってファイルが分かれています。

sudo write memory

■frr-linux02の設定

ip prefix-listとroute-mapの設定

ip prefix-listのDummy0set srcは、サーバ自身のdummy0のIP 172.16.0.2にします。

conf t

ip prefix-list Dummy0 seq 5 permit 172.16.0.2/32

ip prefix-list Private_IP_Addresses seq 5 permit 10.0.0.0/8 le 32
ip prefix-list Private_IP_Addresses seq 10 permit 172.16.0.0/12 le 32
ip prefix-list Private_IP_Addresses seq 15 permit 192.168.0.0/16 le 32

route-map Redistribute_dummy_interface permit 10
 match interface dummy0
exit

route-map Dummy_SET_SRC permit 10
 match tag 101
 set src 172.16.0.2
exit
!
route-map SERVER_IN permit 10
 set tag 101
exit

end

BGP設定

conf t

router bgp 64902
 bgp router-id 172.16.0.2
 bgp log-neighbor-changes
 bgp bestpath as-path multipath-relax
 neighbor SERVER peer-group
 neighbor SERVER remote-as external
 neighbor SERVER advertisement-interval 0
 neighbor SERVER timers 1 3
 neighbor SERVER timers connect 5
 neighbor SERVER capability extended-nexthop
 neighbor enp0s9 interface peer-group SERVER
 neighbor enp0s10 interface peer-group SERVER

 !
 address-family ipv4 unicast
  redistribute connected route-map Redistribute_dummy_interface
  neighbor SERVER soft-reconfiguration inbound
  neighbor SERVER prefix-list Dummy0 out
  neighbor SERVER prefix-list Private_IP_Addresses in
 exit-address-family
exit

最後にDummy_SET_SRCのroute-mapを設定します。

conf t
ip protocol bgp route-map Dummy_SET_SRC
end

設定保存

sudo write memory

設定内容の解説

Information

設定の解説

設定項目説明
router bgp 64901BGPプロトコルの設定開始。AS番号(Autonomous System Number)は 64901
bgp router-id 172.16.0.1BGPルーターの識別子として 172.16.0.1 を設定。通常、ルータIDはルーティングのループ防止などに使用されます。
bgp log-neighbor-changesBGPピアの状態変更が発生したときにログに記録します。
bgp bestpath as-path multipath-relax複数の異なるASパスを持つ経路もマルチパスとして扱えるようにする設定。冗長性が向上します。
neighbor SERVER peer-groupピアグループSERVERを定義。複数のピアに共通の設定を適用できます。
neighbor SERVER remote-as externalピアグループ SERVER が外部ASに属していることを指定。
neighbor SERVER advertisement-interval 0経路の広告間隔を 0秒 に設定。最小限の遅延でルートを広告します。
neighbor SERVER timers 1 3ピアとのBGPキープアライブタイマーを 1秒、ホールドタイマーを 3秒 に設定。非常に短い間隔で接続の健全性を確認します。
neighbor SERVER timers connect 5BGP接続の確立に 5秒を設定。
neighbor SERVER capability extended-nexthop拡張Nexthop機能の使用を許可。IPv6のNexthop情報も扱えます。
neighbor enp0s9 interface peer-group SERVERインターフェース enp0s9 をピアグループ SERVER に関連付け。
neighbor enp0s10 interface peer-group SERVERインターフェース enp0s10 をピアグループ SERVER に関連付け。
address-family ipv4 unicastIPv4ユニキャストアドレスファミリーの設定。
redistribute connected route-map Redistribute_dummy_interface接続されているルートを再配布し、ルートマップ Redistribute_dummy_interface に基づいて制御。
neighbor SERVER soft-reconfiguration inboundインバウンドのソフトリコンフィグレーションを許可し、受け取った経路をリフレッシュすることが可能。
neighbor SERVER prefix-list Private_IP_Addresses inピア SERVER から受信する経路を Private_IP_Addressesプレフィックスリストでフィルタリング。
neighbor SERVER prefix-list Dummy0 outピア SERVERDummy0プレフィックスリストに基づいたルートを広告。
neighbor SERVER route-map SERVER_IN inピア SERVER から受信する経路に SERVER_INルートマップを適用。
ip prefix-list Private_IP_Addresses seq 5 permit 10.0.0.0/8 le 32プライベートアドレス空間 10.0.0.0/8 を許可。
ip prefix-list Private_IP_Addresses seq 10 permit 172.16.0.0/12 le 32プライベートアドレス空間 172.16.0.0/12 を許可。
ip prefix-list Private_IP_Addresses seq 15 permit 192.168.0.0/16 le 32プライベートアドレス空間 192.168.0.0/16 を許可。
ip prefix-list Dummy0 seq 5 permit 172.16.0.1/32Dummy0プレフィックスリストで、IPアドレス 172.16.0.1/32 のルートを許可。
route-map Redistribute_dummy_interface permit 10ルートマップ Redistribute_dummy_interface で、dummy0インターフェースに一致する接続ルートを再配布
route-map SERVER_IN permit 10ピア SERVERから受信したルートに タグ101を設定。
route-map Dummy_SET_SRC permit 10タグが 101 の場合、ソースIPアドレスを 172.16.0.1 に設定。
ip protocol bgp route-map Dummy_SET_SRCBGPルートに Dummy_SET_SRCルートマップを適用し、特定のソースIPを設定。

まとめ

この設定は、BGPピア SERVER との通信を効率化するためのもので、BGPの経路再配布、フィルタリング、特定のソースアドレスの設定を行っています。各インターフェースにピアグループを割り当て、プレフィックスリストやルートマップを使って、インバウンドおよびアウトバウンドの経路を適切に制御しています。

通信確認

BGPの状態確認

FRRから以下のコマンドで確認をします。

show ip bgp summary

以下のようになっていればBGPが確立できています。BGPが出来ていない時は、State/PfxRcdActiveConnectだったりしますここでは、受け取っている経路の数 1 となっているので正常です。

frr-linux02# show ip bgp summary

IPv4 Unicast Summary (VRF default):
BGP router identifier 172.16.0.2, local AS number 64902 vrf-id 0
BGP table version 2
RIB entries 3, using 576 bytes of memory
Peers 2, using 1449 KiB of memory
Peer groups 1, using 64 bytes of memory

Neighbor        V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt Desc
enp0s9          4      64901      2401      2400        0    0    0 00:40:00            1        1 N/A
enp0s10         4      64901      2401      2400        0    0    0 00:40:00            1        1 N/A

BGPの広報経路の確認

2つのNIC enp0s9enp0s10の広報経路を確認します。

show ip bgp neighbors enp0s9 advertised-routes
show ip bgp neighbors enp0s10 advertised-routes

サーバ自身のdummy0 だけ広報していれば成功です。frr-linux02であれば、172.16.0.2が広報されていればOKです。

frr-linux02# show ip bgp neighbors enp0s10 advertised-routes
BGP table version is 2, local router ID is 172.16.0.2, vrf id 0
Default local pref 100, local AS 64902
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

    Network          Next Hop            Metric LocPrf Weight Path
 *> 172.16.0.2/32    ::                       0         32768 ?

BGPの受信経路の確認

2つのNIC enp0s9enp0s10の受信経路を確認します。

show ip bgp neighbors enp0s9 routes
show ip bgp neighbors enp0s10 routes

相手のサーバのdummy0 だけ広報していれば成功です。frr-linux02であれば、frr-linux01のdummy0172.16.0.1が受信されていればOKです。

frr-linux02# show ip bgp neighbors enp0s09 routes
% Malformed address or name: enp0s09
frr-linux02# show ip bgp neighbors enp0s9 routes
BGP table version is 2, local router ID is 172.16.0.2, vrf id 0
Default local pref 100, local AS 64902
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

    Network          Next Hop            Metric LocPrf Weight Path
 *> 172.16.0.1/32    enp0s9                   0             0 64901 ?

BGPテーブルとルーティングテーブルの確認

frr-linux02から見て、frr-linux01のdummy0172.16.0.1のNext-hopがenp0s9enp0s102つが見えていればOKです。multipathされていることがわかります。

frr-linux02# show ip bgp
BGP table version is 2, local router ID is 172.16.0.2, vrf id 0
Default local pref 100, local AS 64902
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

    Network          Next Hop            Metric LocPrf Weight Path
 *= 172.16.0.1/32    enp0s10                  0             0 64901 ?
 *>                  enp0s9                   0             0 64901 ?
 *> 172.16.0.2/32    0.0.0.0                  0         32768 ?

同じくルーティングテーブルもfrr-linux02から見て、frr-linux01のdummy0172.16.0.1のNext-hopがenp0s9enp0s102つが見えていればOKです。

frr-linux02# show ip route bgp
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, F - PBR,
       f - OpenFabric,
       > - selected route, * - FIB route, q - queued, r - rejected, b - backup
       t - trapped, o - offload failure

B>* 172.16.0.1/32 [20/0] via fe80::1584:623d:e26a:b35a, enp0s9, weight 1, 00:51:43
  *                      via fe80::43ee:e1c1:3d95:3cff, enp0s10, weight 1, 00:51:43

ping確認

相手にpingが通れば成功です。

[aa@frr-linux01 ~]$ ping 172.16.0.2
PING 172.16.0.2 (172.16.0.2) 56(84) bytes of data.
64 バイト応答 送信元 172.16.0.2: icmp_seq=1 ttl=64 時間=1.01ミリ秒
64 バイト応答 送信元 172.16.0.2: icmp_seq=2 ttl=64 時間=0.832ミリ秒
64 バイト応答 送信元 172.16.0.2: icmp_seq=3 ttl=64 時間=0.849ミリ秒
64 バイト応答 送信元 172.16.0.2: icmp_seq=4 ttl=64 時間=0.975ミリ秒

ip protocol bgp route-map Dummy_SET_SRCの設定

今回にように仮想インターフェースを設定した場合、どこの送信元にすればいいかわからないようです。そのため、サーバ自身がpingをしても失敗します。これを防ぐために、BGPの経路を受け取ってカーネルに入れる前に送信元インターフェース のIPを設定しておきます。

## FRR #### 
router bgp 64902
 address-family ipv4 unicast
   neighbor SERVER route-map _SERVER_IN in


route-map Dummy_SET_SRC permit 10
 match tag 101
 set src 172.16.0.1
!
route-map SERVER_IN permit 10
 set tag 101

Shellからip routeコマンドをしたときに bgp src 172.16.0.1となっているのがわかります。

## FRR #### 
[aa@frr-linux01 ~]$ ip route
default via 10.0.2.2 dev enp0s3 proto dhcp src 10.0.2.15 metric 101
172.16.0.2 nhid 86 proto bgp src 172.16.0.1 metric 20 <======== ここ
        nexthop via inet6 fe80::c8f:b654:e1a0:87a4 dev enp0s9 weight 1
        nexthop via inet6 fe80::17ad:9581:1bbe:e93f dev enp0s10 weight 1

以下のページを参考にしました。感謝です。

Tips of Routing on the Host #Network – Qiita

最終的なFRRのコンフィグ

frr-linux01

## FRR #### 
frr-linux01# show running-config
Building configuration...

Current configuration:
!
frr version 8.5.3
frr defaults traditional
hostname frr-linux01
no ipv6 forwarding
!
router bgp 64901
 bgp router-id 172.16.0.1
 bgp log-neighbor-changes
 bgp bestpath as-path multipath-relax
 neighbor SERVER peer-group
 neighbor SERVER remote-as external
 neighbor SERVER advertisement-interval 0
 neighbor SERVER timers 1 3
 neighbor SERVER timers connect 5
 neighbor SERVER capability extended-nexthop
 neighbor enp0s9 interface peer-group SERVER
 neighbor enp0s10 interface peer-group SERVER
 !
 address-family ipv4 unicast
  redistribute connected route-map Redistribute_dummy_interface
  neighbor SERVER soft-reconfiguration inbound
  neighbor SERVER prefix-list Private_IP_Addresses in
  neighbor SERVER prefix-list Dummy0 out
  neighbor SERVER route-map SERVER_IN in
 exit-address-family
exit
!
ip prefix-list Private_IP_Addresses seq 5 permit 10.0.0.0/8 le 32
ip prefix-list Private_IP_Addresses seq 10 permit 172.16.0.0/12 le 32
ip prefix-list Private_IP_Addresses seq 15 permit 192.168.0.0/16 le 32
ip prefix-list Dummy0 seq 5 permit 172.16.0.1/32
!
route-map Redistribute_dummy_interface permit 10
 match interface dummy0
exit
!
route-map SERVER_IN permit 10
 set tag 101
exit
!
route-map Dummy_SET_SRC permit 10
 match tag 101
 set src 172.16.0.1
exit
!
ip protocol bgp route-map Dummy_SET_SRC
!
end

frr-linux02

## FRR #### 
frr-linux02# show running-config
Building configuration...

Current configuration:
!
frr version 8.5.3
frr defaults traditional
hostname frr-linux02
no ipv6 forwarding
!
router bgp 64902
 bgp router-id 172.16.0.2
 bgp log-neighbor-changes
 bgp bestpath as-path multipath-relax
 neighbor SERVER peer-group
 neighbor SERVER remote-as external
 neighbor SERVER advertisement-interval 0
 neighbor SERVER timers 1 3
 neighbor SERVER timers connect 5
 neighbor SERVER capability extended-nexthop
 neighbor enp0s9 interface peer-group SERVER
 neighbor enp0s10 interface peer-group SERVER
 !
 address-family ipv4 unicast
  redistribute connected route-map Redistribute_dummy_interface
  neighbor SERVER soft-reconfiguration inbound
  neighbor SERVER prefix-list Private_IP_Addresses in
  neighbor SERVER prefix-list Dummy0 out
  neighbor SERVER route-map SERVER_IN in
 exit-address-family
exit
!
ip prefix-list Private_IP_Addresses seq 5 permit 10.0.0.0/8 le 32
ip prefix-list Private_IP_Addresses seq 10 permit 172.16.0.0/12 le 32
ip prefix-list Private_IP_Addresses seq 15 permit 192.168.0.0/16 le 32
ip prefix-list Dummy0 seq 5 permit 172.16.0.2/32
!
route-map Redistribute_dummy_interface permit 10
 match interface dummy0
exit
!
route-map SERVER_IN permit 10
 set tag 101
exit
!
route-map Dummy_SET_SRC permit 10
 match tag 101
 set src 172.16.0.2
exit
!
ip protocol bgp route-map Dummy_SET_SRC
!
end

さいごに

普段のメインの仕事は、ネットワークエンジニアなのでサーバ側のFRRの設定は苦労するかと思いましたが、インターネット上にそこそこ情報があったので何とか設定出来ました。大変助かりました。先人の方々に感謝です。次は、以前作成したSONiC VM版とLinuxのFRRでBGP Unnumberedにチャレンジしたいと思います。

Windows 11 Home環境 Virtual BoxでSONiC Community版でBGP Unnumberedをしてみた Part1 | ランスルネット (runsurunet.com)

Windows 11 Home環境 Virtual BoxでSONiC Community版でBGP Unnumberedをしてみた Part2 | ランスルネット (runsurunet.com)

参考ページ

設定がうまくいかない時など参考にしたサイト様です。ありがとうございました。

Dummyインターフェースの設定

第17章 ダミーインターフェイスの作成 | Red Hat Product Documentation

gai.confの設定

/etc/gai.conf | きみとぼくとめもと (techack.net)

rp_filterやfrrの仮想インタフェースを送信元にする設定

Tips of Routing on the Host #Network – Qiita

Follow me!

コメントを残す