牧羊岛

懒是不会有好果子吃滴//

导航

linux DMZ host 允许虚拟机以Host-only的方式上网

Posted on 2014-03-14 16:09  牧羊岛  阅读(900)  评论(0)    收藏  举报

linux DMZ host 允许虚拟机以Host-only的方式上网。

host ip 192.168.0.17

vboxnet0 ip 192.168.56.1

1、首先打开linux的转发功能:

sysctl net.ipv4.ip_forward=1

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

vi /etc/sysctl.conf
#net.ipv4.ip_forward=1
sysctl -p

2、iptables文件配置如下,有先后顺序:

*filter
……
-A OUTPUT -j ACCEPT #允许主动连出
-A FORWARD -s 192.168.56.101 -j ACCEPT #允许这个ip连接外网
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT #允许任何地址到任何地址的确认包和关联包通过。没懂?
-A FORWARD -j REJECT --reject-with icmp-host-prohibited #除此外拒绝
COMMIT
……
*nat
……
-A POSTROUTING -s 192.168.56.0/24 -j SNAT --to 192.168.0.17 #源地址转换
COMMIT

3、至此,Guest机设置192.168.56.1的网关和正确的DNS以后就可以正常联网了。

4、虚拟机3389端口映射到主机:

4.1、首先端口映射,nat增加:

-A PREROUTING -d 192.168.0.17 -p tcp --dport 3389 -j DNAT --to-destination 192.168.56.101:3389
-A POSTROUTING -d 192.168.56.101 -p tcp --dport 3389 -j SNAT --to-source 192.168.0.17

4.2、允许虚拟网关转发,filter增加:

-A FORWARD -i vboxnet0 -j ACCEPT
-A FORWARD -o vboxnet0 -j ACCEPT