首页 > 代码库 > linux防火墙--iptables(三)

linux防火墙--iptables(三)

七、SNAT源地址转换

·Source Network Address Translation

·修改数据包的源地址

·仅用于nat表的POSTROUTING链


Example:局域网共享公网IP上网

·配置的关键策略

    → 做完路由选择后,针对来自局域网、即将从外网接口发出去的数据包,将其源IP地址修改为

    网关的公网IP地址

    # iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to-source 69.166.70.28

    #局域网网段地址    外网接口    外网接口的IP地址


·MASQUERADE --- 地址伪装

    → 外网接口的IP地址不固定的情况

    → 将SNAT规则改为MASQUERADE

    → 对于ADSL拨号连接,接口可能为ppp+

    # iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE


八、目标地址转换

·Destination Network Address Translation

·修改数据包德尔目标地址(IP、端口)

·仅用于nat表的PREROUTING、OUTPUT链


Example:发布位于内网的服务器

·配置的关键策略

    → 在路由选择之前,针对从外网接口收到的、访问本机公网地址TCP/udp xx端口的数据包,将其目

    标地址修改为位于内网的相应主机的IP地址


a、发布Web服务

    # iptables -t nat -A PREROUTING -i eth1 -d 69.166.70.28 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100

    #外网接口的IP地址    内网Web主机的IP地址


b、发布SSH服务

    → 执行ssh -p 3333 192.168.1.1时,实际SSH登录192.168.1.10

    # iptables -t nat -A PREROUTING -i eth1 -d 192.168.1.1 -p tcp --dport 3333 -j DNAT --to-destination 192.168.1.10:22


c、发布FTP服务

    → 要加载模块 nf_nat_ftp、nf_conntrack_ftp

    # iptables -t nat -A PREROUTING -i eth1 -d 192.168.1.1 -p tcp --dport 20:21 -j DNAT --to-destination 192.168.1.10


九、防火墙脚本应用

·防火墙规则整理

   → 导入、导出规则

a、使用iptables-sace导出   

    # iptables-save

    # Generated by iptables-save v1.4.7 on Sun Jul 13 11:31:34 2014

     ....

    # Completed on Sun Jul 13 11:31:34 2014

    # iptables-save > /root/my_iptables.rule


b、使用iptables-restore导入

    #iptables-restore < /root/my_iptables.rule


c、开机后自动加载已保存的规则
    # iptables-save > /etc/sysconfig/iptables


linux防火墙--iptables(一)        http://nmore.blog.51cto.com/9008175/1437118

linux防火墙--iptables(二)        http://nmore.blog.51cto.com/9008175/1437304

linux防火墙--iptables(三)        http://nmore.blog.51cto.com/9008175/1437540

本文出自 “ywcto” 博客,请务必保留此出处http://nmore.blog.51cto.com/9008175/1437540