15.3. 外部に表示される仮想マシンの設定
多くの場合、デフォルトの仮想マシンのネットワーク設定だけで十分です。しかし、設定を調整する必要がある場合は、コマンドライン (CLI) または RHEL 10 Web コンソールを使用して調整できます。
15.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 192.0.2.1/24 brd 192.0.2.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 設定を調整します。
具体的な手順は、仮想マシンで使用されるゲストオペレーティングシステムによって異なります。たとえば、ゲストオペレーティングシステムが RHEL 10 の場合は、イーサネット接続の設定 を参照してください。
検証
新たに作成されたブリッジが実行中で、ホストの物理インターフェイスと仮想マシンのインターフェイスの両方が含まれていることを確認します。
# 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 192.0.2.1/24 brd 192.0.2.255 scope global dynamic noprefixroute enp0s0ローカルネットワークに接続された外部システムから、取得した ID を使用して仮想マシンに接続します。
# ssh root@192.0.2.1 root@192.0.2.1's password: Last login: Mon Sep 24 12:05:36 2019 root~#*接続が機能している場合にはネットワークが正常に設定されています。
トラブルシューティング
仮想マシンがクライアントでホストされる間に、クライアントからサイトへの VPN を使用するなどの特定の状況では、外部ロケーションで仮想マシンを利用可能にするブリッジモードを使用することはできません。
この問題を回避するには、仮想マシンの
nftablesを使用して宛先 NAT を設定 します。
15.3.2. Web コンソールを使用した外部に表示される仮想マシンの設定 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、新規作成された仮想マシンは、NAT タイプのネットワークに接続されます。このネットワークは、ホストのデフォルトの仮想ブリッジである virbr0 を使用します。これにより、仮想マシンはホストのネットワークインターフェイスコントローラー (NIC) を使用して外部ネットワークに接続できますが、外部システムから仮想マシンには到達できません。
仮想マシンをハイパーバイザーと同じ外部ネットワークに表示する必要がある場合は、代わりに ブリッジモード を使用する必要があります。これには、仮想マシンを、ハイパーバイザーの物理ネットワークデバイスに接続されているブリッジデバイスに割り当てます。RHEL 10 Web コンソールを使用してこれを行うには、以下の手順に従います。
前提条件
RHEL 10 Web コンソールがインストールされている。
手順は、Web コンソールのインストールおよび有効化 を参照してください。
- Web コンソールの仮想マシンプラグインが システムにインストールされている。
- デフォルトの NAT 設定を持つ 既存の仮想マシン のシャットダウン。
ハイパーバイザーの IP 設定。これは、ホストのネットワーク接続によって異なります。たとえば、以下の手順では、イーサネットケーブルを使用してホストがネットワークに接続され、ホストの物理 NIC MAC アドレスが DHCP サーバーの静的 IP に割り当てられるシナリオを使用します。したがって、イーサネットインターフェイスはハイパーバイザー IP として扱われます。
イーサネットインターフェイスの IP 設定を取得するには、Web コンソールの
Networkingタブに移動し、Interfacesセクションを確認します。
手順
ホスト上の物理インターフェイスのブリッジ接続を作成して設定します。手順は、Web コンソールでのネットワークブリッジの設定 を参照してください。
静的 IP 割り当てが使用されるシナリオでは、物理イーサネットインターフェイスの IPv4 設定をブリッジインターフェイスに移行する必要があることに注意してください。
ブリッジインターフェイスを使用するように仮想マシンのネットワークを変更します。仮想マシンの Network Interfaces タブで次の操作を行います。
- をクリックします。
Add Virtual Network Interfaceダイアログで、以下を設定します。-
Interface Type:
Bridge to LAN -
Source: 新しく作成するブリッジ (例:
bridge0)
-
Interface Type:
- をクリックします。
- オプション: 仮想マシンに接続されている他のすべてのインターフェイスの をクリックします。
- をクリックして、仮想マシンを起動します。
ゲストオペレーティングシステムで、仮想マシンがハイパーバイザーと同じネットワーク内の別の物理システムであるかのように、システムのネットワークインターフェイスの IP および DHCP 設定を調整します。
具体的な手順は、仮想マシンで使用されるゲストオペレーティングシステムによって異なります。たとえば、ゲストオペレーティングシステムが RHEL 10 の場合は、イーサネット接続の設定 を参照してください。
検証
- ホストの 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 192.0.2.1/24 brd 192.0.2.255 scope global dynamic noprefixroute enp0s0ローカルネットワークに接続された外部システムから、取得した ID を使用して仮想マシンに接続します。
# ssh root@192.0.2.1 root@192.0.2.1's password: Last login: Mon Sep 24 12:05:36 2019 root~#*接続が機能している場合にはネットワークが正常に設定されています。
トラブルシューティング
- 仮想マシンがクライアントでホストされる間に、クライアントからサイトへの VPN を使用するなどの特定の状況では、外部ロケーションで仮想マシンを利用可能にするブリッジモードを使用することはできません。
15.3.3. macvtap 接続の置き換え リンクのコピーリンクがクリップボードにコピーされました!
macvtap は、仮想ネットワークインターフェイスを作成する Linux ネットワークデバイスドライバーです。これにより、仮想マシンがホストマシン上の物理ネットワークインターフェイスに直接アクセスできるようになります。macvtap 接続の使用は RHEL 10 でサポートされています。
ただし、他の利用可能な仮想マシン (VM) ネットワーク設定と比較すると、macvtap のパフォーマンスは最適ではなく、正しく設定するのがより困難です。したがって、ユースケースで macvtap が明示的に必要とされない場合は、サポートされている別のネットワーク設定を使用してください。
仮想マシンで macvtap モードを使用している場合は、代わりに次のネットワーク設定を使用することを検討してください。
- macvtap ブリッジモードの代わりに、Linux ブリッジ 設定を使用します。
- macvtap パススルーモードの代わりに、PCI パススルー を使用します。