zoukankan      html  css  js  c++  java
  • 马哥学习笔记十——iptables

    1.防火墙:硬件,软件:规则(匹配标准,处理方法)

      Framework:默认规则

        开放:堵

        关闭:通

      规则:匹配标准

        IP:SIP,DIP  SYN=1,FIN=0,SYN=0,ACK=0;SYN=1,FIN=0,SYN=0,ACK=1;SYN=0,FIN=0,SYN=0,ACK=1(ESTABLISHED);

        TCP:SPORT,DPORT

        UDP:SPORT,DPORT

        ICMP:icmp-type

    2.hook function:钩子函数

      prerouting

      input

      output

      forward

      postrouting

      规则链

        PREROUTING

        INPUT

        OUTPUT

        FORWARD

        POSTROUTING

      filter(过滤):表

        INPUT

        OUTPUT

        FORWARD

      nat(地址转换):表

        PREROUTING

        OUTPUT

        POSTROUTING

      mangle():表

        PREROUTING

        INPUT

        OUTPUT

        FORWARD

        POSTROUTING

      raw():表

        PREROUTING

        OUTPUT

      自定义链只在被调用时才发挥作用,如果没有与自定义中的任何规则匹配,还应该有返回机制

      用户可以删除自定义空链,默认链无法删除

      每个规则都有两个内置计数器

        被匹配的报文个数

        被匹配的报文大小之和

    3.规则:匹配标准,处理动作

      匹配标准:

        通用匹配

          -s,--src:指定源地址

          -d,--dst:指定目标地址

          -p {tcp|udp|icmp}:指定协议

          -i INTERFACE:指定数据报文流入的接口

            可用于标准定义的链:PREROUTING,INPUT,FORWARD

          -o INTERFACE:指定数据报文流出的接口

            可用于标准定义的链:OUTPUT,POSTROUTING,FORWARD

        扩展匹配

          隐含扩展:不必特别指明由哪个模块进行的扩展,使用-p {tcp|udp|icmp}

            -p tcp

              --sport PORT[-PORT]:源端口

              --dport PORT[-PORT]:目标端口

              --tcp-flags mask omp:只检查mask指定的标志位,是逗号分隔的标志位列表;comp表示此列表中的标志位必须为一,comp中没出现,而mask中出现的必须为0

                --tcp-flags SYN,FIN,ACK,RST SYN = --syn

              --syn:tcp三次握手中的第一次

            -p icmp

              --icmp-type

                0:echo-reply

                8:echo-request

            -p udp

              --sport

              --dport

          显示扩展:必须指明由哪个模块进行的扩展,在iptables中使用-m选项

            -m EXTESTION --spe-opt

            state:状态扩展

              结合ip_conntrcak追踪会话的状态

                NEW:新连接请求

                ESTABLISHED:已建立的连接

                INVALID:非法连接

                RELATED:相关联的

              -m state --state NEW -j ACCEPT 

            multiport:离散的多端口扩展

              --source-ports

              --destination-ports

              --ports

              -m multiport --destination-ports 21,22,80, -j ACCEPT

      !:条件取反  -s ! 172.16.100.6

      iptables [-t TABLE] COMMAND CHAIN [num] 匹配标准 -j 处理办法

        -j TARGET(ACCEPT,DROP,REJECT)

      命令:

        管理规则:

        -A:附加一条规则,添加在链的尾部

        -I CHAIN [num]:插入一条规则,插入为对应CHAIN上的第num条,省略num为第一条

        -D CHAIN [num]:删除指定链中第num条规则

        -R CHAIN [num]:替换指定的规则

        管理链:

        -F [CHAIN]:flush,清空指定规则,省略CHAIN删除对应表中的所有链

        -P CHAIN:设定指定链的默认策略

        -N:自定义一条新的空链

        -X:删除一条自定义的空链

        -Z:置零指定列中所有规则的计数器

        -E:重命名自定义的链

        查看类:

        -L:显示指定表中的规则

          -n:以数字格式显示主机地址和端口号

          -v:显示链及规则的详细信息

          -x:显示计数器的精确值

          --line-numbers:显示规则号码

      动作(target):

        ACCEPT:放行

        DROP:丢弃

        REJECT:拒绝

        DNAT:目标地址转换

        SNAT:源地址转换

        REDIRECT:端口重定向

        MASQUERADE:地址伪装

        LOG:日志

        MARK:打标记

      保存规则:

        # service iptables save(重启生效)

          /etc/sysconfig/iptables

        # iptables-save > /etc/sysconfig/iptables.2014051101

        # iptables-restore < /etc/sysconfig/iptables.2014051101(重启生效)

  • 相关阅读:
    Delegte的BeginInvoke
    C# socket 实现客户端连续发送数据
    Button的PerformClick()
    Invoke和BeginInvoke
    Application.DoEvents() 处理队列消息,防界面假死
    BackgroundWorker后台线程
    CF773F
    ORM框架,没必要搞那么复杂
    VS Unable to copy file
    Unbuntu auto start program
  • 原文地址:https://www.cnblogs.com/wangyongbin/p/3721773.html
Copyright © 2011-2022 走看看