
我已經搜索了又搜索但沒有找到一種方法來做到這一點。我找到的答案說要獲得第二個網卡並將其獻給 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 中有四種網路選擇:
橋接:與主機的適配器之一共用連線。這就像虛擬機器和主機都插入同一交換器一樣。虛擬機器可以存取主機可以存取的所有內容。
網路位址轉換:VirtualBox 在主機適配器和虛擬網路之間放置虛擬 NAT 防火牆。虛擬機器仍然可以存取主機可以存取的所有內容。
僅主機:虛擬機器只能與宿主機器通訊。
內部的:虛擬機器位於隔離網路上,只能與同一內部網路上的其他虛擬機器通訊。
這些選項都不能滿足您的要求,因此僅在 VirtualBox 中是無法完成的。正如您所提到的,新增額外的 NIC 可以提供建立所需分離所需的實體分離。
答案3
好吧,我想出了一個很好的解決方案,在主機作業系統中只需要 1 個網路卡。
- 為來賓作業系統提供一個僅主機適配器(預設適配器為 vboxnet0)並確保 vboxnet0 執行 dhcp。
- 安裝魷魚代理程式(sudo apt-get install squid3
- 開啟檔案 /etc/squid3/squid.conf 並進行以下變更: A. 找到包含「http_access Deny all」的行,並透過在該行的開頭放置 # 將其註解掉。 B. 將以下兩行貼到文件中:
- acl allcomputers src 192.168.56.0/255.255.255.0
- http_access 允許所有計算機
- 透過執行以下命令重新啟動 squid 3 服務: sudo service squid3 restart
- 在來賓作業系統中,確保為網卡設定了 dhcp
- 開啟 Internet Explorer 的 Internet 選項,前往“連接”選項卡,按一下“Lan 設定...”,選取“代理伺服器”複選框,並將位址設定為 192.168.56.1,連接埠設定為 3128。
- 現在,訪客可以使用互聯網,但訪客看不到本地網路。
感謝您在這篇文章中的幫助。它引導我找到了找到 Squid3 的正確方向。整個設定過程只需 5-10 分鐘,而且非常簡單。