VyOSでBGPを設定したみた
こーめいです。
VyOSでBGPのオプションがどの程度使えるか気になって設定してみました。
BGP設定
set protocols bgp <AS番号>
neighbor設定
set protocols bgp <AS番号> neighbor <ip address> remote-as <AS番号>
nexthop-self設定
set protocols bgp <AS番号> neighbor <ip address> nexthop-self
デフォルトルート設定
set protocols bgp <AS番号> neighbor <ip address> default-originate
デフォルトルートを配送したい時に設定します。
hello timer設定
set protocols bgp <AS番号> neighbor <ip address> timer keepalive <sec>
dead timer設定
set protocols bgp <AS番号> neighbor <ip address> timer holdtime <sec>
retry timer設定
set protocols bgp <AS番号> neighbor <ip address> timer connect <times>
update-source設定
set protocols bgp <AS番号> neighbor <ip address> update-source <ip address>
router id設定
set protocols bgp <AS番号> parameters router-id <ip address>
ダイレクトコネクト再配送設定
set protocols bgp <AS番号> redistribute connected metric <value>
スタティックルート再配送設定
set protocols bgp <AS番号> redistribute static metric <value>
ebgp マルチパス再配送設定
set protocols bgp <AS番号> maximum-paths ebgp <values>
以下、設定をshowコマンドで見た時の状態です。reditributeは省いています。
protocols {
bgp 64513 {
maximum-paths {
ebgp 2
}
neighbor 172.16.1.2 {
default-originate {
}
nexthop-self
remote-as 64512
timers {
connect 1
holdtime 4
keepalive 1
}
update-source 172.16.1.1
}
parameters {
router-id 172.16.1.1
}
再配送部分は以下の通りです。
protocols {
bgp 64513 {
redistribute {
connected {
metric 1
}
static {
metric 1
}
}
}
合わせてRoute-map + prefix-listで再配送するstaticを絞ってみました。既に気づいているかと思いますが、双方とも暗黙のdenyで落としています。
policy {
prefix-list static {
rule 5 {
action permit
prefix 0.0.0.0/0
}
}
route-map static {
rule 1 {
action permit
match {
ip {
address {
prefix-list static
}
}
}
}
}
protocols {
bgp 64513 {
redistribute {
static {
metric 10
route-map static
}
}
}
コンフィグレーションとは別で各設定は動作確認を取りましたが、マルチパスのbgpテーブルとルーティングテーブルはメモしておきます。
vyos@vyos:~$ show ip bgp
BGP table version is 0, local router ID is 172.16.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
* 192.168.0.0 172.16.2.2 0 0 64512 i
*> 172.16.1.2 0 0 64512 i
vyos@vyos:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
I - ISIS, B - BGP, > - selected route, * - FIB route
S 0.0.0.0/0 [1/0] via 172.16.1.254
C>* 172.16.1.0/24 is directly connected, eth1
C>* 172.16.2.0/24 is directly connected, eth2
B>* 192.168.0.0/24 [20/0] via 172.16.1.2, eth1, 03:12:25
* via 172.16.2.2, eth2, 03:12:25
ちなみにbgpの設定を対向側で落としたりしましたが、以下の通りログも出力されていました。Trap確認すれば良かった・・・。
$ cat /var/log/messages vyos bgpd[2549]: stream_read_try: read failed on fd 9: Connection reset by peer vyos bgpd[2549]: 172.16.1.2 [Error] bgp_read_packet error: Connection reset by peer
細かい点までBGPでやりたかったことは一通り確認できました。
シェアして頂けると嬉しいです。
参考になったという方がいれば是非お願いしますm(_ _ )m
モチベーション維持の観点で非常に励みになります。

Vyatta仮想ルータ活用ガイド (Software Design plus)
- 作者: 松本直人,さくらインターネット研究所,日本Vyattaユーザー会
- 出版社/メーカー: 技術評論社
- 発売日: 2014/06/14
- メディア: 大型本
- この商品を含むブログを見る

Cisco BGP‐4コマンド設定ハンドブック―Cisco IOSで使うすべてのBGP‐4コマンドを完全詳解 (CCIE professional development)
- 作者: ウィリアム・R.パークハースト,シスコシステムズ,William R. Parkhurst,糸川洋
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2002/07/23
- メディア: 単行本
- 購入: 1人 クリック: 19回
- この商品を含むブログ (2件) を見る