introduce
1:vmware的vmnet0 brige
vmnet1 host-only
vmnet8 host-only dhcp
每个guest os的网络都采用nat方式。。。方便!!!懒人的选择!
2:整个过程可以看做是内外网的关系。真实的物理网卡eth0--vmnet8--虚拟的eth0,vmnet8 可以想象为真实网络环境中的路由,而两边的真实和虚拟网卡看做是内外网络,要实现的本质其实就是一个端口的影射,只不过是通过一个虚拟的vmnet8来实现转发的功能。
3:数据流向:
远程访问host:port,=>host接到请求后转发端口到guest的相应port,实现了远程数据到guest os的数据流向
host os=>remoter machine。
4:实例
远程访问虚拟机的windows2003
iptables
1:clean
iptables -F
iptables -X
iptables -Z
/etc/init.d/iptables save
iptables -t nat -A PREROUTING -d x.x.x.1 -p tcp --dport 3389 -j DNAT --to 192.168.0.33:3389
iptables -t nat -A POSTROUTING -s 192.168.0.33 -p tcp --sport 3389 -j SNAT --to 192.168.0.33:3389
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -A FORWARD -d x.x.x.1 -p tcp --dport 3389 -j ACCEPT
iptables -A FORWARD -s 192.168.0.33 -p tcp --dport 3389 -j ACCEPT
/etc/init.d/iptables save
/etc/init.d/iptables start
x.x.x.1是host os的IP。192.168.0.33是guest os的ip
从任何地址访问x.x.x.1:3389的数据流将被转发到 guest os的192.168.0.33:3389
而从192.168.0.33出来的数据流将转发到x.x.x.1:3389,继而被传送到远程访问的机器。
注意点:
1:/proc/sys/net/ipv4/ip_forward的值应该是1否则所有的forward规则都失效
2:应该加载一些模块
iptable_filter
ipt_MASQUERADE
iptable_nat
ip_conntrack
ip_tables
3:guest os的防火墙。无论是 windows 还是linux,在装完系统后应检查防火墙是否开启。
************************************