iptables

linux访问控制:
   Firewall:
     rules、policy
   防火墙分类:
     工作在三层的网络防火墙、七层防火墙    
    NetFilter:
      hook functions 五个“钩子函数”
       chains
        PREROUTINT 路由前的
        INPUT  数据包包的流入接口
        FORWARD 转发
        OUTPUT 由本机出来的
        POSTROUTING 路由后的
      防火墙策略:“通”、“堵” : 通就全通,堵只需单堵 
      允许/不允许:filter
      地址转换:nat
      修改报文原数据:mangle
      使用表来实现同一个链上的不同规则
      
      四表五链
        filter :INPUT,FORWARD,OUTPUT
        nat    :PREROUTING OUTPUT POSTROUTING
        mngle  : PREROUTING INPUT FORWARD OUTPUT POSTROUTING
        raw    :PREROUTING OUTPUT

wKioL1P0nCTC33ZOAAHG2WqmLL8626.jpg      iptables定义规则
      iptables [-t table(默认filter)] COMMAND chain CRETIRIA(匹配规则) -j ACTION 
          COMMAND: 
             链管理命令:
                -P :设置默认策略
                    # iptables -P INPUT {DROP|ACCEPT}
                -F : flush 清空规则链的
                    # iptables -t nat -F PREROUTING
                -N :new 新建一个链
                    # iptables -N inbound_tcp_web
                -X :删除用户自定义的空链,删除之前清空里面的规则
                -E : 给用户自定义的链重命名
                -Z :清空链默认规则及链中规的计数器的
             规则管理命令:
                -A :在当前的链中最后追加
                -I num:插入为第num条
                -R num:修改规则,替换
                   # iptables -R -num +新规则
                -D num:删除,指定删除第num条                
             查看命令:
                -L :list 查看
                   -n 以数字方式显示,不进行解析
                   -v 详细信息
                   -vv
                   -vvv
                   -x 计数器的精确值,不做单位换算
                   --line-numbers :显示行号   
          匹配标准
            通用匹配:
                -s,--source,-src :做原地址匹配,不能使用主机名,使用ip
                     eg: IP,NETWORK/NETMASK,0.0.0.0/0.0.0.0
                -d :匹配目标地址
                -p :匹配协议的{tcp|udp|icmp}
                -i eth0: inbount流入的
                -o eth0:流出的接口
            扩展匹配:
              隐含扩展:
                -p tcp 
                    --dport :目标端口
                    --sport : 源端口
                    --tcp-flags:tcp的标志位  SYN.ACK.FIN.PSH.RST.URG.
                       --tcp-flags  检查的标志位 必须为1的标志位
                        eg:--tcp-flags syn,ack,fin,rst   syn  ==--syn//实现第一次握手
                -p udp
                   --dport
                   --sport
                -p icmp
                   --icmp-type 8
                     echo-request ==8  ping出去的数据包
                     echo-reply ==0  ping的相应
              显式扩展         
                 使用各种扩展模块
                   -p tcp -m multiport --drops 21,23,80
           ACTION
              -j  ACTION  
                  DROP   悄悄拒绝
                  REJECT 明确拒绝
                  ACCEPT 接受
                  custom_chain
                  DNAT 目标nat
                  SNAT 原nat
                  MASQUERADE 地址伪装
                  REDIRECT重定向
                  MARK 标记
                  RETURN    
 state状态
   NEW
   ESTABLSHED
   RELATED
   INVALID                
                  
service iptables save 保存
默认保存在/etc/sysconfig/iptables

iptable-save > /etc/sysconfig/iptables.2 保存到指定的文件中

iptables-restore < /etc/sysconfig/iptables.2 启动文件iptables.2里面定义的规则 

                   
iptables实现nat: 
 源地址转换
 iptables -t nat -A  POSTROUTING -s NETWORK/PREFIX  -j SNAT --to-source  Internet_IP              
 如果地址不是固定的,使用MASQUERADE来伪装地址
  iptables -t nat -A  POSTROUTING -s 192.168.0.0/24 -j  MASQUERADE                  
 目标 地址转换
   iptables -t nat -A PREROUTING -d INternet_fa  -p tcp --dport 80 -j DNAT --to-destination NEI_IP                    


你可能感兴趣的:(linux,防火墙,policy,数据包)