A机器两块网卡eth0(192.168.133.130)、eth1(192.168.100.1),eth0可以上外网,eth1仅仅是内部网络,
B机器只有eth0(192.168.100.100),和A机器eth1可以通信互联。
A机器:A能上外网,B不能上外网
B机器:B不能上外网
注意:设置ip地址(临时存在))0  ifconfig   网卡名    ip地址      ##复制eth0的文件,改一些东西
需求1:可以让B机器连接外网
A机器上打开路由转发 
echo "1">/proc/sys/net/ipv4/ip_forward
A上执行     iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0  -j MASQUERADE  
B上设置网关为192.168.100.1 
route -n  ## 查看网关
route  add  default   gw   192.168.100.1      #B上设置网关为192.168.100.1 
需求2:C机器只能和A通信,让C机器可以直接连通B机器的22端口 (端口映射)
A上打开路由转发    echo "1">/ proc/sys/net/ipv4/ip_forward  
A上执行    iptables -t nat -A PREROUTING -d 192.168.133.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22     #将192.168.133.130的1122端口转发到192.168.100.100的22端口     
A上执行    iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.133.130      ##从100.100回来的包,转发到192.168.133.130
B上设置网关为    192.168.100.1
连接: 192.168.133.130:1122
原文:http://blog.51cto.com/13451715/2309965