博客專欄

        EEPW首頁 > 博客 > iptables入門指南

        iptables入門指南

        發(fā)布人:電子禪石 時(shí)間:2023-04-19 來源:工程師 發(fā)布文章

        11 iptables防火墻簡介

          Netfileter/iptables (以下簡稱iptables)是nuix/linux 系統(tǒng)自帶的優(yōu)秀且完全免費(fèi)的基于包過濾的防火墻工具、它的功能十分強(qiáng)大、使用非常靈活、可以對(duì)流入、流出及流經(jīng)服務(wù)器的數(shù)據(jù)包進(jìn)行精細(xì)的控制。特別是它可以在一臺(tái)非常低配置下跑的非常好。提供400臺(tái)機(jī)器的辦公上網(wǎng)共享服務(wù)絲毫不遜色數(shù)萬RMB企業(yè)級(jí)專業(yè)路由器防火墻

           Iptables 是linux2.4及2.6內(nèi)核中集成的服務(wù)、其功能與安全性比老一輩ipvfwadm、ipchanins強(qiáng)大的多、一般認(rèn)為iptables工作在OSI七層的、二、三層、四層。


        1、2 iptables 名詞和術(shù)語

          不少剛接觸到iptables的初學(xué)者會(huì)被iptables防火墻的相關(guān)名詞搞的很暈、不知道其所云的具體意思、本章不會(huì)像某些書籍一樣長篇大論、而是以最基本的能讓大家容易理解。

         

        1、2、1 什么是容器

        容器就是裝東西的。如(箱、包、壇、)、容器就是用來包裝或轉(zhuǎn)載物品的存寄器、在iptables里的呢、就是用來描述這種包含或者說術(shù)語的關(guān)系、喜愛按我就來說說這些包含關(guān)系

         

        1、2、2 什么是Netfileter/iptables  

           Netfileter是表(tables)的容器,(還不知道啥意思的,請(qǐng)網(wǎng)上看)。這樣解釋大家肯定還暈、舉例、如果吧Netfileter看成某小區(qū)的一棟大樓、那么表(tables)就是樓里的其中的一套房子。這套房子表(tables) 就屬于這棟樓“Netfileter”。比如、你們家所在的小區(qū)所在樓當(dāng)成netfileter

         

        1、2、3 什么是表(tables)

           表(tables)是鏈的容器、及所有的鏈(chains)都是屬于表(tables),如上,如果把Netfileter看成某個(gè)小區(qū)的一棟樓、那么表(tables)就是樓里的某一套房子、比如你們家住的房子。當(dāng)然了、表(tables)可能不止一個(gè)!

         

        1、2、4 什么是鏈(chains)?

          鏈(chains)是規(guī)則(Policys)的容器、鏈屬于表,接上、如果表(tables)當(dāng)做一套房子、那么鏈(chains)那么可以說是房子里的家具(桌子、柜子等)。每一套房子都可能會(huì)有桌子柜子等、

         

        1、2、5 什么是規(guī)則(Policy)

          規(guī)則(policy)就比較容易理解了、柜子(policy)屬于鏈(chains)。就是iptables一系列過濾信息和具體操作方法、可以理解為購買什么家具、并且如何擺放、設(shè)計(jì)的更符合要求等、

         

        1、2、6 整理個(gè)表格如下

         

        描述完了基本術(shù)語我們畫個(gè)形象的表格幫我們理解記憶下:

        Netfileter/iptables

        表(tables)

        鏈(chains)

        規(guī)則(policy)

        小區(qū)的一棟樓

        樓里的房子

        房子里的柜子

        增加、擺放的規(guī)則

         

        1、3 iptables工作流程

          前面的介紹已經(jīng)提到。Iptables 是采取數(shù)據(jù)包過濾機(jī)制工作的,所以它會(huì)對(duì)請(qǐng)求的數(shù)據(jù)包的包頭數(shù)據(jù)進(jìn)行分析、并根據(jù)我們預(yù)先設(shè)定的規(guī)則進(jìn)行匹配來決定是否可以進(jìn)入、流出、流經(jīng)主機(jī)。下面我們以 iptables 進(jìn)入主機(jī)進(jìn)行過濾的流程圖為例子

         

        提示:

             防火墻規(guī)則的執(zhí)行順序認(rèn)為從前到后依次執(zhí)行、遇到匹配的規(guī)則就不在繼續(xù)向下檢查、

        如果遇到不匹配的規(guī)則則會(huì)繼續(xù)向下進(jìn)行。

         重點(diǎn): 匹配上了拒接規(guī)則也是匹配。因此不在繼續(xù)向下進(jìn)行、這一點(diǎn)大家要注意、

        例如:同時(shí)執(zhí)行了以下規(guī)則

        [root@Nagios2 ~]# iptables -A INPUT -p tcp --dport 3306 -j DROP

        [root@Nagios2 ~]# iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

         此時(shí)通過命令 telnet 192.168.132.194 3306 檢查3306是不通的。原因就是telnet請(qǐng)求以匹配上了拒接規(guī)則、因此不會(huì)在找下面的允許規(guī)則、如果需要telnet 192.168.132.194 3306 連通、可以把ACCEPT規(guī)則中的-A 改為-I 即為 iptables –I INPUT –p tcp –dport 3306 –j ACCEPT 把允許規(guī)則防御INPUT鏈的第一行生效

         

        再來一個(gè)流程的圖例:此里來自于交換機(jī)中acl過濾。如iptables 流程幾乎一模一樣。

        入站數(shù)據(jù)包流程圖:

        出站數(shù)據(jù)包:

         

        小提示:對(duì)于交換機(jī)的acl數(shù)據(jù)包過濾。除了順序匹配外,還有深度匹配。即讀完所有的再去匹配。匹配最精確的規(guī)則。

         

         

        14 iptables 的表(tables) 和鏈(chains

           描述完iptables術(shù)語后、相信大家對(duì)iptables的表和鏈有了初步的了解了、默認(rèn)情況下。Iptables,根據(jù)功能和表的定義劃分、最常用的有三個(gè)表,分別是filter,nat mangle.其中每個(gè)表又有各自包含不同的操作鏈(chains

        小提示:如果你執(zhí)行man iptables 可以發(fā)現(xiàn)還有raw表,不過我們不用理會(huì)它。平時(shí)我們幾乎用不到。

        西面的表格展示了表和鏈的對(duì)應(yīng)關(guān)系。

        特殊提示這里。我們畫個(gè)思維輔導(dǎo)圖輔助記憶

        142 iptables filter表介紹

        Filter

        和主機(jī)自身相關(guān)、負(fù)責(zé)防火墻(過濾本機(jī)流入、流出數(shù)據(jù)包)。

        iptables默認(rèn)使用的表、這個(gè)表定義了三個(gè)鏈(chains)說明如下


        INPUT

        負(fù)責(zé)過濾所有目標(biāo)地址是主機(jī)(防火墻)地址的數(shù)據(jù)包、通俗的講、就是過濾進(jìn)入主機(jī)的數(shù)據(jù)包。


        FORWARD

        負(fù)責(zé)轉(zhuǎn)發(fā)流經(jīng)主機(jī)但不進(jìn)入本機(jī)的數(shù)據(jù)包、起轉(zhuǎn)發(fā)作用、和NAT表關(guān)系很大、后面會(huì)詳細(xì)介紹


        OUTPUT

        處理所有原地址是本機(jī)地址的數(shù)據(jù)包、通俗的講就是處理從主機(jī)發(fā)出去的數(shù)據(jù)包。

        對(duì)于filter表的控制是我們實(shí)現(xiàn)本機(jī)防火墻功能的重要手段。

        143 iptabls nat表介紹

         

        NAT

        是網(wǎng)絡(luò)地址轉(zhuǎn)換的意思。即負(fù)責(zé)來源與目的IP地址和port的轉(zhuǎn)換、和主機(jī)本身無關(guān)。一般用于局域網(wǎng)多人共享上網(wǎng)或者內(nèi)網(wǎng)IP映射外網(wǎng)IP及不同端口轉(zhuǎn)換服務(wù)等功能。Nat表的功能很重要、這個(gè)表定義了三個(gè)鏈(chains


        OUTPUT

        主機(jī)發(fā)出去的數(shù)據(jù)包有關(guān)、在數(shù)據(jù)包路由之前改變主機(jī)產(chǎn)生的數(shù)據(jù)包的目的地址等。


        PREROUTING

        在數(shù)據(jù)包剛到達(dá)防火墻時(shí)、進(jìn)行路由判斷之前執(zhí)行的規(guī)則、改變包的目的地址(DNAT功能)、端口等(通俗比喻,就是收信時(shí)、根據(jù)規(guī)則重寫收件人的地址、這看上去不地道啊、)把公司IP映射到局域網(wǎng)的機(jī)器上、此鏈多用于把外部IP地址端口的服務(wù)、映射為內(nèi)部IP地址及端口


        POSTROUTING

        在數(shù)據(jù)包離開防火墻時(shí)進(jìn)行路由判斷之后執(zhí)行的規(guī)則、改變包的源地址(SNAT)、端口等(通俗比喻、就是寄信時(shí)寫好發(fā)件人的地址、要讓人家回信是能夠有地址可回)刺鏈多用于局域網(wǎng)共享上網(wǎng),把所有局域網(wǎng)的地址、轉(zhuǎn)換為公網(wǎng)地址上

         

         

         

        144 iptables mangle表介紹

         

        Mangle

        主要負(fù)責(zé)修改數(shù)據(jù)包中特殊的路由標(biāo)記,如TTLTOSMARK等、這個(gè)表定義了5個(gè)鏈(chains


        INPUT

        filter表的INPUT


        FORWARD

        filter表的FORWARD


        OUTPUT

        fileter表的OUTPUT


        PREROUTING

        nat表的PREROUTING


        POSTOUTING

        nat表的POSTOUTING

         

          由于這個(gè)表與特殊路由標(biāo)記有關(guān)、一般在生產(chǎn)運(yùn)維工作中、我們很少用到這個(gè)mangle表。我們就不做詳細(xì)介紹了、

         

         

         

         

         

        15 iptables 的表與鏈的工作流程

         

        2、iptables 命令規(guī)則

         

        21 iptables命令幫助信息。

         

         

        復(fù)制代碼
        [root@Nagios2 ~]# iptables -h   
        iptables v1.4.7Usage: iptables -[AD] chain rule-specification [options]
               iptables -I chain [rulenum] rule-specification [options]  
               iptables -R chain rulenum rule-specification [options]
               iptables -D chain rulenum [options]    ###刪除規(guī)則
               iptables -[LS] [chain [rulenum]] [options]
               iptables -[FZ] [chain] [options]
               iptables -[NX] chain
               iptables -E old-chain-name new-chain-name
               iptables -P chain target [options]   #(其中-p等同于 –policy規(guī)則)
               iptables -h (print this help information)
        
        Commands:
        Either long or short options are allowed.
        提示:這款請(qǐng)注意。長格式短格式命令都可用、為了打字我們習(xí)慣于端格式 
         --append  -A chain            Append to chain  
         --delete  -D chain            Delete matching rule from chain  
         --delete  -D chain rulenum
                                        Delete rule rulenum (1 = first) from chain  
         --insert  -I chain [rulenum]   Insert in chain as rulenum (default 1=first)  
         --replace -R chain rulenum     Replace rule rulenum (1 = first) in chain  
         --list    -L [chain [rulenum]] List the rules in a chain or all chains  -
         -list-rules -S [chain [rulenum]]  Print the rules in a chain or all chains  
         --flush   -F [chain]          Delete all rules in  chain or all chains  
         --zero    -Z [chain [rulenum]] Zero counters in chain or all chains  
         --new     -N chain            Create a new user-defined chain  
         --delete-chain   -X [chain]          Delete a user-defined chain  
         --policy  -P chain target
                                        Change policy on chain to target  --rename-chain            -E old-chain new-chain
                                        Change chain name, (moving any references)
        Options:
        [!] --proto     -p proto        protocol: by number or name, eg. `tcp'
        [!] --source    -s address[/mask][...] source specification
        [!] --destination -d address[/mask][...] destination specification
        [!] --in-interface -i input name[+]  network interface name ([+] for wildcard) 
            --jump -j target                   target for rule (may load target extension)  
            --goto      -g chain
                                      jump to chain with no return
          --match       -m match
                                        extended match (may load extension)  --numeric     -n              numeric output of addresses and ports
        [!] --out-interface -o output name[+]
                                        network interface name ([+] for wildcard)  
           --table       -t table        table to manipulate (default: `filter')
          --verbose     -v              verbose mode  
          --line-numbers                print line numbers when listing  
          --exact       -x              expand numbers (display exact values)
        [!] --fragment  -f              match second or further fragments only  
           --modprobe=<command>          try to insert modules using this command  
           --set-counters PKTS BYTES     set the counter during insert/append
        [!] --version   -V              print package version.
        [root@Nagios2 ~]#
        復(fù)制代碼

        2實(shí)踐iptables 命令規(guī)則22啟動(dòng)并查看iptables

        [root@Nagios2 ~]# /etc/init.d/iptables start
        iptables: Applying firewall rules: [  OK  ]
        [root@Nagios2 ~]#

        查看iptables 的所有鏈和規(guī)則

         

        復(fù)制代碼
        Iptables –L –n 或者 iptables –L –n –t filter 或者 iptables –L –n –x –v 
        中文說明:
        -L :列出一個(gè)或所有鏈的規(guī)則
        -v:顯示詳細(xì)信息、包括每條規(guī)則匹配包數(shù)量和匹配字節(jié)數(shù)
        -x:在v的基礎(chǔ)上、進(jìn)制自動(dòng)單位換算(K,M)
        -n: 只顯示IP地址和端口號(hào)碼。不顯示域名和服務(wù)名稱
        -t : 接表名、如果不加-t,默認(rèn)就是 –t filter
        復(fù)制代碼

         

         

        復(fù)制代碼
        [root@Nagios2 ~]# iptables -L -n
        Chain INPUT (policy ACCEPT)
        target     prot opt source               destination         
        ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
        ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 
        
        Chain FORWARD (policy ACCEPT)
        target     prot opt source               destination         
        REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 
        
        Chain OUTPUT (policy ACCEPT)
        target     prot opt source               destination
        復(fù)制代碼

        默認(rèn)是filter的,沒有加 –t 默認(rèn)查看的就是如果想要查看NAT的表

         

        復(fù)制代碼
        [root@Nagios2 ~]# iptables -L -n -t nat   
        Chain PREROUTING (policy ACCEPT)
        target     prot opt source               destination         
        
        Chain POSTROUTING (policy ACCEPT)
        target     prot opt source               destination         
        
        Chain OUTPUT (policy ACCEPT)
        target     prot opt source               destination         
        [root@Nagios2 ~]#
        復(fù)制代碼

         

        22清除默認(rèn)規(guī)則

        為了從頭學(xué)起,我們需要首先清除掉所有的默認(rèn)規(guī)則、具體的命令為

         

         

        Iptables –F  ###清除所有規(guī)則Iptables –X  ####刪除用戶自定義的鏈Iptables –Z   ####鏈的計(jì)數(shù)器清零

         

        提示:默認(rèn)情況下,我們清除規(guī)則是對(duì)filter表的操作、如果是nat表、我們需要iptables –t nat –F

        實(shí)例演示2:
        [root@Nagios2 ~]# iptables -F[root@Nagios2 ~]# iptables –flush

        223 iptables 規(guī)則語法

        1)禁止ssh默認(rèn)的22端口

         

         

         

        復(fù)制代碼
        [root@Nagios2 ~]# iptables -A INPUT -p tcp --dport 22 -j DROP[root@Nagios2 ~]# iptables  -t  filter  -A INPUT -p tcp --dport 22 -j DROP 提示:1、iptables 默認(rèn)用的就是filter表 。因此,以上兩條命令等價(jià)。2、其中INPUT DROP 等關(guān)鍵詞要大寫的3、行為參數(shù)--jump  -j target 
        提示: target 的常見的處理方法有ACCEPT(接受),DROP(丟棄),
             REJECT(拒接)其中、一般不使用REJECT行為、REJECT會(huì)帶來安全隱患、
             在這里我們只需要記住ACCEPT(接受)、DROP(丟棄)即可、
        復(fù)制代碼

        擴(kuò)展:刪除設(shè)定的規(guī)則

        iptables –D INPUT –p tcp –dport 22 –j DROP

        刪除規(guī)則法二:

        首先顯示規(guī)則號(hào)

        復(fù)制代碼
        [root@Nagios2 ~]# iptables -L -n --line-numbersChain INPUT (policy ACCEPT)
        num  target     prot opt source               destination         
        1    DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:21 Chain FORWARD (policy ACCEPT)
        num  target     prot opt source               destination         
        
        Chain OUTPUT (policy ACCEPT)
        num  target     prot opt source               destination         
        [root@Nagios2 ~]#[root@Nagios2 ~]# iptables -D INPUT 1
        復(fù)制代碼

        刪除規(guī)則三:

        執(zhí)行iptables –F 清除所有的規(guī)則,臨時(shí)生效。重啟防火墻或重啟計(jì)算機(jī)失效

        刪除規(guī)則法四:

        重啟防火墻/etc/init.d/iptables restart

        2) 禁止10.0.0.0/24 網(wǎng)段連入

         

        iptables -A INPUT –i eth0 -s 10.0.0.0/24 -j DROP
        iptables  -t filter  -A INPUT –i eth0 -s 10.0.0.0/24 -j DROP

        iptables 默認(rèn)的標(biāo)記是filter表。因此上兩條命令等價(jià)。

        3) 測試 【! 非】

        1、源地址不是192.168.132.201 的禁止連接

         

        復(fù)制代碼
        iptables –A INPUT –I eth1 –s ! 192.168.132.201 –j DROP 
        iptables –A INPUT –I eth1 –s ! 192.168.132.201 –j ACCEPT
        
        [root@Nagios2 ~]# iptables -I INPUT -p icmp --icmp-type 8 -i eth0 -s ! 192.168.132.1 -j DROP小提示:1) 這里-i eht0表示數(shù)據(jù)包的進(jìn)入接口為eth0、類似的參數(shù)還有-o匹配數(shù)據(jù)流出的網(wǎng)絡(luò)接口
        例如:-o eth1 表示數(shù)據(jù)包的進(jìn)入接口為eth1.
        記憶方法:-in-interface –i [!] input name [+]
                            Network interface name ([+] for wildcard)-out-interface –o [!] ouput name[+]
                             Network interface name ([+] for wildcard)
        復(fù)制代碼

         

        2、源地址不是192.168.132.0/24 的禁止連接

         

        iptables -A INPUT -s ! 192.168.132.0/24 -j DROP
        等價(jià)于
        Iptables –t filter –I INPUT –i eht0 –s ! 192.168.132.0/24 –j DROP

         

        3、封掉3306端口

        iptables –A INPUT –p tcp –dport 3306 –j DROP

         

        4、匹配指定協(xié)議

        復(fù)制代碼
        Iptables –A INPUT –p tcp
        
        Iptables –A INPUT –p udp
        
        小提示:-p 參數(shù)可以匹配協(xié)議名或者協(xié)議號(hào)。--proto –p [!] porto
        
        The specified protocol can be one of tcp,udp ,icmp.or all
        復(fù)制代碼

         

        5、匹配協(xié)議外的所有協(xié)議

        Iptables –A INPUT –p ! tcp

         

        6、匹配主機(jī)

        Iptables –A INPUT –s 192.168.132.10Iptables –A INPUT –s ! 192.168.132.10

         

        7、匹配網(wǎng)段

         

        8、匹配端口之外的端口

        Iptables –A INPUT –p tcp –dport !22  -j DROP

         

        9、匹配端口范圍

        Iptables –A INPUT –p tcp –sport 22:80    ###源端口的22 和80端口就是來訪主機(jī)的端口iptables -A INPUT -p tcp -m multiport --dport 21,22,23,24 -j ACCEPT  ###目的端口。就是本地端口Iptables –I INPUT –p tcp –dport 3306:8809 –j ACCEPT

         

        10、匹配ICMP端口和ICMP類型

        復(fù)制代碼
        Iptables –A INPUT –p icmp –icmp-type 8例如:iptables –A INPUT –p imcp –icmp-type 8 –j DROP
        
        Iptables –A INPUT –p icmp –m icmp –icmp-type any –j ACCEPT
        
        Iptables –A FORWARD –s 192.168.132.0/24 –p icmp –m icmp –icmp-type any –j ACCEPT
        復(fù)制代碼

         

        11、匹配指定的網(wǎng)絡(luò)接口

        Iptables –A INPUT –i eth0   ###進(jìn)入端口的數(shù)據(jù)包Iptables –A INPUT –o eth1  ###出入的端口數(shù)據(jù)包

         

        12、安全保護(hù)

        復(fù)制代碼
        Syn-flood protection;
        
        [root@Nagios4 ~]# iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPTFurtive port scanner :
        
        [root@Nagios4 ~]# iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPTPing of death:
        
        [root@Nagios4 ~]# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
        復(fù)制代碼

         

         

        22生產(chǎn)環(huán)境常用服務(wù)的iptables 規(guī)則實(shí)踐

        特別提示:以下規(guī)則是以默認(rèn)規(guī)則為拒接規(guī)則設(shè)計(jì)

        1) 僅允許內(nèi)部合法的IP訪問服務(wù)器

        復(fù)制代碼
        #setting access rules#one ,ip access rules,allow all the ips ofiptables -A INPUT -s 192.168.132.0/24 -p all -j ACCEPT
        
        iptables -A INPUT -s 120.42.60.51/27 -p all -j ACCEPT
        
        iptables -A INPUT -s 192.168.1.0/24 -p all -j ACCEPT
        
        iptables -A INPUT -s 172.16.20.0/24 -p all -j ACCEPT
        復(fù)制代碼

         

        1) 僅允許內(nèi)部合法的ipip訪問監(jiān)控服務(wù)nagios

        復(fù)制代碼
        #second.port access rules#nagiosiptables –A INPUT –s 192.168.132.0/24 –p tcp –dport 5666 –j ACCEPT
        
        iptables –A INPUT –s 200.100.59.0/24 –p tcp –dport 5666 –j ACCEPT
        復(fù)制代碼

         

        2) 僅允許內(nèi)部合法ip段訪問mysql數(shù)據(jù)庫和oracle數(shù)據(jù)庫

        #dbiptables –A INPUT –s 192.168.10.0/24 –p tcp –dport 3306 –j ACCEPT
        
        iptables –A INPUT –s 192.168.50.0/24 –p tcp –dport 1521 –j ACCEPT

         

        3) 僅允許內(nèi)部合法IP段訪問SSH遠(yuǎn)程連接服務(wù)

        #ssh difference form other servers here……iptables –A INPUT –p tcp –s 192.168.10.0/24 –dport 50718 –j ACCEPT

         

        5) 對(duì)HTTP服務(wù)的不同限制

        復(fù)制代碼
        a、對(duì)外提供HTTP服務(wù)的業(yè)務(wù),要允許http服務(wù)通過、并且不限制IP#httpiptables –A INPUT –p tcp –dport 80 –j ACCEPT
        
        b、對(duì)內(nèi)部提供http服務(wù)的業(yè)務(wù)、一般用特殊端口、并且限制合法IP連接或者VPN連接
        
        iptables –A INPUT –s 192.168.132.0 –p tcp –m multiport –dport 8080,8081,8082,8888 –j ACCEPT
        復(fù)制代碼

         

        6snmp的限制

        iptables –A INPUT –s 192.168.132.0/24 –p UDP –dport 161 –j ACCEPT
        
        iptables –A INPUT –s 192.168.155.0/24 –p UDP –dport 161 –j ACCEPT
        
        iptables –A INPUT –s 192.168.166.0/24 –p UDP –dport 161 –j ACCEPT

         

        7、 rsync 服務(wù)的限制策略

        復(fù)制代碼
        # rsynciptables –A INPUT –s 192.168.132.0/24 –p tcp –m tcp –dport 873 –j ACCEPT
        
        iptables –A INPUT –s 192.168.12.0/24 –p tcp –m tcp –dport 873 –j ACCEPT
        
        iptables –A INPUT –s 192.168.1.0/24 –p tcp –m tcp –dport 873 –j ACCEPT
        復(fù)制代碼

         

        8、 nfs 服務(wù)的限制

        iptables –A INPUT –s 192.168.10.0/24 –t TCP –m multiport –dport 111,892,2049 –j ACCEPT
        
        iptables –A INPUT –s 192.168.100.0/24 –t TCP –m multiport –dport 111,892,2049 –j ACCEPT

         

        9ftp服務(wù)的限制

        iptables –A INPUT –p tcp –dport 21 –j ACCEPT
        
        iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
        
        iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

         

        提示:上面內(nèi)容表示對(duì)已經(jīng)建立連接的數(shù)據(jù)包、或者發(fā)出去的數(shù)據(jù)包允許通過。

        復(fù)制代碼
        說明 iptables –A INPUT –m state –state 狀態(tài) –j ACCEPT
        
        下面幾種1) INVLID   #####不可用的。數(shù)據(jù)包不能被識(shí)別。比如說內(nèi)存溢出。ICMP錯(cuò)誤2) ESTABLISHED  ###這個(gè)包已經(jīng)建立了連接、3) NEW  ####這個(gè)包已經(jīng)開始新連接了。然后也是有雙向的。但是還看不見4) RELATED   ####這個(gè)包開始了一個(gè)新連接。并且和已經(jīng)存在的連接已經(jīng)有關(guān)聯(lián)。
        復(fù)制代碼

         

        10) icmp 協(xié)議的限制

        iptables –A INPUT –p icmp –icmp-type any –j ACCEPT
        
        iptables –A INPUT –p icmp –s 192.168.10.0/24 –m icmp –icmp-type any –j ACCEPT
        
        iptables –A INPUT –p icmp –icmp-type 8 –j ACCEPT

         

        提示:如果不想開。就不執(zhí)行此行

         

        EOF 完結(jié) !!! 下一篇 iptables 當(dāng)做防火墻


        *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



        關(guān)鍵詞: iptables

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 横峰县| 绿春县| 周宁县| 喜德县| 阿图什市| 元朗区| 昌宁县| 乌兰浩特市| 民县| 饶平县| 鄯善县| 壶关县| 德州市| 科尔| 芮城县| 鄢陵县| 永兴县| 桑植县| 赞皇县| 大洼县| 洛川县| 汶川县| 安义县| 兴化市| 崇信县| 贵阳市| 漳州市| 定兴县| 茂名市| 涿鹿县| 雅安市| 定州市| 安陆市| 柞水县| 永修县| 玉林市| 鲁甸县| 汽车| 牡丹江市| 兴文县| 疏附县|