ipコマンドでVLANデバイスを設定する方法について説明します。ホストを再起動すると設定が消えるため、永続的に設定したい場合は、nmcliコマンドなどを利用して下さい。
ネットワークデバイスの確認
まずは、ip link
コマンドで現状を確認します。ip address
でも構いません。
ip link 1: lo:mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 00:0c:29:38:3c:fb brd ff:ff:ff:ff:ff:ff
ネットワークデバイスeth0
がUP
の状態になっていることが確認出来ました。
VLANデバイスの作成
ここでは、eth0
に対してVLAN ID 100
を設定したVLANデバイスeth0.100
を作成します。
ip link add link eth0 name eth0.100 type vlan id 100
VLANデバイスが作成されたか確認します。
ip link (一部省略) 3: eth0.100@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 00:0c:29:38:3c:fb brd ff:ff:ff:ff:ff:ff
作成直後はデバイスがDOWN
の状態になっているため、利用する前にip link set
コマンドでリンクアップさせます。
ip link set dev eth0.100 up
VLANデバイスの確認
ip link
コマンドに-d
オプションを付けてデバイスの詳細を表示します。
ip -d link show dev eth0.100 3: eth0.100@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether 00:0c:29:38:3c:fb brd ff:ff:ff:ff:ff:ff promiscuity 0 vlan protocol 802.1Q id 100 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
VLANデバイスeth0.100
がUP状態になりました。また、vlan protocol 802.1Q id 100
とあるように、デバイスにはVLAN ID 100
が設定されていることが確認できました。
/proc/net/vlan/config
でもVLANの設定が確認できます。
cat /proc/net/vlan/config VLAN Dev name | VLAN ID Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD eth0.100 | 100 | eth0
VLANデバイスにIPアドレスを設定
VLANデバイスにIPアドレスを設定して疎通確認することができます。ここではeth0.100
に192.168.100.10/24
を設定します。
ip addr add dev eth0.100 192.168.100.10/24
デバイスにIPアドレスが設定されたか確認します。
ip addr show eth0.100
3: eth0.100@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:0c:29:38:3c:fb brd ff:ff:ff:ff:ff:ff
inet 192.168.100.10/24 scope global eth0.100
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe38:3cfb/64 scope link
valid_lft forever preferred_lft forever
あとはpingコマンドなどで疎通を確認してください。
複数VLANタグの設定
もちろん、ネットワークデバイスに対して複数のVLANデバイスを作成できます。
ip link add link eth0 name eth0.200 type vlan id 200 ip link add link eth0 name eth0.300 type vlan id 300 ip link set dev eth0.200 up ip link set dev eth0.300 up
VLAN ID 100に加えて200と300を設定しました。VLANデバイスeth0.200とeth0.300が作成されます。
cat /proc/net/vlan/config VLAN Dev name | VLAN ID Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD eth0.100 | 100 | eth0 eth0.200 | 200 | eth0 eth0.300 | 300 | eth0