需要Natconfiguration的基本帮助

我有一个IP 1.0.0.5/24的服务器。 这是服务器的主要IP地址,现在我有两个服务器的其他IP地址,它们是1.0.2.30/24和1.0.2.31/24。 我想让一个VirtualBox运行另一个可以通过Internet访问的操作系统,只允许指定的IP到达虚拟盒子。

我是iptables的新手,因此我需要一些基本的帮助和入门信息。

托pipe服务提供商不允许在每个交换机端口上使用超过MAC地址的数据,这意味着据我所知,我无法build立接。

此外,我希望主机拒绝额外的IP,因此它只有在额外IPS上接受请求的VirtualBox /虚拟机。

我没有testing过,但这是我想要的。

  1. brctl在主机上创build一个新的桥

     brctl addbr br0 
  2. 使用连接到该网桥的桥接networkingconfiguration虚拟机

  3. 为该桥分配一个私有子网,并为该主机分配一个IP

     ip addr add 192.168.1.1/24 dev br0 ip route add 192.168.1.0/24 dev br0 
  4. 可以在此范围内静态configuration虚拟机(例如192.168.1.2)的IP或在主机上设置DHCP服务器(例如dnsmasq或VirtualBox的dhcpserver )。

  5. 检查主机是否可以访问虚拟机,反之亦然私人IP
  6. 将静态IP连接到主机上的eth0

     ip addr add 1.0.2.30/24 dev eth0 
  7. 检查是否可以从外部连接到附加IP上的主机

  8. 在主机上启用IP转发

     echo 1 > /proc/sys/net/ipv4/ip_forward 
  9. 将iptablesconfiguration为来自VM的SNAT传出数据包

     iptables --table nat --append POSTROUTING --source 192.168.1.0/24 --jump SNAT --to 1.0.2.30 iptables --append FORWARD --source 192.168.1.0/24 --jump ACCEPT 
  10. 检查虚拟机是否连接到互联网

  11. configurationiptables到DNAT数据包到VM的附加IP

     iptables --table nat --append PREROUTING --destination 1.0.2.30 --to-destination 192.168.1.2 iptables --append FORWARD --destination 192.168.1.2 --jump ACCEPT 
  12. 检查是否可以从外部连接到附加IP上的VM