主机安全(3)iptables的nat应

发布时间:2019-08-02 11:06:39编辑:auto阅读(1329)

      NAT --- Network Address Translation 网络地址转换

      网络地址转换即改变数据包的源/目的地址,做过NAT操作的数据包的地址就被改变了,当然这种改变是根据我们的规则进行的。属于一个流的包只会经过这个表一次。

      如果第一个包被允许做NAT或Masqueraded(化装;伪装),那么余下的包都会自动地被做相同的操作。也就是说,余下的包不会再通过这个表,一个一个的被NAT,而是自动地完成。

     这就是我们为什么不应该在这个表中做任何过滤的主要原因。PREROUTING链的作用是在包刚刚到达防火墙时改变它的目的地址,OUTPUT链改变本地产生的包的目的地址,POSTROUTING链在包就要离开防火墙之前改变其源地址。

    所以NAT分为SNAT DNAT SANT作用只限于POSTROUTING而DANT作用于PREROUTING OUTPUT

    A.SNAT 源地址NAT

    常用于linux网关

    例:内网10.0.0.0/8 外网192.168.14.14/24内网通过此外网机器访问外网

    #iptables -t nat -APOSTROUTING -s 10.0.0.0/8 -o eth0 -j SNAT --to 192.168.14.14 网关

    凡是来自内网10.0.0.0/8的包,把src换成192.168.14.14转发出 若把 -j SNAT --to192.168.14.14

    换为MASQUERDE 适合动态可变的IP,即根据本机路由选择IP 注:DNAT由网关192.168.14.14自动完成

    B.DNAT 目的地址NAT

    常用于解决内网的Server发布内网端口的映射

    例:内网:10.0.0.2/8:80 外网:192.168.14.14/24:8001

    #iptables -t nat -APREROUTING -d 192.168.14.14 -p tcp --dport 8001 -jDNAT --to 10.0.0.2:80

    凡目的地址为192.168.14.14:8001的数据包目的地址改为10.0.0.2:80

    注:--to[ipaddr]-[ipaddr] [:port-port] 可多IP(范围)作负载均衡(轮转),但存在单点故障

    #iptables -t filter -AFORWARD -p udp -j DROP

    #iptables -t nat -A PREROUTING -s 10.0.0.0/8-p udp --dport 53 -j DNAT --to 192.168.14.254

    上面二条规则限制网关将不转发udp包,内网的任何DNS查询将被发往指定的企业DNS服务器,实现DNS的透

    明代理.

    #iptables -t nat -A PREROUTING -s 10.0.0.0/8-p tcp

    --dport 80 -j DNAT --to 192.168.14.14:3128 此句实现web透明代理

    #iptables -t nat -I PREROUTING -m mac--mac-source 00:1A:A0:98:B1:6E -j DROP

    #iptables -A FORWARD -i eth2 -m state --stateESTABLISHED,RELATED -j ACCEPT 网关常用

    #iptables -t nat -A PREROUTING -p tcp --dport80 -j REDIRECT --to-ports 8080 端口NAT

    #iptables -A FORWARD -s 192.168.1.189 -mlimit –limit 20/s -j ACCEPT
    #iptables -A FORWARD -s 192.168.1.189DROP 以二句用在网关上限速..

    iprange模块的应用..

    #iptables-t nat -I PREROUTING -i eth2 -m iprange

    --src-range 192.168.1.102-192.168.1.102 -j ACCEPT

    #iptables-t nat -A PREROUTING -m iprange --src-range192.168.0.20-192.168.0.255

    -i eth1 -p tcp -m tcp --dport 1:65535 -j REDIRECT --to-ports 80

    string模块的应用..

    #iptables-I FORWARD -s 192.168.1.189 -m string --string "qq.com" -j DROP

    -m comment --comment "denny go to qq.com"

    #iptables-I FORWARD -m string --string "腾讯" -j DROP

    #iptables-I FORWARD -s 192.168.1.189 -m string --string "qq.com" -j DROP

    #iptables-I FORWARD -p tcp --sport 80 -m string --string "广告" -j DROP

    comment模块的应用..

    #iptables-I FORWARD -s 192.168.1.189 -p tcp --dport 80 -j DROP

    -m comment --comment "the bad guy can not online"

     #iptables -I FORWARD -s 192.168.3.159 -mstring --string "qq.com" -j DROP

    -mcomment --comment "denny go to qq.com"

    其它常应用:

    #iptables -t nat -I PREROUTING -p udp --dport53 -j ACCEPT

    #iptables -t nat -I PREROUTING -p tcp --dport80 -j ACCEPT

    #iptables -t nat -I PREROUTING -p gre -jACCEPT
    #iptables -t nat -I PREROUTING -p icmp -jACCEPT

    #iptables -A INPUT -i tun+ -j ACCEPT
    #iptables -A FORWARD -i tun+ -j ACCEPT


关键字

上一篇: Cisco_H3C命令对照

下一篇: h3cte最新题库