vSphere 6.7 上に作成した CentOS8 で VLAN インターフェイスを作成し、仮想マシン間で疎通出来るようにする手順をメモしておきます。
構成
最終的には以下の構成を構築します。 Linux-01 と Linux-02 は同一のポートグループに接続されているものとします。
仮想スイッチと Trunk 接続するには ESX 内の仮想マシン VLAN タギング(VGT モード)のサンプル構成 (1004252) に記載があるように、ポートグループの VLAN ID を 4,095 に設定し、VGT モードとして動作させる必要があります。
仮想マシンは両 Linux ともに CentOS 8.1.1911 を利用しました。
# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
結論
ポートグループを VGT モード (VLAN ID 4,095) に設定した上で Linux 側では下記のように設定すれば VLAN インターフェイスが利用出来るようになります。
nmcli connection add type vlan con-name vlan10 dev ens192 id 10
nmcli connection modify vlan10 \
ipv4.method manual \
ipv4.addresses 10.0.10.1/24 \
ipv4.gateway 10.0.10.254 \
ipv4.dns 1.1.1.1
nmcli connection up vlan10
Step.1
初期状態では IP アドレスを設定していない為、IP アドレスが割り当てられていません。
Linux-01
# ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:50:56:be:1e:83 brd ff:ff:ff:ff:ff:ff
inet6 fe80::250:56ff:febe:1e83/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Linux-02
# ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:50:56:be:59:d1 brd ff:ff:ff:ff:ff:ff
inet6 fe80::250:56ff:febe:59d1/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Step.2
VLAN インターフェイスを追加します。 以下のインターフェイスを作成します。
項目 | 値 |
---|---|
物理インターフェイス | ens192 |
VLAN インターフェイス名 | vlan10 |
VLAN ID | 10 |
Linux-01/02 共通
nmcli connection add type vlan con-name vlan10 dev ens192 id 10
Step.3
作成した VLAN インターフェイスに IP アドレス、デフォルトゲートウェイ、DNS サーバの設定を行います。
Linux-01
nmcli connection modify vlan10 \
ipv4.method manual \
ipv4.addresses 10.0.10.1/24 \
ipv4.gateway 10.0.10.254 \
ipv4.dns 1.1.1.1
Linux-02
nmcli connection modify vlan10 \
ipv4.method manual \
ipv4.addresses 10.0.10.2/24 \
ipv4.gateway 10.0.10.254 \
ipv4.dns 1.1.1.1
Step.4
この状態ではまだ VLAN インターフェイスが認識されていません。
# nmcli device
DEVICE TYPE STATE CONNECTION
ens192 ethernet disconnected --
lo loopback unmanaged --
Step.5
VLAN インターフェイスを認識させます。
Linux-01/02 共通
nmcli connection up vlan10
Step.6
これで VLAN インターフェイスが認識されるようになりました。
# nmcli device
DEVICE TYPE STATE CONNECTION
ens192.10 vlan connected vlan10
ens192 ethernet connecting (getting IP configuration) System ens192
lo loopback unmanaged
Step.7
IP アドレスが設定されました。
Linux-01
# ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:50:56:be:1e:83 brd ff:ff:ff:ff:ff:ff
6: ens192.10@ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:50:56:be:1e:83 brd ff:ff:ff:ff:ff:ff
inet 10.0.10.1/24 brd 10.0.10.255 scope global noprefixroute ens192.10
valid_lft forever preferred_lft forever
inet6 fe80::115c:6007:e30:248f/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Linux-02
# ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:50:56:be:59:d1 brd ff:ff:ff:ff:ff:ff
3: ens192.10@ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:50:56:be:59:d1 brd ff:ff:ff:ff:ff:ff
inet 10.0.10.2/24 brd 10.0.10.255 scope global noprefixroute ens192.10
valid_lft forever preferred_lft forever
inet6 fe80::7c61:a9c8:d912:8233/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Step.8
しかし、この状態では Linux-01 ~ Linux-02 間で Ping が飛びません。
Linux-01
# ping -c 3 10.0.10.2
PING 10.0.10.2 (10.0.10.2) 56(84) bytes of data.
From 10.0.10.1 icmp_seq=1 Destination Host Unreachable
From 10.0.10.1 icmp_seq=2 Destination Host Unreachable
From 10.0.10.1 icmp_seq=3 Destination Host Unreachable
--- 10.0.10.2 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 67ms
Step.9
ポートグループの設定編集画面を開きます。
Step.10
デフォルト状態では VLAN ID が 0
になっていますが、これを 4095
に設定します。
Step.11
これで Linux0-1 ~ Linux-02 間で Ping が飛ぶようになりました。
Linux-01
# ping -c 3 10.0.10.2
PING 10.0.10.2 (10.0.10.2) 56(84) bytes of data.
64 bytes from 10.0.10.2: icmp_seq=1 ttl=64 time=0.219 ms
64 bytes from 10.0.10.2: icmp_seq=2 ttl=64 time=0.152 ms
64 bytes from 10.0.10.2: icmp_seq=3 ttl=64 time=0.157 ms
--- 10.0.10.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 5ms
rtt min/avg/max/mdev = 0.152/0.176/0.219/0.030 ms
コメント