在CentOS5.4上用iptables配置了端口映射,讲述详细的配置过程,供大家参考。

【环境】
server-A
eth0      58.215.xxx.xx   外网
eth1      192.168.1.2     内网
server-B

192.168.1.3              内网


【实现功能】

将server-A的3306端口映射到server-B的3306端口,实现通过server-A的外网地址访问server-B内网的3306端口。


【步骤】
1、 首先应该做的是/etc/sysctl.conf配置文件的  net.ipv4.ip_forward = 1 默认是0    这样允许iptalbes FORWARD。
2、 清空iptables默认规则  
iptalbes -F
iptalbes -X
iptalbes -Z
3、 重新配置规则(四条规则都是在server-A上的操作)
iptables -t nat -A PREROUTING -d 58.215.xxx.xxx -p tcp --dport 3306 -j DNAT --to-destination 192.168.1.3:3306
iptables -t nat -A POSTROUTING -d 192.168.1.3 -p tcp --dport 3306 -j SNAT --to 192.168.1.2
iptables -A FORWARD -o eth0 -d 192.168.1.3 -p tcp --dport 3306 -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.1.3 -p tcp --sport 3306 -j ACCEPT

解析:上面四条规则的作用.

第一条:把访问的目标地址58.215.xxx.xxx的3306端口改成内网地址192.168.1.3的3306端口

第二条:把访问内网地址192.168.1.3的3306端口

第三条:

第四条:


4 保存规则 重启 防火墙

service iptables save


service iptables restart


-------------定义----------

prerouting和postrouting 的区别

源地址发送数据--> {PREROUTING-->路由规则-->POSTROUTING} -->目的地址接收到数据