iptables 端口映射的一点经验

1.对于“内部实际提供服务的机器”如果和做端口转换的机器的内网ip在同一个网段内,并且“内部实际提供服务的机器”的网关就是做端口转换的机器的内网ip,这种情况下只需要一条语句:

iptables -t nat -A PREROUTING -d “对外公网ip” -p tcp –dport “对外端口” -j DNAT –to “内部实际提供服务的ip”:”实际提供服务的端口”

2.对于“内部实际提供服务的机器”如果和做端口转换的机器的内网ip不在同一个网段内,或者“内部实际提供服务的机器”的网关不是做端口转换的机器的内网ip,这种情况下就需要条语句:

iptables -t nat -A PREROUTING -d “对外公网ip” -p tcp –dport “对外端口” -j DNAT –to “内部实际提供服务的ip”:”实际提供服务的端口”

iptables -t nat -A POSTROUTING -d “内部实际提供服务的ip”-p tcp –dport “实际提供服务的端口” -j SNAT –to “运行iptables机器的内网ip”

3.端口转发其实就是做DNAT转换,在做DNAT转换的那个机器上(也就是iptables运行的那个机器)有记录相关转换的对应关系,回去的包如何转换用户不用管系统会处理。

4.做端口转换的情况下,iptables 的3条链中nat的链才能对端口进行防火墙过滤,其他的链无法控制。

5.未完待续…… :mrgreen:

TrackBack: http://mimiz.cn/index.php/linux/iptables-portmap/trackback/
2 Responses to “iptables 端口映射的一点经验”
  1. 荒野无灯 Says:

    :mrgreen: 学习了,很好的内容。
    请问下,如果是做本地的端口映射,比如将本机的 8080 端口映射 到 本机的 8000 端口用iptables 可以做到吗?

  2. Bubi Says:

    I found just what I was needed, and it was etnertaining!

Leave a Reply !

^_^您敢留下回复吗?