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。

相关内容