1CM

  

linux上端口映射的详细步骤

    在网上搜索好多,对linux配置端口映射都不够详细,我在RedHat8.0上用iptables配置了端口映射,讲述详细的配置过程,供大家参考。
【实现功能】
  PC A是
  eth0      172.18.10.212  内网
  eth1      219.239.xx.xx  外网

  PC B是    172.18.10.205  内网

  A的8080端口映射到B的80端口

【步骤】
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.xx.xx -p tcp --dport 8080 -j DNAT --to-destination 172.18.10.205:80
iptables -t nat -A POSTROUTING -d 172.18.10.205 -p tcp --dport 80 -j SNAT --to 172.18.10.212
iptables -A FORWARD -o eth0 -d 172.18.10.205 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -s 172.18.10.205 -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.xx.xx 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

posted on 2007-03-13 10:13 1CM 阅读(8989) 评论(3)  编辑 收藏 引用

评论

# re: linux上端口映射的详细步骤 2008-12-17 11:45 guest

xuexi  回复  更多评论   

# re: linux上端口映射的详细步骤 2009-01-07 22:04 akjj

新的规则存盘
你用的是那个版本.

我用的是redhat 9.0..
iptables-save  回复  更多评论   

# re: linux上端口映射的详细步骤 2009-08-08 22:56 李雷

你好,想问一下,设置端口映射的时候一定需要初始化么?
那机器上以前的规则是不是就清掉了?

如果我只是想多开个端口映射,应该怎么做呢?
谢谢!  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理