Vyatta(VyOS)で、L2ブリッジの設定方法を説明します。L2ブリッジそのものは難しい設定ではないですが、vxlanやgeneveの動作確認時にも使用しますので、確実に理解した方が良いでしょう。
設定まとめ
以下のコマンドでブリッジインターフェースを作成できます。ブリッジ名はbrXXXという命名にする必要があります。
set interfaces bridge <bridge name>
以下のコマンドでブリッジインターフェースに対してIPアドレスを付与できます。
set interfaces bridge <bridge name> address <IPv4アドレス> set interfaces bridge <bridge name> address <IPv6アドレス>
以下のコマンドでブリッジに所属させるメンバーを定義できます。
set interfaces bridge <bridge name> member interface <インターフェース名>
以下のコマンドでサブインターフェースを作成する事ができます。例えば、eth0にVLAN30を付与するサブインターフェースを作成するならば、そのインターフェース名は「eth0.30」という名前で以降の使用が可能です。
set interfaces ethernet <インターフェース名> vif <VLAN ID>
動作確認
動作確認の構成
以下の環境で動作確認を行います。ブリッジを含む動作確認をする時は、ハイパーバイザの仮想スイッチに対してプロミスキャスモード等を有効にする必要がある事に注意ください。
+-----------------------+ | host001 | | Rocky Linux 8.4 | +-----------+-----------+ | ens224 : 192.168.10.1/24 | ens224.20 : 192.168.20.1/24 | | eth1 | +-----------+-----------+ | vy002 | | br10:192.168.10.2/24 | | br20: no ip address | +-----------+-----------+ eth2 | | | | ens224.20 : 192.168.20.3/24 | ens224 : 192.168.10.3/24 +-----------+-----------+ | host003 | | Rocky Linux 8.4 | +-----------------------+
初期設定
RockyLinuxにはIPアドレスを付与します。VyOSは初期設定の状態で動作確認をします。
動作確認 (1) bridge 作成
vy002のeth0とeth1を同一bridgeに所属させ、host001とhost003が互いにLayer2で接続可能になるようにします。
br10という名前でbridge interfaceを作成します。
[vy002:VyOS1.4] set interfaces bridge br10
br10にIPアドレスを付与します。
[vy002:VyOS1.4] set interfaces bridge br10 address '192.168.10.2/24'
br10にeth0とeth1を所属されます。なお、bridgeのメンバーに加える事ができるインターフェースはIPアドレスが付与されてないインターフェースのみです。
[vy002:VyOS1.4] set interfaces bridge br10 member interface eth0 set interfaces bridge br10 member interface eth1
host001からvy002とhost003へ疎通可能になった事を確認します。
[host001:RockyLinux8.4] [root@host001 ~]# ping -c 3 192.168.10.2 PING 192.168.10.2 (192.168.10.2) 56(84) bytes of data. 64 bytes from 192.168.10.2: icmp_seq=1 ttl=64 time=0.441 ms 64 bytes from 192.168.10.2: icmp_seq=2 ttl=64 time=0.487 ms 64 bytes from 192.168.10.2: icmp_seq=3 ttl=64 time=0.413 ms --- 192.168.10.2 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2043ms rtt min/avg/max/mdev = 0.413/0.447/0.487/0.030 ms [root@host001 ~]# [root@host001 ~]# [root@host001 ~]# [root@host001 ~]# ping -c 3 192.168.10.3 PING 192.168.10.3 (192.168.10.3) 56(84) bytes of data. 64 bytes from 192.168.10.3: icmp_seq=1 ttl=64 time=0.681 ms 64 bytes from 192.168.10.3: icmp_seq=2 ttl=64 time=0.688 ms 64 bytes from 192.168.10.3: icmp_seq=3 ttl=64 time=0.893 ms --- 192.168.10.3 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2031ms rtt min/avg/max/mdev = 0.681/0.754/0.893/0.098 ms [root@host001 ~]#
動作確認 (1) bridgeとVLANの併用例
host001のサブインターフェースens224.20とhost003のサブインタフェースens224.20が互いに疎通可能になるようbridgeを設定します。VyOSのbridgeはvlanを付与したサブインターフェースをメンバーに加える事も可能です。
まずは、vlan20を付与したサブインターフェースを作成します。
set interfaces ethernet eth0 vif 20 set interfaces ethernet eth1 vif 20
ここで一度commitします。その後、config modeを離脱し、再度config modeに入ります。この操作をする事によって、eth0.20のようなサブインターフェースが入力補完の候補として登場するようになります。
vyos@vyos# commit [edit] vyos@vyos# exit Warning: configuration changes have not been saved. exit vyos@vyos:~$ configure [edit] vyos@vyos#
上記の操作にうまくいけば、以下のような入力補完が現れます。
vyos@vyos# set interfaces bridge br20 member interface Possible completions: > <text> Member interface name > eth0 > eth0.20 > eth1 > eth1.20 > lo
br20を作成し、eth0.20とeth1.20をbr20のメンバーに加えます。
set interfaces bridge br20 member interface eth0.20 set interfaces bridge br20 member interface eth1.20
VLAN20を介して、host001とhost003が互いに疎通可能になった事を確認します。
[root@host001 ~]# ping -c 3 192.168.20.3 PING 192.168.20.3 (192.168.20.3) 56(84) bytes of data. 64 bytes from 192.168.20.3: icmp_seq=1 ttl=64 time=0.704 ms 64 bytes from 192.168.20.3: icmp_seq=2 ttl=64 time=0.858 ms 64 bytes from 192.168.20.3: icmp_seq=3 ttl=64 time=0.854 ms --- 192.168.20.3 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2063ms rtt min/avg/max/mdev = 0.704/0.805/0.858/0.075 ms [root@host001 ~]#