
Ubuntu ホスト上でシンプルな KVM ベースの VM を実行しています。VM は NAT 仮想ネットワークに接続されています。ホストからはアクセスできますが、ホストに接続することはできません。
VM からホスト IP に ping することはできますが、ホストに対して traceroute または ssh を実行することはできません。ただし、ローカル LAN 上のホスト ゲートウェイ IP (ルーター IP) への traceroute は実行できます。
ホスト/VM 上でファイアウォール/iptables が実行されておらず、net.ipv4.ip_forward = 1
ホスト上で設定されています。VM がホストにアクセスできるようにするために、他に何が欠けているのでしょうか?
ありがとう。
答え1
私の経験では、KVM でホスト <-> ゲスト通信を設定する最良の方法は、その目的専用の VM に 2 番目の NIC を設定することです。詳細を説明した優れた記事がここにあります。
実際には、macvlan を使用する 2 番目のネットワークを設定するか、VM をホストと同じネットワークに直接配置するブリッジ ネットワークを設定するのと同じくらい簡単です (ネットワークの構成方法と、ホスト ネットワークへの VM アクセスをロックダウンする方法に応じて、これが機能する場合と機能しない場合があります)。
2 番目の NIC を VM に追加したら、ゲスト OS で静的 IP を構成し、それをホスト <-> ゲスト通信に使用します。
もちろん、ホスト上だけでなく、ゲスト OS (VM 内) でもトラフィックを許可していることを確認する必要があります。