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
下一篇 2017-06-17

相關推薦

  • 筆記–8.2–用戶管理,權限管理

    ·硬鏈接,軟鏈接區別 大小 鏈接數 設備,分區 類型 硬連接 一樣大,顯示的是本身的大小 會增加 不能跨分區 是一個文件,相同inode號,忘了位置可通過inode號找到源文件 軟鏈接 不一樣大,鏈接文件大小是路徑的大小 不會增加 可以跨分區,跨設備 兩個文件,不同inode號,像發小廣告,忘了源連接,文件就找不到了 軟鏈接格式:ln -s +絕對路徑或相對…

    Linux干貨 2016-08-05
  • nfs與samba實現文件共享服務的流程

    nfs與samba實現文件共享服務的流程     nfs與samba都是能夠實現文件共享的服務應用,其用法大致相同,但是掛載選項與配置文件的設置機制不同,下面介紹這兩種文件共享服務的內容。     一.nfs服務的安裝與配置     服務端主機的配置:   &…

    Linux干貨 2016-10-23
  • N26-第五周博客

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

    系統運維 2017-02-10
  • Python from entry to abandon

          學習Linux已經有大致兩周了,依然感覺到自己仍然在運維的大門外徘徊。于是我想要找到一個在Linux之外的業余方向,可以作為枯燥基礎學習的調節。沒過多久我就發現了Python可以 說是欽定的選擇,它作為Linux的內置語言,傳言風格簡潔優美,功能強大。Python老生常談的缺點是效率不高,哎,沒辦…

    Linux干貨 2017-04-01
  • haproxy 動靜分離負載均衡、?stats頁面實現?。

    實驗環境:一臺主機提供haproxy、nfs、mariadb,后端2臺apache部署wordpress。 實驗目的:haproxy使得動靜分離、以及開啟stats頁面。 haproxy簡單介紹 負載均衡的解決方案,支持4、7層,特點是單進程模型(可配置為多進程模型)單進程能支持非常大的并發鏈接數量(相比較其他軟件)。 到今天,馬哥課程中的負載均衡方案(lv…

    Linux干貨 2017-02-18
  • Linux基礎之用戶管理和正冊表達式

    1.1.復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其他用戶均沒有任何訪問權限 [root@localhost home]# cp -r /etc/skel/ /home/tuser1 [root@localhost home]# chmod -R go= tuser1/ [root@localhos…

    2017-09-18
欧美性久久久久