如何隔離在 Ubuntu 中運行的 Virtualbox 中的 Windows 虛擬機

如何隔離在 Ubuntu 中運行的 Virtualbox 中的 Windows 虛擬機

我已經搜索了又搜索但沒有找到一種方法來做到這一點。我找到的答案說要獲得第二個網卡並將其獻給 Windows 訪客。我的主機是linux mint 16。

我了解如何為來賓指定網路介面卡,但如何讓 Windows 來賓可以存取 Internet,但無法存取主機網路上的任何其他電腦。

我想確保即使手動更改訪客的 IP 位址,它也無法存取網路的其餘部分。它應該只能看到自己(也許還可以看到主機)。

答案1

這可以在 VirtualBox 中完成。

您必須選擇允許使用的連接iptables來控制資料包。因此 NAT 和 Bridge 都不起作用,因為它們不會建立使用者可存取的 NIC。你應該使用僅主機網路相反,它會在主機上建立一個名為 vboxnet0 的使用者可存取介面。

要設定它,請檔案 -> 首選項 -> 網路 -> 僅主機網路 -> 加號來建立它,然後螺絲起子 -> DHCP 伺服器,啟用 DHCP 伺服器。儲存設置,啟動虛擬機器。

現在,在來賓上,您需要將主機設定為其網關:主機的預設 IP 是 192.168.56.1。使用 Google 尋找有關如何在 Windows 上執行此操作的說明。並且,您可能必須設定 DNS 伺服器。

在主機上,所有這些指令都是 sudo:

1)啟用IP轉送:

  echo "1" > /proc/sys/net/ipv4/ip_forward

2)發出以下內容iptables規則:

  iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
  iptables -A FORWARD -m iprange --dst-range 192.168.1.2-192.168.1.254 -j DROP
  iptables -I FORWARD -m iprange --src-range 192.168.1.2-192.168.1.254 -j DROP

第一條規則允許存取虛擬機器的網際網路;第二對禁止虛擬機器存取 LAN,當然路由器和廣播位址除外。

上述規則假設主機透過以下方式連接乙太網路0,你的區域網路是192.168.1.0/24,您的路由器和廣播位址分別是 192.168.1.1 和 192.168.1.255。如果不是,請相應地更改它們。

答案2

簡而言之,僅使用 VirtualBox 無法獲得所需的隔離。 VM 將始終繼承與主機相同的網路可用性(假設橋接或 NAT 網路模式)。

VirtualBox 中有四種網路選擇:

  1. 橋接:與主機的適配器之一共用連線。這就像虛擬機器和主機都插入同一交換器一樣。虛擬機器可以存取主機可以存取的所有內容。

  2. 網路位址轉換:VirtualBox 在主機適配器和虛擬網路之間放置虛擬 NAT 防火牆。虛擬機器仍然可以存取主機可以存取的所有內容。

  3. 僅主機:虛擬機器只能與宿主機器通訊。

  4. 內部的:虛擬機器位於隔離網路上,只能與同一內部網路上的其他虛擬機器通訊。

這些選項都不能滿足您的要求,因此僅在 VirtualBox 中是無法完成的。正如您所提到的,新增額外的 NIC 可以提供建立所需分離所需的實體分離。

答案3

好吧,我想出了一個很好的解決方案,在主機作業系統中只需要 1 個網路卡。

  1. 為來賓作業系統提供一個僅主機適配器(預設適配器為 vboxnet0)並確保 vboxnet0 執行 dhcp。
  2. 安裝魷魚代理程式(sudo apt-get install squid3
  3. 開啟檔案 /etc/squid3/squid.conf 並進行以下變更: A. 找到包含「http_access Deny all」的行,並透過在該行的開頭放置 # 將其註解掉。 B. 將以下兩行貼到文件中:
    1. acl allcomputers src 192.168.56.0/255.255.255.0
    2. http_access 允許所有計算機
  4. 透過執行以下命令重新啟動 squid 3 服務: sudo service squid3 restart
  5. 在來賓作業系統中,確保為網卡設定了 dhcp
  6. 開啟 Internet Explorer 的 Internet 選項,前往“連接”選項卡,按一下“Lan 設定...”,選取“代理伺服器”複選框,並將位址設定為 192.168.56.1,連接埠設定為 3128。
  7. 現在,訪客可以使用互聯網,但訪客看不到本地網路。

感謝您在這篇文章中的幫助。它引導我找到了找到 Squid3 的正確方向。整個設定過程只需 5-10 分鐘,而且非常簡單。

相關內容