【検証】ごちゃごちゃしたBGPの設定を時短したい

## 概要
検証環境をつくるとき、基本の設定に結構時間がかかって疲れてしまいます。少しでも時短できたらいいな-と試している中で気づいたことです。

## 構成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/ae2e2417-a28d-05d5-52a4-7951ab148bc4.png)

IPv4とIPv6でBGP接続しています
ごちゃごちゃ感を出してみましたが、IPv4のみでも使えるかと思います

おもにiBGPをLoopbackでフルメッシュするときの時短方法を試しています
<br>

## 自身のIFアドレスをネイバに指定した場合、show runに反映されない
→**Loopbackをupdate sourceにする場合、iBGP内すべて同じ設定をコピペできる**
<br>

上記の構成でiBGPを設定するとき、例えばRBに自身のLoopbackである2.2.2.2 をneighborに指定すると、"% Cannot configure the local system as neighbor"とエラーが表示されます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/8378c021-9ba9-7ccf-21f7-6f1e0c4c51fe.png)

エラーになったコマンドは弾かれていて、show runに反映されていません
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/ce82b004-0d71-7e1a-13a4-2ec9d4970c31.png)

RCとRDもそれぞれ自身のアドレスはエラーになっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/55b19c04-8639-c076-7c49-073266007da6.png)
<br>

補足
address familyで設定していないためIPv6のBGPは確立できていません

ちなみに、この状態でbgp upgrade-cli(ノーマルのBGPコマンドをaddress familyに変換するやつ)を投入してもIPv6は設定できませんでした
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/d00a402d-dd36-ef37-d7d1-58a8df2d9522.png)

ciscoのコンフィグガイドにもIPv6はaddress familyで設定してね、と書かれています
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/f3146e09-bc21-9545-f3f8-16c858a713be.png)
貼り付け元  <https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_bgp/configuration/15-mt/irg-15-mt-book/irg-basic-net.html#GUID-6974ADF9-772B-4E7D-99C5-9C00BCD3C77D> 
<br>

## address familyコンフィグモードでremoto-asを設定した場合、自動でneighbor x.x.x.x activateが設定される
→**address familyのactivateを省略できる＆うっかり投入忘れを防げるかも**

コンフィグガイド通りだと、ルータコンフィグモードでremote-asを設定した後(赤枠)、address family コンフィグモードでactivate(青枠)する必要があります
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/f9f8b4c1-a50e-e03e-734d-110e41e67ec2.png)

貼り付け元  <https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_bgp/configuration/15-mt/irg-15-mt-book/irg-basic-net.html#GUID-6974ADF9-772B-4E7D-99C5-9C00BCD3C77D> 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/3e9989dd-1404-bdfd-481a-236e57e9b4ed.png)


<br>

**同じ設定をaddress family コンフィグモードにremote-asを入れるかたちで設定してみます
(青枠内に赤枠のコマンドを入れる)**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/c6fe648a-f213-4c15-dc89-2c7ba41ca43d.png)
<br>
show runを見てみると、コンフィグガイド通りのかたちに成型され、address family配下にactivateが自動で生成されています
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/88ac3aa0-f350-4317-7aa6-ee46dd40fc8d.png)

:::note warn
ルータコンフィグモードにremote-asを設定して、単にaddress familyコンフィグモードにactivateを設定しない場合、ネイバは確立されません
:::
:::note warn
activateはpolicyに関するコマンドなので、ルータコンフィグモードにactivateを設定することはできません↓
% Policy commands not allowed without an address family
:::


<br>

この方法がOKの保証が欲しいな、と探してみましたが見つかりませんでした
ただ、VRFの場合はコンフィグガイドがaddress familyコンフィグモードでremote-as設定(青枠内に赤枠コマンド)になっていました

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/7c79f807-400d-1ef9-5d16-898f60334234.png)

貼り付け元  <https://www.cisco.com/c/ja_jp/td/docs/ios-xml/ios/iproute_bgp/configuration/xe-16-10/irg-xe-16-10-book/irg-xe-16-10-book_chapter_01001000.html> 

<br>

試しに上記構成でRDのRE向けをVRFにしたところ、remote-asを設定した直後にネイバ確立できました
引用元ではさらにactivateも必要になっていますが、設定しなくてもshow runにactivateが表示されています

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/975e488f-e44a-6ac7-18f4-7d46720574b4.png)


## おまけ
最近お気に入りの時短方法

ごちゃごちゃした構成になってくると、アドバタイズの確認も大変になってくると思います
私はshow bgp allを正規表現で抽出して確認しているのですが、最近記号なしでもある程度確認できることを知りました...!!

上記構成でRAがAS300からのプレフィックスが受信できているか確認したい場合、わざわざ300 **$** にしなくてもある程度確認できます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/a7471675-ab24-e755-844b-d27e0e17a975.png)

as access-listを設定する設問の場合はマイナスポイントかもしれないけど、アドバタイズ確認には十分だと思います

## まとめ
資格の勉強で演習問題を解いています。
複雑な演習問題になってくると検証環境を構築するだけで疲れちゃうので、時短できないかな-と考えました。
あと、IPv6の練習したかった。


## 参考
構成はこちらを参考にしました
Customizing a BGP Peer

https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_bgp/configuration/15-mt/irg-15-mt-book/irg-basic-net.html#GUID-6974ADF9-772B-4E7D-99C5-9C00BCD3C77D