gobgpでpeer
ubuntuでgobgpを動かそうと思ったけどまたしても予期せぬ障害。
ultravncでubuntsuに接続して、gobgpd.confをviで編集していざ保存しようとしたら
コロンが打てない
dpkg-reconfigure keyboard-configurationでいろいろと変えてみて頑張ってみたけど、どうしてもコロンが打てない。
幸いubuntuはGUIで構築していたので、直接テキストファイルを編集しようと思ったけど、gobgp関連は/root/配下に保存していた。
またしてもgobgpd.confが編集できない壁にぶちあたる。
この問題はnautilusコマンドでなんと解決できた。
サーバーはこういうのがいっぱいあるので本当に苦手。
後、どうでもいいけどubuntuってタイプするときどうしてもubuntsuって打ってしまう。
というわけで以下の構成でのbgp peerを目指してbgpd.confを作成。
bgpd.conf
[global.config]
as = 65100
[neighbors.config]
neighbor-address = "192.168.0.2"
peer-as = 65200
[neighbors.config]
neighbor-address = "192.168.0.3"
peer-as = 65300
※[]を二重にすると変な風になる。はてなブログの書き方調べてない。
CSRvとXRvの方も普通のbgpの設定を行う。
XRを触るのは初めてだがpeer張るだけの設定であれば大きな違いはなさそう。
そして、以下コマンド
./gobgpd -f gobgpd.conf
CSRvの方はpeerは問題なく張れたがXRvの方が張れない。
XRv側の問題なのか、gobgp側の問題なのか切り分けるためにCSRvとXRvでpeerを張ってみることに。
しかしここもpeerが張れない。どうやらXRvの設定に問題があるみたい。
最初投入していたconfigは以下。
router bgp 65300
neighbor 192.168.0.2
remote-as 65200
!
neighbor 192.168.0.4
remote-as 65100
よくわらかないのでCSRv側でdebug ip bgp allを実行。
こんなエラーがでてた。
*Apr 19 12:51:31.715: BGP: 192.168.0.3 active went from Idle to Active
*Apr 19 12:51:31.715: BGP: 192.168.0.3 open active, local address 192.168.0.2
*Apr 19 12:51:31.724: BGP: ses global 192.168.0.3 (0x7F862AE0EC68:0) act Adding topology IPv4 Unicast:base
*Apr 19 12:51:31.724: BGP: ses global 192.168.0.3 (0x7F862AE0EC68:0) act Send OPEN
*Apr 19 12:51:31.724: BGP: ses global 192.168.0.3 (0x7F862AE0EC68:0) act Building Enhanced Refresh capability
*Apr 19 12:51:31.724: BGP: 192.168.0.3 active went from Active to OpenSent
*Apr 19 12:51:31.724: BGP: 192.168.0.3 active sending OPEN, version 4, my as: 65200, holdtime 180 seconds, ID C0A80002
*Apr 19 12:51:31.733: BGP: ses global 192.168.0.3 (0x7F862AE0EC68:0) act Remote close.
*Apr 19 12:51:31.733: BGP: nbr_topo global 192.168.0.3 IPv4 Unicast:base (0x7F862AE0EC68:0) Not scheduling for GR processing [Peer did not advertise GR cap]
*Apr 19 12:51:31.733: %BGP-5-NBR_RESET: Neighbor 192.168.0.3 active reset (Peer closed the session)
*Apr 19 12:51:31.733: BGP: ses global 192.168.0.3 (0x7F862AE0EC68:0) act Reset (Peer closed the session).
*Apr 19 12:51:31.733: BGP: nbr_topo global 192.168.0.3 IPv4 Unicast:base (0x7F862AE0EC68:0) NSF delete stale NSF not active
*Apr 19 12:51:31.733: BGP: nbr_topo global 192.168.0.3 IPv4 Unicast:base (0x7F862AE0EC68:0) NSF no stale paths state is NSF not active
*Apr 19 12:51:31.733: BGP: nbr_topo global 192.168.0.3 IPv4 Unicast:base (0x7F862AE0EC68:0) Resetting ALL counters.
*Apr 19 12:51:31.733: BGP: 192.168.0.3 active closing
*Apr 19 12:51:31.733: BGP: ses global 192.168.0.3 (0x7F862AE0EC68:0) act Session close and reset neighbor 192.168.0.3 topostate
*Apr 19 12:51:31.733: BGP: nbr_topo global 192.168.0.3 IPv4 Unicast:base (0x7F862AE0EC68:0) Resetting ALL counters.
*Apr 19 12:51:31.733: BGP: 192.168.0.3 active went from OpenSent to Idle
*Apr 19 12:51:31.733: %BGP_SESSION-5-ADJCHANGE: neighbor 192.168.0.3 IPv4 Unicast topology base removed from session Peer closed the session
*Apr 19 12:51:31.733: BGP: ses global 192.168.0.3 (0x7F862AE0EC68:0) act Removed topology IPv4 Unicast:base
*Apr 19 12:51:31.733: BGP: ses global 192.168.0.3 (0x7F862AE0EC68:0) act Removed last topology
*Apr 19 12:51:31.733: BGP: nbr global 192.168.0.3 Open active delayed 11264ms (35000ms max, 60% jitter)
*Apr 19 12:51:31.733: BGP: nbr global 192.168.0.3 Active open failed - open timer running
いろいろ調べたらGRが対応していないからピアが張れない的な記事を見つけて、no bgp graceful-restartコマンドを投入してみたが効果なし。
んーんー悩んでshow bgp neighborsコマンド打ったら
BGP neighbor is 192.168.0.4
Remote AS 65100, local AS 65300, external link
Remote router ID 0.0.0.0
BGP state = Idle (No address-family configured)
address-familyが設定されていないとのこと。
とりあえずルータコンフィグレーションモードとネイバーコンフィギュレーションモードでaddress-family ipv4 unicastとだけコマンドしcommitしたところ無事ピアが張れた。
本当はフルルート送信までやりたかったけどここまででかなり疲れたので次回。