16.3. 推奨される仮想マシンネットワーク設定
多くのシナリオでは、デフォルトの仮想マシンのネットワーク設定だけで十分です。ただし、設定の調整が必要な場合は、コマンドラインインターフェイス (CLI) または RHEL 9 Web コンソールを使用して調整できます。次のセクションでは、このような状況での仮想マシンのネットワーク設定を一部説明します。
16.3.1. コマンドラインインターフェイスを使用した外部に表示される仮想マシンの設定
デフォルトでは、新規作成された仮想マシンは、NAT タイプのネットワークに接続されます。このネットワークは、ホストのデフォルトの仮想ブリッジである virbr0
を使用します。これにより、仮想マシンはホストのネットワークインターフェイスコントローラー (NIC) を使用して外部ネットワークに接続できますが、外部システムから仮想マシンには到達できません。
仮想マシンをハイパーバイザーと同じ外部ネットワークに表示する必要がある場合は、代わりに ブリッジモード を使用する必要があります。これには、仮想マシンを、ハイパーバイザーの物理ネットワークデバイスに接続されているブリッジデバイスに割り当てます。コマンドラインインターフェイスを使用するには、以下の手順に従います。
前提条件
- デフォルトの NAT 設定を持つ 既存の仮想マシン のシャットダウン。
ハイパーバイザーの IP 設定。これは、ホストのネットワーク接続によって異なります。たとえば、以下の手順では、イーサネットケーブルを使用してホストがネットワークに接続され、ホストの物理 NIC MAC アドレスが DHCP サーバーの静的 IP に割り当てられるシナリオを使用します。したがって、イーサネットインターフェイスはハイパーバイザー IP として扱われます。
イーサネットインターフェイスの IP 設定を取得するには、
ip addr
ユーティリティーを使用します。# ip addr [...] enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 54:ee:75:49:dc:46 brd ff:ff:ff:ff:ff:ff inet 10.0.0.148/24 brd 10.0.0.255 scope global dynamic noprefixroute enp0s25
手順
ホスト上の物理インターフェイスのブリッジ接続を作成して設定します。手順は、ネットワークブリッジの設定 を参照してください。
静的 IP 割り当てが使用されるシナリオでは、物理イーサネットインターフェイスの IPv4 設定をブリッジインターフェイスに移行する必要があることに注意してください。
作成したブリッジインターフェイスを使用するように仮想マシンのネットワークを変更します。たとえば、以下のコマンドは、bridge0 を使用するように testguest を設定します。
# virt-xml testguest --edit --network bridge=bridge0 Domain 'testguest' defined successfully.
仮想マシンを起動します。
# virsh start testguest
ゲストオペレーティングシステムで、仮想マシンがハイパーバイザーと同じネットワーク内の別の物理システムであるかのように、システムのネットワークインターフェイスの IP および DHCP 設定を調整します。
これに関する具体的な手順は、仮想マシンが使用するゲスト OS によって異なります。たとえば、ゲスト OS が RHEL 9 の場合は、イーサネット接続の設定 を参照してください。
検証
新たに作成されたブリッジが実行中で、ホストの物理インターフェイスと仮想マシンのインターフェイスの両方が含まれていることを確認します。
# ip link show master bridge0 2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000 link/ether 54:ee:75:49:dc:46 brd ff:ff:ff:ff:ff:ff 10: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UNKNOWN mode DEFAULT group default qlen 1000 link/ether fe:54:00:89:15:40 brd ff:ff:ff:ff:ff:ff
仮想マシンがハイパーバイザーと同じ外部ネットワークに表示されることを確認します。
ゲストオペレーティングシステムで、システムのネットワーク ID を取得します。たとえば、これが Linux ゲストの場合は、次のコマンドを実行します。
# ip addr [...] enp0s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:09:15:46 brd ff:ff:ff:ff:ff:ff inet 10.0.0.150/24 brd 10.0.0.255 scope global dynamic noprefixroute enp0s0
ローカルネットワークに接続された外部システムから、取得した ID を使用して仮想マシンに接続します。
# ssh root@10.0.0.150 root@10.0.0.150's password: Last login: Mon Sep 24 12:05:36 2019 root~#*
接続が機能している場合にはネットワークが正常に設定されています。
トラブルシューティング
仮想マシンがクライアントでホストされる間に、クライアントからサイトへの VPN を使用するなどの特定の状況では、外部ロケーションで仮想マシンを利用可能にするブリッジモードを使用することはできません。
この問題を回避するには、仮想マシンの
nftables
を使用して宛先 NAT を設定 します。
16.3.2. Web コンソールを使用した外部に表示される仮想マシンの設定
デフォルトでは、新規作成された仮想マシンは、NAT タイプのネットワークに接続されます。このネットワークは、ホストのデフォルトの仮想ブリッジである virbr0
を使用します。これにより、仮想マシンはホストのネットワークインターフェイスコントローラー (NIC) を使用して外部ネットワークに接続できますが、外部システムから仮想マシンには到達できません。
仮想マシンをハイパーバイザーと同じ外部ネットワークに表示する必要がある場合は、代わりに ブリッジモード を使用する必要があります。これには、仮想マシンを、ハイパーバイザーの物理ネットワークデバイスに接続されているブリッジデバイスに割り当てます。これを行うために RHEL 9 Web コンソールを使用するには、以下の手順に従います。
前提条件
- Web コンソールの仮想マシンプラグインが システムにインストールされている。
- デフォルトの NAT 設定を持つ 既存の仮想マシン のシャットダウン。
ハイパーバイザーの IP 設定。これは、ホストのネットワーク接続によって異なります。たとえば、以下の手順では、イーサネットケーブルを使用してホストがネットワークに接続され、ホストの物理 NIC MAC アドレスが DHCP サーバーの静的 IP に割り当てられるシナリオを使用します。したがって、イーサネットインターフェイスはハイパーバイザー IP として扱われます。
イーサネットインターフェイスの IP 設定を取得するには、Web コンソールの
Networking
タブに移動し、Interfaces
セクションを確認します。手順
ホスト上の物理インターフェイスのブリッジ接続を作成して設定します。手順は、Web コンソールでネットワークブリッジの設定 を参照してください。
静的 IP 割り当てが使用されるシナリオでは、物理イーサネットインターフェイスの IPv4 設定をブリッジインターフェイスに移行する必要があることに注意してください。
ブリッジインターフェイスを使用するように仮想マシンのネットワークを変更します。仮想マシンの ネットワークインターフェイス タブで、以下を行います。
- ネットワークインターフェイスの追加 をクリックします。
仮想ネットワークインターフェイスの追加
ダイアログで、以下を設定します。-
インターフェイスタイプ:
LAN へのブリッジ
-
ソース: 新規作成ブリッジ (例:
bridge0
)
-
インターフェイスタイプ:
- 追加 をクリックします。
- 任意: 仮想マシンに接続するその他の全インターフェイスに対して Unplug をクリックします。
- 実行 をクリックして、仮想マシンを起動します。
ゲストオペレーティングシステムで、仮想マシンがハイパーバイザーと同じネットワーク内の別の物理システムであるかのように、システムのネットワークインターフェイスの IP および DHCP 設定を調整します。
これに関する具体的な手順は、仮想マシンが使用するゲスト OS によって異なります。たとえば、ゲスト OS が RHEL 9 の場合は、イーサネット接続の設定 を参照してください。
検証
- ホストの Web コンソールの Networking タブで、新たに作成されたブリッジがある行をクリックして、ホストの物理インターフェイスと仮想マシンのインターフェイスの両方が含まれていることを確認します。
仮想マシンがハイパーバイザーと同じ外部ネットワークに表示されることを確認します。
ゲストオペレーティングシステムで、システムのネットワーク ID を取得します。たとえば、これが Linux ゲストの場合は、次のコマンドを実行します。
# ip addr [...] enp0s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:09:15:46 brd ff:ff:ff:ff:ff:ff inet 10.0.0.150/24 brd 10.0.0.255 scope global dynamic noprefixroute enp0s0
ローカルネットワークに接続された外部システムから、取得した ID を使用して仮想マシンに接続します。
# ssh root@10.0.0.150 root@110.34.5.18's password: Last login: Mon Sep 24 12:05:36 2019 root~#*
接続が機能している場合にはネットワークが正常に設定されています。
トラブルシューティング
- 仮想マシンがクライアントでホストされる間に、クライアントからサイトへの VPN を使用するなどの特定の状況では、外部ロケーションで仮想マシンを利用可能にするブリッジモードを使用することはできません。