Virtualbox NAT + 僅主機轉接器

Virtualbox NAT + 僅主機轉接器

我的主機是 Ubuntu 12.04,來賓是 Debian squeeze(LAMP 伺服器)。我想允許主機連接訪客。並允許客人連接網路。不應從外部啟用來賓。這就是我不使用網橋的原因。我想為主機設定靜態IP。我跟著本教程

所以我採取了這些步驟,但我無法透過ssh從主機到訪客進行連線。我無法透過瀏覽器調用伺服器。ping然而有效!

我使用以下設定建立了一個僅虛擬主機的網路介面卡 ( vboxnet0):

IPv4-Adress: 192.168.56.1
IPv4-Netmask: 255.255.255.0

ifconfig在 Ubuntu 主機中顯示:

eth0      Link encap:Ethernet  Hardware Adresse XX:XX:XX:XX:XX:XX  
          inet Adresse:192.168.2.100  Bcast:192.168.2.255  Maske:255.255.255.0
          inet6-Adresse: XXXX:XXX:XXXX:XXXX:X:X/XX Gültigkeitsbereich:Global


vboxnet0  Link encap:Ethernet  Hardware Adresse XX:XX:XX:XX:XX:XX  
          inet Adresse:192.168.56.1  Bcast:192.168.56.255  Maske:255.255.255.0
          inet6-Adresse: XXXX:XXX:XXXX:XXXX:X:X/XX Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10069 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX-Bytes:0 (0.0 B)  TX-Bytes:1539501 (1.5 MB)

在 Debian scrape guest 上,/etc/network/interfaces看起來像這樣:

 # The host-only network interface
   auto eth1
   iface eth1 inet static
   address 192.168.56.1
   netmask 255.255.255.0
   network 192.168.56.0
   broadcast 192.168.56.255

我已經嘗試過更改eth1eth0沒有結果。

在 VirtualBox 設定中,混雜模式允許虛擬機器和主機連線。

我已經達到我的知識極限了。

的輸出:

netstat --inet --inet6 -ln | grep :22

沒什麼。

的輸出:

sudo iptables -L INPUT -nv

是:

 Chain INPUT (policy ACCEPT 166 packets, 30786 bytes)
  pkts bytes target     prot opt in     out     source               destination 

答案1

您不應在訪客中使用相同的 IP 位址(如主機介面上的 IP 位址)。如果您在主機上將 vboxnet0 設定為 IP 位址 192.168.56.1,那麼在您的來賓中您應該使用 192.168.56.2。您的訪客的網關應該是主機的 IP(在您的情況下為 192.168.56.1)。

這應該執行主機<->來賓連線。如果您希望您的訪客也能上網,那麼您應該在您的主機上偽裝它的 IP(或網路)。

iptables -t nat -I POSTROUTING -s 192.168.56.0/24 -j MASQUERADE
sysctl net.ipv4.ip_forward=1

您可能需要設定預設策略來轉送或專門啟用您的偽裝網路:

iptables -P FORWARD ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

注意:您可以使用 root 執行這些行,以啟用您的訪客的網路存取權限。但是,這些行可能應該進入您主機的防火牆設定。 (即UFW)。 sysctl 設定檔是:/etc/sysctl.conf,如果您希望始終啟用 ip_forward,可以在那裡設定 ip_forward。

相關內容