VyOS Spanning-Tree(STP) on GNS3 

何を今更なところは否めませんが、せっかくなので軽く設定しみました。構成は下記の通りです。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/9e02df1e-d838-ede7-c919-2241b5b8c568.png)

## 1. 設定
では、早速設定してみます。まずは本当に期待する動作が得られえるかも含め最低限の設定のみしてみます。3台とも同じ設定を入れましょう。

```bash
conf
set interfaces bridge br00 member interface eth0
set interfaces bridge br00 member interface eth1
set interfaces bridge br00 stp
commit
save
```

## 2. 動作確認

ステータスを確認します。1号機から

```bash
vyos@vyos:~$ show bridge br00 spanning-tree
br00
 bridge id              8000.0c5179790000
 designated root        8000.0c001a3e0000
 root port                 1                    path cost                100
 max age                  20.00                 bridge max age            20.00
 hello time                2.00                 bridge hello time          2.00
 forward delay            14.00                 bridge forward delay      14.00
 ageing time             300.00
 hello timer               0.00                 tcn timer                  0.00
 topology change timer     0.00                 gc timer                  78.25
 flags

eth0 (1)
 port id                8001                    state                forwarding
 designated root        8000.0c001a3e0000       path cost                100
 designated bridge      8000.0c001a3e0000       message age timer         18.21
 designated port        8001                    forward delay timer        0.00
 designated cost           0                    hold timer                 0.00
 flags

eth1 (2)
 port id                8002                    state                forwarding
 designated root        8000.0c001a3e0000       path cost                100
 designated bridge      8000.0c5179790000       message age timer          0.00
 designated port        8002                    forward delay timer        0.00
 designated cost         100                    hold timer                 0.00
 flags
```
ステータスはどちらのインタフェースもフォワードになっています。
続いて2号機 

```bash
vyos@vyos:~$ show bridge br00 spanning-tree
br00
 bridge id              8000.0c001a3e0000
 designated root        8000.0c001a3e0000
 root port                 0                    path cost                  0
 max age                  20.00                 bridge max age            20.00
 hello time                2.00                 bridge hello time          2.00
 forward delay            14.00                 bridge forward delay      14.00
 ageing time             300.00
 hello timer               0.65                 tcn timer                  0.00
 topology change timer     0.00                 gc timer                   0.00
 flags

eth0 (1)
 port id                8001                    state                forwarding
 designated root        8000.0c001a3e0000       path cost                100
 designated bridge      8000.0c001a3e0000       message age timer          0.00
 designated port        8001                    forward delay timer        0.00
 designated cost           0                    hold timer                 0.00
 flags

eth1 (2)
 port id                8002                    state                forwarding
 designated root        8000.0c001a3e0000       path cost                100
 designated bridge      8000.0c001a3e0000       message age timer          0.00
 designated port        8002                    forward delay timer        0.00
 designated cost           0                    hold timer                 0.00
 flags

vyos@vyos:~$
```
こちらも両方ともフォワードです。では3号機のどちらかのインタフェースステータスがblockingになっているはず。。。。

```bash
vyos@vyos:~$ show bridge br00 spanning-tree
br00
 bridge id              8000.0ce102a70000
 designated root        8000.0c001a3e0000
 root port                 2                    path cost                100
 max age                  20.00                 bridge max age            20.00
 hello time                2.00                 bridge hello time          2.00
 forward delay            14.00                 bridge forward delay      14.00
 ageing time             300.00
 hello timer               0.00                 tcn timer                  0.00
 topology change timer     0.00                 gc timer                  33.61
 flags

eth0 (1)
 port id                8001                    state                  blocking
 designated root        8000.0c001a3e0000       path cost                100
 designated bridge      8000.0c5179790000       message age timer         18.91
 designated port        8002                    forward delay timer        0.00
 designated cost         100                    hold timer                 0.00
 flags

eth1 (2)
 port id                8002                    state                forwarding
 designated root        8000.0c001a3e0000       path cost                100
 designated bridge      8000.0c001a3e0000       message age timer         18.91
 designated port        8002                    forward delay timer        0.00
 designated cost           0                    hold timer                 0.00
 flags

vyos@vyos:~$
```
eth0(#1号機向けI/F)がblockingになっていました！

## 3. その他
冒頭にも書きましたが”なぜいまさら？”という内容だとは思います。はい。その通りなのですが、別記事にも記載した通り、VyOSはベンダー資格にも使えそうだなと思いましたので記事にしました。今回は最低限の設定のみ実施しましたので、次回はブリッジPriorityやその他の設定もしてみたいと思います。