前回の記事「VMwareでLinux仮想マシンを作成する②」ではRHELの仮想マシンを作成しました。
今回は仮想マシンのネットワーク接続について説明していきます。
VMware Workstation Playerのネットワークアダプタ
VMware Workstation Playerではブリッジ/NAT/ホストオンリーという3種類のネットワーク接続の設定が可能です。
ネットワーク接続は以下の手順で確認ができます。
デフォルトの接続設定はNATです。
- VMware Workstation Playerの仮想マシンを右クリックしたメニューから「設定」をクリック
- 「ハードウェア」タブのデバイス「ネットワークアダプタ」をクリック
VMware Workstation Playerはネットワーク接続の種類に応じて自動でネットワーク設定を行います。
ホストOSにはVMware Workstation Playerインストール時に以下のネットワークアダプタが作成されています。
VMnet1はホストオンリー接続、VMnet8はNAT接続のときのホスト側インターフェースとして使用されます。
ネットワークアダプタの設定画面を見てわかるように、VMware Workstation Playerでは以下の5種類のネットワークを選択できます。
- ブリッジ
- NAT
- ホストオンリー
- カスタム
- LANセグメント
上記のうち、今回はブリッジ、NAT、ホストオンリーについて説明します。
各ネットワーク接続可否を以下にまとめます。
項目 | ブリッジ | NAT | ホストオンリー |
---|---|---|---|
ネットワークインターフェース | なし | VMnet8 | VMnet1 |
ホスト→ゲスト接続 | 〇 | 〇 | 〇 |
ホスト←ゲスト接続 | 〇 | 〇 | 〇 |
ゲスト→外部ネットワーク接続 | 〇 | 〇 | × |
ゲスト←外部ネットワーク接続 | 〇 | × | × |
ゲストーゲスト接続 | 〇 | 〇 | 〇 |
ブリッジ
ブリッジ接続は仮想マシンがホストのNIC(Network Interface Card)をネットワークアダプタとして扱うことで、仮想マシンが外部接続可能できるネットワーク接続です。
VMware Workstation Playerでは外部ネットワークからも仮想マシンに接続させたい場合はブリッジ接続を使用します。
ネットワーク構成のイメージ図を以下に示します。
- ホストOSとゲストOSのIPを同一セグメントにすることで接続が可能
- ホストマシンの物理NICを使用して直接外部と接続が可能
NAT
NAT接続はNATデバイスが仮想マシンのIPアドレスをホストのIPアドレスに変換することで、仮想マシンが外部接続できるネットワーク接続です。
仮想マシンが外部ネットワークに接続する場合はブリッジ接続かNAT接続を使用します。
ブリッジ接続は仮想マシンのセグメントをホストに合わせる必要があるのに対して、NAT接続は仮想マシンのIPアドレスをプライベートIPアドレスで設定することが可能です。
ネットワーク構成のイメージ図を以下に示します。
- ホストは VMnet8を経由して仮想マシンと接続
- NATデバイスはゲストOSのIPをホストOSのIPに変換し、ホストから接続しているように見せかけて外部と接続
- 仮想マシン内のDHCPサーバが仮想マシンのネットワークアダプタとNATデバイスにIPを振り分ける。各ノードのネットワーク設定は以下ファイルで定義
C:\ProgramData\VMware\vmnetdhcp.conf
# Virtual ethernet segment 8 # Added at 12/15/23 12:14:03 subnet 172.16.219.0 netmask 255.255.255.0 { # セグメント定義 range 172.16.219.128 172.16.219.254; # default allows up to 125 VM's option broadcast-address 172.16.219.255; option domain-name-servers 172.16.219.2; # DNSサーバのIPデフォルトアドレス option domain-name "localdomain"; option netbios-name-servers 172.16.219.2; option routers 172.16.219.2; # ゲートウェイのデフォルトIPアドレス default-lease-time 1800; max-lease-time 7200; } host VMnet8 { hardware ethernet 00:50:56:C0:00:08; fixed-address 172.16.219.1; # VMnet8のデフォルトIPアドレス option domain-name-servers 0.0.0.0; option domain-name ""; option routers 0.0.0.0; } # End
ホストオンリー
ホストオンリー接続は仮想マシンがホストとのみ接続可能なネットワーク接続です。
隔離されたネットワークを再現することになるので、たとえばスタンドアロンのシステムのOSをバージョンアップさせる必要が発生したときの検証環境として使用するなどがシチュエーションとしては考えられます。
ネットワーク構成のイメージ図は以下の通りです。
- ホストは VMnet1を経由して仮想マシンと接続
- 外部接続は不可
- 仮想マシン内のDHCPサーバが仮想マシンのネットワークアダプタにIPを振り分ける。各ノードのネットワーク設定は以下ファイルで定義
C:\ProgramData\VMware\vmnetdhcp.conf
# Virtual ethernet segment 1 # Added at 12/15/23 12:14:03 subnet 172.16.198.0 netmask 255.255.255.0 { # セグメント定義 range 172.16.198.128 172.16.198.254; # default allows up to 125 VM's option broadcast-address 172.16.198.255; option domain-name-servers 172.16.198.1; option domain-name "localdomain"; default-lease-time 1800; max-lease-time 7200; } host VMnet1 { hardware ethernet 00:50:56:C0:00:01; fixed-address 172.16.198.1; # VMnet1のデフォルトIPアドレス option domain-name-servers 0.0.0.0; option domain-name ""; } # End
IPアドレスの固定化
ゲストのIPアドレスはDHCPにより都度変更の可能性があるため、
これを回避するためにIPアドレスを固定化しておくと便利な場合があります。
設定するIPアドレスは同一セグメント内で重複しないものから任意に選択してください。
IPアドレスを固定化する場合は、最低限IPアドレス、ゲートウェイ、DNSを設定します。
(ゲストの固定IPアドレスを設定) # nmcli connection modify {コネクション名} ipv4.method manual ipv4.address {ゲストIPアドレス/サブネットマスク} (ゲートウェイに仮想SWのIPアドレスを設定) # nmcli connection modify {コネクション名} ipv4.gateway {ゲートウェイのIPアドレス} (DNSに仮想SWのIPアドレスを設定) # nmcli connection modify {コネクション名} ipv4.dns DNSのIPアドレス}
項目 | ゲートウェイ | DNS |
---|---|---|
ブリッジ | ホストのゲートウェイ | ホストのDNS |
NAT | NAT構成のゲートウェイ(xxx.xxx.xxx.2) | NAT構成のDNS(xxx.xxx.xxx.2) |
ホストオンリー | 設定不要 | VMnet1(xxx.xxx.xxx.1) |
上記と同様にホストのネットワークアダプタVMnet1とVMnet8も同一セグメント内で任意のIPアドレスに変更可能です。
まとめ
今回はVMware Workstation Playerのネットワーク接続について説明しました。
ホスト/ゲスト/外部ネットワーク との接続の違いで適切なネットワークが存在しますので、仮想マシンの用途に応じて選択できるようになるとよいでしょう。
個人的にはホスト型の仮想マシンを本運用で使うことはあまりなく、ローカル上に検証環境として利用するケースが多いのかなという印象です。
隔離されたシチュエーションを再現する必要がないのであれば、仮想マシンをプライベートIP化できるNAT接続が利用しやすいのではないかと思います。
次回はRHELのサブスクリプション適用を説明します。