日期:2014-05-16 浏览次数:20788 次
iptables 工作在数据链路层 -> 物理层,用起来确实不那么容易;
查了好些资料终于实现了端口转发(NAT),至于其他什么,以后需要用的时候在看吧!
环境:
服务器A :地址 192.168.1.13,此服务器对外开放端口 3306;
服务器B :地址 192.168.1.15,此服务器运行了MYSQL,端口3306;
目的:
现在要将 对服务器A 的 3306 端口的访问,转发到 服务器B 的3306端口,并将回应数据包返回;
?
?
1、 首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0
? ? 这样允许iptalbes FORWARD。
?
2、 在/etc/rc.d/init.d目录下有iptables 文件,使用格式如下
? ? Usage: ./iptables {start|stop|restart|condrestart|status|panic|save}
? ? 相当与service iptables {....}
? ? 把iptables 服务停止,清除以前的规则,存盘
? ? 到/etc/rc.d/init.d目录下,
?
运行
?
./iptables stop
?
iptalbes -F
iptalbes -X
iptalbes -Z
./iptables save
?
脚本如下(redhat5.1 下通过):
?
iptables -F
iptables -X
iptables -Z
iptables -t nat -A PREROUTING -d 192.168.1.13 -p tcp --dport 3306 -j DNAT --to-destination 192.168.1.15:3306
iptables -t nat -A POSTROUTING -d 192.168.1.15 -p tcp --dport 3306 -j SNAT --to 192.168.1.13
iptables -A FORWARD -o eth0 -d 192.168.1.13 -p tcp --dport 3306 -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.1.13 -p tcp --sport 3306 -j ACCEPT
?
?
4、 新的规则存盘
?
? ?./iptables save
?
存盘后在
?
/etc/sysconfig/iptables
?
这个文件里面
?
5、 启动iptables 服务
?
? ? ./iptables start
?
? ? 在/proc/net/ip_conntrack文件里有包的流向