從虛擬機器到主機的網路訪問

從虛擬機器到主機的網路訪問

我正在 Ubuntu 主機上執行一個簡單的基於 KVM 的虛擬機器。 VM 連接到 NAT 虛擬網路。它可以從主機訪問,但無法連接回主機。

從虛擬機器中,我可以 ping 主機 IP,但無法對主機執行 Traceroute 或 ssh。不過,我可以追蹤路由到本機 LAN 上的主機閘道 IP(路由器 IP)。

主機/VM 上沒有執行防火牆/iptables,並且net.ipv4.ip_forward = 1在主機上設定。為了讓虛擬機器存取主機,我還缺少什麼?

謝謝。

答案1

根據我的經驗,在 KVM 中設定主機 <-> 來賓通訊的最佳方法是在專門用於該目的的 VM 上設定第二個 NIC。這裡有一篇很好的文章解釋了來龍去脈:

https://www.furorteutonicus.eu/2013/08/04/enabling-host-guest-networking-with-kvm-macvlan-and-macvtap/

實際上,這就像設置使用 macvlan 的第二個網絡一樣簡單,甚至是一個橋接網絡,將虛擬機直接置於與主機相同的網絡上(取決於您如何配置網絡以及如何鎖定虛擬機訪問)到主機網絡,這可能適合你,也可能不適合你)。

將第二個 NIC 新增至 VM 後,在來賓作業系統中配置靜態 IP,然後用於主機 <-> 來賓通訊。

當然,您需要確保不僅允許主機上的流量,還允許訪客作業系統(在虛擬機器中)中的流量。

相關內容