标签:
Linux iptables 端口映射
服务器 A 网口
em1:11.1.1.251
em3:192.168.1.111
11.1.1.8 内网数据库
192.168.1.*网段需要通过服务器 A 做端口映射访问内网 11.1.1.8 数据
库1
、首先应该做的是/etc/sysctl.conf 配置文件的 net.ipv4.ip_forward = 1
默认是 0。
执行:
[root@WS ~]#sysctl -p
这样允许 iptalbes FORWARD。
2、在/etc/rc.d/init.d 目录下有 iptables 文件,使用格式如下
Usage: service iptables {start|stop|restart|condrestart|status|panic|save}
把 iptables 服务停止,清除以前的规则,存盘
到/etc/rc.d/init.d 目录下,运行
[root@WS ~]#service iptables stop
[root@WS ~]#iptalbes -F //-F: FLASH,清空规则链
[root@WS ~]#iptalbes -X //-X: 用于删除用户自定义的空链,使用方法跟-N 相同,但
是在删除之前必须要将里面的链给清空昂了
[root@WS ~]#iptalbes -Z //-Z:清空链,及链中默认规则的计数器的(有两个计数
器,被匹配到多少个数据包,多少个字节)
[root@WS ~]#service iptables save //保存
3、重新配置规则
(1)em3 为私网卡,访问 1522 端口时映射到 11.1.1.8 的 1521 端口
[root@WS ~]#iptables -t nat -A PREROUTING -i em3 -p tcp --dport 1522
-j DNAT --to-destination 11.1.1.8:1521
(2)11.1.1.8 内网地址 1521 返回,这条规则做了一个 SNAT,也就是源
地址转换,将来自 11.1.1.8 的地址转换为 11.1.1.251,该 11.1.1.251 另一
个网口 em3 就把 tcp 包转发到 em3 所属私网段。
[root@WS ~]#iptables -t nat -A POSTROUTING -d 11.1.1.8 -p tcp --dport
1521 -j SNAT --to 11.1.1.251
。。。。再配置防火墙可通行端口,第 2 步已经被全部清除配置。
[root@WS ~]#iptables -A INPUT -p tcp -m state --state NEW -m tcp
--dport 1522 -j ACCEPT
DNAT SNAT 的请参考帮助。
4、新的规则存盘
[root@WS ~]#service iptables save
规则存盘后在/etc/sysconfig/iptables 这个文件里面,若你对这个文件
很熟悉
直接修改这里的内容也等于命令行方式输入规则。
5、启动 iptables 服务
[root@WS ~]#service iptables start
在/proc/net/ip_conntrack 文件里有包的流向,如下面
tcp 6 53 TIME_WAIT src= xx.xx dst=xx.xx sport=7958 dport=8080
packets=9 bytes=1753
192.168.1.*网段即可通过 1522 访问内网数据库,测试通过。。。
标签:
原文地址:http://my.oschina.net/u/1024573/blog/469585