Ubuntu iptables 内网端口映射

1.系统环境

内网两台服务器:

A 172.16.119.128

B 172.16.119.129

希望将A机器的80端口映射到B机器的8013端口。 

 

2.设置步骤

2.1./etc/sysctl.conf配置文件修改

删除“# net.ipv4.ip_forward = 1”行前面的“#”。 默认该行被注释掉的。

2.2.查看现有配置信息

iptables -L

如果显示内容如下:

Chain INPUT (policy ACCEPT)

target     prot opt source               destination


Chain FORWARD (policy ACCEPT)

target     prot opt source               destination


Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination

表示无任何设置,可以继续下一步操作。

否则执行:

iptalbes -F

iptalbes -X

iptalbes -Z 

2.3.设置端口映射

分别执行: 

iptables -t nat -A PREROUTING -d 172.16.119.128 -p tcp --dport 80 -j DNAT --to-destination 172.16.119.129:8013

iptables -t nat -A POSTROUTING -d 172.16.119.129 -p tcp --dport 8013 -j SNAT --to 172.16.119.128

iptables -A FORWARD -o eth0 -d 172.16.119.129 -p tcp --dport 8013 -j ACCEPT

iptables -A FORWARD -i eth0 -s 172.16.119.129 -p tcp --sport 8013 -j ACCEPT

4.验证端口映射

此时,访问http://172.16.119.128/abc.htm,应该能访问到对应129服务器上端口为8013网站的abc.htm页面。 

 
3.设置开机自动加载iptables的配置文件

3.1 保存配置

执行命令: 

# iptables-save > /etc/init.d/iptables.up.rules

将当前配置保存再iptables.up.rules文件中,文件名可以自己决定。

3.2 修改网卡配置文件

在网卡IP配置文件/etc/network/interfaces末行加入(/etc/init.d/iptables.up.rules可改成自己定义的配置文件位置和名称)

pre-up iptables-restore < /etc/init.d/iptables.up.rules

3.3 重启服务器验证

shutdown -r now

 

 

 

posted @ 2010-09-26 15:06  NetSoft  Views(3132)  Comments(0Edit  收藏  举报