iptables

規則格式:iptables   [-t table]   COMMAND   chain   [-m matchname [per-match-options]]   -j targetname [per-target-options]

    -t table:
            raw, mangle, nat, [filter]
    COMMAND:
            鏈管理:
                    -N:new, 自定義一條新的規則鏈;
                    -X: delete,刪除自定義的規則鏈;
                   注意:僅能刪除 用戶自定義的 引用計數為0的 空的 鏈;
                    – P:Policy,設置默認策略;對filter表中的鏈而言,其默認策略有:
                                ACCEPT:接受
                                DROP:丟棄
                                REJECT:拒絕
                    -E:重命名自定義鏈;引用計數不為0的自定義鏈不能夠被重命名,也不能被刪除;
            規則管理:
                    -A:append,追加;
                    -I:insert, 插入,要指明位置,省略時表示第一條;
                    -D:delete,刪除;
                        (1) 指明規則序號;
                        (2) 指明規則本身;
                    -R:replace,替換指定鏈上的指定規則;

                    -F:flush,清空指定的規則鏈;
                    -Z:zero,置零;
                            iptables的每條規則都有兩個計數器:
                                    (1) 匹配到的報文的個數;
                                    (2) 匹配到的所有報文的大小之和;
            查看:
                    -L:list, 列出指定鏈上的所有規則;
                    -n:numberic,以數字格式顯示地址和端口號;
                    -v:verbose,詳細信息;
                    -vv, -vvv
                    -x:exactly,顯示計數器結果的精確值; 
                    –line-numbers:顯示規則的序號;

    chain:
                    PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING

    匹配條件:
           基本匹配條件:無需加載任何模塊,由iptables/netfilter自行提供;
                    [!] -s, –source  address[/mask][,…]:檢查報文中的源IP地址是否符合此處指定的地址或范圍;
                    [!] -d, –destination address[/mask][,…]:檢查報文中的目標IP地址是否符合此處指定的地址或范圍;
                                                        所有地址:0.0.0.0/0
                    [!] -p, –protocol protocolprotocol: tcp, udp, udplite, icmp;
                    [!] -i, –in-interface name:數據報文流入的接口;
                    [!] -o, –out-interface name:數據報文流出的接口; 

           擴展匹配條件:

                    隱式擴展:在使用-p選項指明了特定的協議時,無需再同時使用-m選項指明擴展模塊的擴展機制;
                    顯式擴展:必須使用-m選項指明要調用的擴展模塊的擴展機制;
                    隱式擴展:不需要手動加載擴展模塊;
                            tcp:
                                        [!] –source-port, –sport port[:port]:匹配報文的源端口;可以是端口范圍;
                                        [!] –destination-port,–dport port[:port]:匹配報文的目標端口;可以是端口范圍;
                                        [!] –tcp-flags  mask 
                                        [!] –syn:用于匹配第一次握手,相當于”–tcp-flags  SYN,ACK,FIN,RST  SYN“;
                            udp 
                                        [!] –source-port, –sport port[:port]:匹配報文的源端口;可以是端口范圍;
                                        [!] –destination-port,–dport port[:port]:匹配報文的目標端口;可以是端口范圍;

                            icmp 
                                        [!] –icmp-type {type[/code]|typename}
                                                        echo-request:8
                                                        echo-reply:0

                    顯式擴展:必須要手動加載擴展模塊, [-m matchname [per-match-options]];
                            顯式擴展:必須使用-m選項指明要調用的擴展模塊的擴展機制;
                            1、multiport
                                    以離散或連續的 方式定義多端口匹配條件,最多15個;
                                        [!] –source-ports,–sports port[,port|,port:port]…:指定多個源端口;
                                        [!] –destination-ports,–dports port[,port|,port:port]…:指定多個目標端口;
                                       # iptables -I INPUT  -d 172.16.0.7 -p tcp -m multiport –dports 22,80,139,445,3306 -j ACCEPT

                            2、iprange
                                    以連續地址塊的方式來指明多IP地址匹配條件;
                                        [!] –src-range from[-to]
                                        [!] –dst-range from[-to]
                                        # iptables -I INPUT -d 172.16.0.7 -p tcp -m multiport –dports 22,80,139,445,3306 -m

                                         iprange –src-range 172.16.0.61-172.16.0.70 -j REJECT

                            3、time
                                    –timestart hh:mm[:ss]
                                    –timestop hh:mm[:ss] 
                                     [!] –weekdays day[,day…] 
                                     [!] –monthdays day[,day…] 
                                     –datestop YYYY[-MM[-DD[Thh[:mm[:ss]]]]]
                                    –kerneltz:使用內核配置的時區而非默認的UTC;

                            4、string
                                    –algo {bm|kmp}
                                    [!] –string pattern
                                    [!] –hex-string pattern    
                                    –from offset
                                    –to offset    
                                   ~]# iptables -I OUTPUT -m string –algo bm –string “gay” -j REJECT

                            5、connlimit 
                                    –connlimit-upto n
                                    –connlimit-above n
                            ~]# iptables -I INPUT -d 172.16.0.7 -p tcp –syn –dport 22 -m connlimit –connlimit-above 2 -j REJECT

                            6、limit 
                                    –limit rate[/second|/minute|/hour|/day]
                                    –limit-burst number
                                    ~]# iptables -I OUTPUT -s 172.16.0.7 -p icmp –icmp-type 0 -j ACCEPT
                                    限制本機某tcp服務接收新請求的速率:–syn, -m limit

                            7、state
                                    [!] –state state
                                            INVALID, ESTABLISHED, NEW, RELATED or UNTRACKED.
                                    NEW: 新連接請求;
                                    ESTABLISHED:已建立的連接;
                                    INVALID:無法識別的連接;
                                    RELATED:相關聯的連接,當前連接是一個新請求,但附屬于某個已存在的連接;
                                    UNTRACKED:未追蹤的連接;

原創文章,作者:忠神通,如若轉載,請注明出處:http://www.www58058.com/78110

(0)
忠神通忠神通
上一篇 2017-06-16 19:24
下一篇 2017-06-17 08:29

相關推薦

  • N25-第二周作業

    N25-第二周作業 博客作業 1、linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示 linux上處理目錄的常用命令: ls :列出目錄 cd :切換目錄 pwd:顯示當前工作路徑 mkdir:創建目錄 rm:刪除文件或目錄 rmdir:刪除空文件 mv:剪切、重命名文件、目錄 cp:復制文件或目錄 touch:創建空文件 ls:= li…

    Linux干貨 2017-02-08
  • 馬哥教育網絡20期+第五周課程練習

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; [root@localhost ~]# grep "^[[:space:]]\+" /boot/grub/grub.conf 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又…

    Linux干貨 2016-07-07
  • RPM軟件包管理

                                                RPM 軟件包管理 1、rpm軟件包管理: &nbs…

    系統運維 2016-09-01
  • 每日一練–8.10 腳本

    1、編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信息,包括主機名,IPv4地址,操作系統版本,內核版本,CPU型號,內存大小,硬盤大小。 2、編寫腳本/root/bin/backup.sh,可實現每日將/etc/目錄備份到/root/etcYYYY-mm-dd中 3、編寫腳本/root/bin/disk.sh,顯示當前硬盤分區中空…

    Linux干貨 2016-08-15
  • N24 第三周 磁盤及文件系統管理

    Linux系統管理          磁盤分區及文件系統管理          RAID          LVM 動態磁盤設備管理          網絡屬性…

    Linux干貨 2016-11-22
  • Linux用戶和組相關知道小結

    用戶和組主要配置文件相關的參數,以及這些文件管理常用的命令。有很多的不足的地方。望大家指導。

    Linux干貨 2017-11-18
欧美性久久久久