
我正在 Ubuntu 主機上執行一個簡單的基於 KVM 的虛擬機器。 VM 連接到 NAT 虛擬網路。它可以從主機訪問,但無法連接回主機。
從虛擬機器中,我可以 ping 主機 IP,但無法對主機執行 Traceroute 或 ssh。不過,我可以追蹤路由到本機 LAN 上的主機閘道 IP(路由器 IP)。
主機/VM 上沒有執行防火牆/iptables,並且net.ipv4.ip_forward = 1
在主機上設定。為了讓虛擬機器存取主機,我還缺少什麼?
謝謝。
答案1
根據我的經驗,在 KVM 中設定主機 <-> 來賓通訊的最佳方法是在專門用於該目的的 VM 上設定第二個 NIC。這裡有一篇很好的文章解釋了來龍去脈:
實際上,這就像設置使用 macvlan 的第二個網絡一樣簡單,甚至是一個橋接網絡,將虛擬機直接置於與主機相同的網絡上(取決於您如何配置網絡以及如何鎖定虛擬機訪問)到主機網絡,這可能適合你,也可能不適合你)。
將第二個 NIC 新增至 VM 後,在來賓作業系統中配置靜態 IP,然後用於主機 <-> 來賓通訊。
當然,您需要確保不僅允許主機上的流量,還允許訪客作業系統(在虛擬機器中)中的流量。