プライベートネットワークの作成
ESXiをインストールすると物理NICに紐づいたデフォルトの仮想ネットワークが作成されるけど、検証用に新しく別のネットワークを作成したときのログ。
仮想スイッチの作成
ヨドバシとかに売ってる家庭用ネットワークスイッチの仮想版ってところ。これで追加するネットワークをやり取りするスイッチを作成する。
ESXiをインストールするとデフォルトのスイッチは一つ作成済みになっている。
「標準仮想スイッチの追加」から。
スイッチの名前を付ける。必要に応じて設定も。(とりあえずデフォルト)
追加された
ポートグループの作成
仮想スイッチを使用するグルーピングを作成する。イマイチここの概念はわかってないけど、VMのネットワーク設定に追加するのはスイッチでなくポートグループなので、追加作成したスイッチ用のポートグループも作成する。
ESXiをインストールするとデフォルトのポートグループとして「ESXi自身用のポートグループ」と「作成したVM用のポートグループ」の2つが作成済みになっている。
「ポートグループを追加します」から。(なんでここは文章になってるんだ?)
ポートグループ名の入力と、割り当てるスイッチ(さっき作ったやつ)を選択する
作成された
VMにネットワークを追加
作成したネットワークにVMを接続する。
要はNICを1個作成し、そのNICに作成したネットワークを設定する。
ここではCentOS7。
OSは起動したままでもホットスワップで追加される。
元の状態
[zaki@manager ansible]$ ip a 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 mq state UP group default qlen 1000 link/ether 00:0c:29:65:a5:8c brd ff:ff:ff:ff:ff:ff inet 192.168.0.19/24 brd 192.168.0.255 scope global noprefixroute ens192 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe65:a58c/64 scope link valid_lft forever preferred_lft forever [zaki@manager ansible]$
既存のVMにNICを追加する
編集画面を起動
「ネットワークアダプタの追加」
するとNICが追加される。
選択するポートグループが他になければ自動で選択されるのでそのまま「保存」する。
ちなみに削除するときは右側の×ボタン押下すればNICなどの仮想ハードウェアは外せる。
「保存」するとVMに変更が適用される。
正しく動作すればCentOSでも認識される。
[zaki@manager ansible]$ ip a 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 mq state UP group default qlen 1000 link/ether 00:0c:29:65:a5:8c brd ff:ff:ff:ff:ff:ff inet 192.168.0.19/24 brd 192.168.0.255 scope global noprefixroute ens192 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe65:a58c/64 scope link valid_lft forever preferred_lft forever 4: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:65:a5:96 brd ff:ff:ff:ff:ff:ff inet6 fe80::2768:e0a6:a9e4:76de/64 scope link noprefixroute valid_lft forever preferred_lft forever [zaki@manager ansible]$
ens224
が追加されている(IPアドレスは未割当)
[zaki@manager ansible]$ nmcli c s NAME UUID TYPE DEVICE 有線接続 1 5c9cb919-61b6-3bcb-90f2-f9d9c65d4487 ethernet ens224 System ens192 a9662f35-ef9e-44ca-beec-e063399a7ba5 ethernet ens192 [zaki@manager ansible]$ nmcli d s DEVICE TYPE STATE CONNECTION ens192 ethernet 接続済み System ens192 ens224 ethernet 切断済み -- lo loopback 管理無し -- [zaki@manager ansible]$
nmcliでIPアドレス割り当て
ここからはnmcli
を使ってIPアドレスを設定する普通の操作。
名前の変更
[zaki@manager ansible]$ sudo nmcli c m "有線接続 1" connection.id "System ens224" [zaki@manager ansible]$ nmcli d s DEVICE TYPE STATE CONNECTION ens192 ethernet 接続済み System ens192 ens224 ethernet 接続中 (IP 設定を取得中) System ens224 lo loopback 管理無し --
デバイス追加
※ ↑と↓の間にconnection nameをわちゃわちゃしたので別の手順が混ざってるかもしれない
[zaki@manager ansible]$ sudo nmcli c a type ethernet ifname ens224 con-name ens224 接続 'ens224' (35195563-6b17-4baa-abbe-4b2b19e05dd2) が正常に追加されました。 [zaki@manager ansible]$ nmcli d s DEVICE TYPE STATE CONNECTION ens192 ethernet 接続済み System ens192 ens224 ethernet 接続中 (IP 設定を取得中) System ens224 lo loopback 管理無し -- [zaki@manager ansible]$ [zaki@manager ansible]$ /etc/sysconfig/network-scripts/ifcfg-ens192 /etc/sysconfig/network-scripts/ifcfg-ens224 /etc/sysconfig/network-scripts/ifcfg-lo [zaki@manager ansible]$
この時点ではDHCPになっているのでIPアドレス取得中という状態になってる
static IPアドレス割り当て
[zaki@manager ansible]$ sudo nmcli c m ens224 ipv4.address 172.16.1.0/23 [zaki@manager ansible]$ [zaki@manager ansible]$ nmcli d s DEVICE TYPE STATE CONNECTION ens192 ethernet 接続済み System ens192 ens224 ethernet 接続中 (IP 設定を取得中) ens224 lo loopback 管理無し
あれ?
…ネットワークスクリプトを見ると、DHCP設定が有効なままstatic ip(IPADDR
)も設定されてた。
※ ちなみにnmcli
実行しても自動で設定反映はされないのでネットワークの再起動が必要
DHCP無効
[zaki@manager ansible]$ sudo nmcli c modify ens224 ipv4.method manual [zaki@manager ansible]$ [zaki@manager ansible]$ cat /etc/sysconfig/network-scripts/ifcfg-ens224 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens224 UUID=**** DEVICE=ens224 ONBOOT=yes IPADDR=172.16.1.0 PREFIX=23[zaki@manager ansible]$
IPV6無効は…
リスタート
[zaki@manager ansible]$ sudo systemctl restart NetworkManager [zaki@manager ansible]$ [zaki@manager ansible]$ ip a s ens224 5: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:65:a5:96 brd ff:ff:ff:ff:ff:ff inet 172.16.1.0/23 brd 172.16.1.255 scope global noprefixroute ens224 valid_lft forever preferred_lft forever inet6 fe80::6c60:300:9711:fdd6/64 scope link noprefixroute valid_lft forever preferred_lft forever [zaki@manager ansible]$
うむ。
疎通確認
同じ要領で、別のVMをこのネットワークに接続する
[root@example ~]# ip a 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 pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:e8:86:ac brd ff:ff:ff:ff:ff:ff inet 192.168.0.31/24 brd 192.168.0.255 scope global noprefixroute ens192 valid_lft forever preferred_lft forever inet6 fe80::1dbf:15bc:742d:841b/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:e8:86:b6 brd ff:ff:ff:ff:ff:ff inet 172.16.1.1/23 brd 172.16.1.255 scope global noprefixroute ens224 valid_lft forever preferred_lft forever inet6 fe80::70d4:7b7c:eb53:5f09/64 scope link noprefixroute valid_lft forever preferred_lft forever [root@example ~]#
[root@example ~]# ping -c 4 172.16.1.0 PING 172.16.1.0 (172.16.1.0) 56(84) bytes of data. 64 bytes from 172.16.1.0: icmp_seq=1 ttl=64 time=0.137 ms 64 bytes from 172.16.1.0: icmp_seq=2 ttl=64 time=0.199 ms 64 bytes from 172.16.1.0: icmp_seq=3 ttl=64 time=0.226 ms 64 bytes from 172.16.1.0: icmp_seq=4 ttl=64 time=0.193 ms --- 172.16.1.0 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 2999ms rtt min/avg/max/mdev = 0.137/0.188/0.226/0.036 ms [root@example ~]#
大丈夫そう。
webのコンソールで見るとこんな感じ
参考リンク(nmcli)