
modprobe ip_conntrack_ftp ###加载ip_conntrack_ftp模块
# 用DNAT作端口映射
iptables -t nat -A PREROUTING -d a.b.c.d -p tcp --dport 21 -j DNAT --to 192.168.0.5
iptables -A FORWARD -o eth0 -d 192.168.0.5 -p tcp --dport 21 -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.0.5-p tcp --sport 21 -m --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.0.5 -p tcp --sport 20 -m --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth0 -d 192.168.0.5 -p tcp --dport 20 -m --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -o eth0 -d 192.168.0.5 -p tcp --dport 1024: -m --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.0.5 -p tcp --sport 1024: -m --state ESTABLISHED -j ACCEPT
# 用SNAT作源地址转换(关键),以使回应包能正确返回
iptables -t nat -A POSTROUTING -d 192.168.0.5 -p tcp --dport 21 -i eth0 -j SNAT --to 192.168.0.1
最后配置自动启动文件,这样开机就自动启动服务了
iptables 端口映射实现步骤如下:一、环境和要实现功能PC1的网络设置如下:eth0 192.168.0.29 内网eth1 219.239.11.22 外网PC2的网络设置则为:192.168.0.21 内网我们要实现的功能就是将PC1的8080端口映射到PC2的80端口,也即访问http://219.239.11.22:8080即可访问到PC2上的WEB服务。二、实现步骤1、首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0这样允许iptalbes FORWARD。2、在/etc/rc.d/init.d目录下有iptables 文件,使用格式如下Usage: ./iptables 相当与service iptables 把iptables 服务停止,清除以前的规则,存盘到/etc/rc.d/init.d目录下,运行./iptables stopiptalbes –F iptalbes –X iptalbes –Z ./iptables save 3、重新配置规则iptables -t nat -A PREROUTING -d 219.239.11.22 -p tcp -m tcp .dport 8080 -j DNAT .to-destination 192.168.0.21:80iptables -t nat -A POSTROUTING -d 192.168.0.21 -p tcp -m tcp .dport 80 -j SNAT .to-source 192.168.0.29iptables -A FORWARD -o eth0 -d 192.168.0.21 -p tcp –dport 80 -j ACCEPTiptables -A FORWARD -i eth0 -s 192.168.0.21 -p tcp –sport 80 -j ACCEPTDNAT SNAT 的请参考帮助,这里不再陈述。4、新的规则存盘./iptables save规则存盘后在/etc/sysconfig/iptables这个文件里面,若你对这个文件很熟悉直接修改这里的内容也等于命令行方式输入规则。5、启动iptables 服务./iptables start在/proc/net/ip_conntrack文件里有包的流向,如下面tcp 6 53 TIME_WAIT src=../../221.122.59.2 dst=219.239.11.22 sport=7958 dport=8080 packets=9 bytes=1753src=../../172.18.10.205 dst=172.18.10.212 sport=80 dport=7958 packets=9 bytes=5777 [ASSURED] use=1《linux就该这么学》免费实用的linux学习资料。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)