bridgeインターフェースの設定方法について記載します。bridgeを用いることで、KVMの仮想マシンやLXDのコンテナをホストマシンと同じネットワークに接続させることができます。
Table of Contents
1 bridge-utilsのインストール
bridge作成前にbridge-utilsパッケージをインストールしておきます。
$ sudo apt install -y bridge-utils
2 bridge作成前の状態
bridge作成前の状態は以下のとおりです。eth0の文字列はイーサデバイスによって変わります(eth0やp2p1等)。お使いの環境に合わせて以降は置き換えてください。
$ /sbin/ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.11.100 netmask 255.255.255.0 broadcast 192.168.11.255 inet6 fe80::e5c1:c910:eab8:b6db prefixlen 64 scopeid 0x20<link> ether 52:54:00:a9:35:e0 txqueuelen 1000 (Ethernet) RX packets 159 bytes 32455 (31.6 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 131 bytes 22623 (22.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 30 bytes 1986 (1.9 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 30 bytes 1986 (1.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
3 bridgeの作成
eth0の設定をbr0へ移動する形になります。/etc/network/interfacesで設定した後、システムを再起動します。
$ sudo reboot
3.1 DHCPを用いる場合
$ cat /etc/network/interfaces # interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback auto br0 iface br0 inet dhcp bridge_ports eth0 bridge_stp off bridge_maxwait 0
3.2 IPアドレスを静的に割り当てる場合
$ cat /etc/network/interfaces # interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback auto br0 iface br0 inet static address 192.168.11.100 netmask 255.255.255.0 network 192.168.11.0 broadcast 192.168.11.255 gateway 192.168.11.1 dns-nameservers 192.168.11.2 192.168.11.1 dns-search hiroom2.com bridge_ports eth0 bridge_stp off bridge_maxwait 0
4 bridge作成後の状態
eth0と同じMACアドレスを持つbr0が作成され、br0にIPアドレスが割り当てられます。
$ /sbin/ifconfig br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.11.100 netmask 255.255.255.0 broadcast 192.168.11.255 inet6 fe80::5054:ff:fea9:35e0 prefixlen 64 scopeid 0x20<link> ether 52:54:00:a9:35:e0 txqueuelen 1000 (Ethernet) RX packets 51 bytes 10838 (10.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 66 bytes 11002 (10.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ether 52:54:00:a9:35:e0 txqueuelen 1000 (Ethernet) RX packets 54 bytes 11774 (11.4 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 65 bytes 10892 (10.6 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 12 bytes 740 (740.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 12 bytes 740 (740.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0