一、环境与需求
	实验环境
	节点的网络设置如下: 
	
		
			| 
				节点 | 
			
				网卡 | 
			
				IP | 
			
				网络 | 
		 
	
	
		
			| 
				Node1 | 
			
				eth0 | 
			
				172.19.104.33 | 
			
				内网 | 
		 
		
			| 
				Node1 | 
			
				eth1 | 
			
				6.6.5.5 | 
			
				外网 | 
		 
		
			| 
				Node2 | 
			
				eth0 | 
			
				172.19.104.14 | 
			
				内网 | 
		 
	
 
	需求
	我们要实现的功能就是将Node1的8100端口映射到Node2的8000端口,也即外网访问http://6.6.5.5:8100即可访问到PC2上8000端口的WEB服务。 
	二、实现步骤
	以下操作都在Node1上进行操作,部分修改操作可能需要root权限 
	1、 首先编辑/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0,再执行sysctl -p 使其生效 
	或直接执行 
echo 1 > /proc/sys/net/ipv4/ip_forward 
	2、 执行 
iptables -t nat -A PREROUTING -d 172.19.104.33 -p tcp --dport 8100 -j DNAT --to-destination 172.19.104.14:8000
iptables -t nat -A POSTROUTING -d172.19.104.14 -p tcp --dport 8000 -j SNAT --to 172.19.104.33 
iptables -A FORWARD -o eth0 -d172.19.104.14 -p tcp --dport 8000 -j ACCEPT
iptables -A FORWARD -i eth0 -s 172.19.104.14 -p tcp --sport 8000 -j ACCEPT
iptables save  
	注意IP、端口、网卡的配置 
	或直接修改位置文件 
	编辑/etc/sysconfig/iptables 添加以下内容 
	以下为参考文件,根据具体情况进行修改 
...
-A PREROUTING -d 172.19.104.33 -p tcp -m tcp --dport 8100 -j DNAT --to-destination 172.19.104.14:8000
-A POSTROUTING -d 172.19.104.14 -p tcp -m tcp --dport 8000 -j SNAT --to-source 172.19.104.33
...
-A FORWARD -o eth0 -d 172.19.104.14 -p tcp --dport 8000 -j ACCEPT
-A FORWARD -i eth0 -s 172.19.104.14 -p tcp --dport 8000 -j ACCEPT
... 
	3、重启iptables 
/etc/init.d/iptables restart   
	或 
service iptables restart 
	三、测试
	现在访问http://6.6.5.5:8100即可访问到Node2上8000端口的WEB服务。 
 
 
      (责任编辑:IT) |