linux防火墙实现端口转发、端口映射及双向通路

iptables实现端口转发、端口映射及双向通路其实不难配置,看下文:

允许数据包转发:

#echo 1 > /proc/sys/net/ipv4/ip_forward  

转发TCP 8081到xx.xx.xx.xx:

#iptables -t nat -I PREROUTING -p tcp –dport 80 -j DNAT –to xx.xx.xx.xx  

使转发数据包实现“双向通路”,给数据包设置一个正确的返回通道:

#iptables -t nat -I POSTROUTING -p tcp –dport 8080 -j MASQUERADE  

表示将规则保存到/etc/sysconfig/iptables文件

#service iptables save  

重启iptables使刚才添加的规则生效

#service iptables restart  

如果执行上述命令,依然不能转发,可能由于iptables服务没有停止,命令无法写入iptables文件,应先执行service iptables stop,再执行上述命令,最后service iptables start再启动服务

由于Linux防火墙默认是关闭3306端口。因此,若要能够访问3306端口,可以用两种方式,一个是关闭防火墙,另一个就是让防火墙开放3306端口。

开放3306端口的解决步骤如下:

1、修改/etc/sysconfig/iptables文件,增加如下一行:

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT

2、重启防火墙,这里有两种方式重启防火墙

a) 重启后生效

开启: chkconfig iptables on

关闭: chkconfig iptables off

b) 即时生效,重启后失效

开启: service iptables start

关闭: service iptables stop

数据库映射成功。

你可能感兴趣的:(ubuntu)