如何实现 iptables 端口映射


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 {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

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:80

iptables -t nat -A POSTROUTING -d 192.168.0.21 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.0.29

iptables -A FORWARD -o eth0 -d 192.168.0.21 -p tcp –dport 80 -j ACCEPT

iptables -A FORWARD -i eth0 -s 192.168.0.21 -p tcp –sport 80 -j ACCEPT

DNAT 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=1753

src=../../172.18.10.205 dst=172.18.10.212 sport=80 dport=7958 packets=9 bytes=5777 [ASSURED] use=1

通过文章的介绍,我们都可以清楚的看清iptables 端口映射实现的每个步骤!希望对大家有帮助!

  • iptables 端口映射设置
  • iptables实现端口转发、端口映射及双向通路
  • CentOS下配置iptables防火墙
  • Centos5下安装iptables以及layer7协议
  • Centos 5.3 环境下编译iptables
  • CentOS+iptables+squid透明代理+防火墙设置
  • centos IPTables 配置方法

相关内容

    暂无相关文章