91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iptables命令的作用是什么

發布時間:2021-08-12 15:09:32 來源:億速云 閱讀:269 作者:chen 欄目:網絡安全

這篇文章主要介紹“iptables命令的作用是什么”,在日常操作中,相信很多人在iptables命令的作用是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”iptables命令的作用是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一.Iptables命令參數   

  1. 命令結構      

    Iptables   (- t   表名)   操作方式   規則條件      

    注:若取消“- t 表名”,默認是filter表。      

    表名:filter、nat、mangle、raw      

    操作方式:     - L   ##列出表內容   

                         - F  ##清除表內容,若不指定表名,默認清除所有表的內容。   

                     - A   ##添加新規則   

                     - P   ##設置默認策略   

                     - I   ##插入新規則   

                     - R   ##取代舊規則   

                     - D   ##刪除規則       

規則條件:           

- p  tcp/udp/icmp/all   - j   ACCEPT/DROP/REJECT

Filter的示例 Filter共有三個鏈:INPUT  FORWARD   OUTPUT

示例1:列出filter表的所有內容      

# iptables  - t  filter  - L

iptables命令的作用是什么

結果顯示:1.第一部分為INPUT鏈的所有內容,以下依次為FORWARD和OUTPUT.          

                2.三條鏈的默認策略均為ACCEPT   示例2:列出filter表中的INOUT鏈的內容

示例2:列出filter表中的INOUT鏈的內容
[root@vm1 ~]# iptables -t filter -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh

示例3:清除filter表中的所有內容

[root@vm1 ~]# iptables -t filter -F
[root@vm1 ~]# iptables -t filter -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

示例4:將規則添加到filter表中的INPUT鏈中

[root@vm1 ~]# iptables -t filter -A INPUT -p icmp -j ACCEPT
[root@vm1 ~]# iptables -t filter -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     icmp --  anywhere             anywhere            


示例5:將forward鏈的默認策略設置為DROP

[root@vm1 ~]# iptables -t filter -P FORWARD  DROP
[root@vm1 ~]# iptables -t filter -L
Chain FORWARD (policy DROP)
target     prot opt source               destination        
注:iptables  - F不會影響到默認策略的狀態,默認策略只能通過- P這個參數設置

示例6:在INPUT鏈中插入新規則。

[root@vm1 ~]# iptables -t filter -L --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     icmp --  anywhere             anywhere            
2    ACCEPT     tcp  --  anywhere             anywhere            

Chain FORWARD (policy DROP)
num  target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         
[root@vm1 ~]# iptables -t filter -I INPUT 2 -p udp  -j ACCEPT
[root@vm1 ~]# iptables -t filter -L --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     icmp --  anywhere             anywhere            
2    ACCEPT     udp  --  anywhere             anywhere            
3    ACCEPT     tcp  --  anywhere             anywhere            

Chain FORWARD (policy DROP)
num  target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         
注:“iptables - t filter - L - - line- number”用于顯示規則內容的行號 

示例7:取代INPUT鏈中的已經存在的規則

[root@vm1 ~]# iptables -t filter -R INPUT 2 -p tcp -j ACCEPT

[root@vm1 ~]# iptables -t  filter -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere            
ACCEPT     icmp --  anywhere             anywhere            

Chain FORWARD (policy DROP)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

示例8:刪除INPUT鏈中已經存在的規則

[root@vm1 ~]# iptables -t filter -L INPUT --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     tcp  --  anywhere             anywhere            
2    ACCEPT     tcp  --  anywhere             anywhere            
3    ACCEPT     icmp --  anywhere             anywhere            
[root@vm1 ~]# iptables -t filter -D INPUT 2
[root@vm1 ~]# iptables -t filter -L INPUT --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     tcp  --  anywhere             anywhere            
2    ACCEPT     icmp --  anywhere             anywhere          

注:以上七個參數也同樣適用于其他三個表。

Nat表的示例

NAT共有三個鏈:PREROUTING  POSTROUTING  OUTPUT。 

示例1.列出nat表中的所有規則

[root@vm1 ~]# iptables -t nat -L
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         

示例2:給nat表中的POSTROUTING添加規則。

[root@vm1 ~]# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to 192.168.5.178

[root@vm1 ~]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       all  --  192.168.0.0/24       anywhere            to:192.168.5.178

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Mangle表示例

Mangle共有五個鏈:PREROUTING  INPUT  FORWARD  OUTPUT  POSTROUTING

[root@vm1 ~]# iptables -t mangle -A INPUT -p icmp -j ACCEPT
[root@vm1 ~]# iptables -t mangle -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     icmp --  anywhere             anywhere            

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination        

Raw示例

Raw共有兩個鏈:PREROUTING  OUTPUT   

[root@vm1 ~]# iptables -t raw -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        
[root@vm1 ~]# iptables -t raw -A OUTPUT -p tcp -j ACCEPT
[root@vm1 ~]# iptables -t raw -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            

[root@vm1 ~]# iptables -t raw -A OUTPUT -p tcp -j NOTRACK
[root@vm1 ~]# iptables -t raw -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            
NOTRACK    tcp  --  anywhere             anywhere            

二. Iptables語法規則

基本語法   

iptables  -t  filter  -A  INPUT  -p  icmp   -j  DROP

高級語法   

iptables  -t  filter  -A   INPUT  -m  mac  --mac-source  00:E0:18:00:7C:A4  -j DROP  

注:基本語法就是iptables只調用ipTable_filter.ko模塊,高級語法就是除了ipTable_filter.ko模塊,還會調用其他模塊。上例高級語法中還調用了xt_mac.ko這個模塊。 

示例1:將192.168.0.200進入本機的icmp協議包丟掉

[root@vm1 ~]# iptables -A INPUT -p icmp -s 192.168.0.200 -j DROP
[root@vm1 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            
ACCEPT     icmp --  anywhere             anywhere            
DROP       icmp --  192.168.0.200        anywhere            

Chain FORWARD (policy DROP)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

語法解釋:

- A INPUT :INPUT鏈保護的對象是本機,主要說明保護的對象

-p icmp:-p參數用于指定匹配特定協議的數據包,此處為icmp協議。

-s 192.268.0.200:-s用于指定匹配數據包中的“來源“端IP,-d用于指定匹配數據包中的“目的”端IP

-j:意為將符合以上條件的數據包做特定處理。

處理方式:

ACCEPT:允許通過

DROP:將數據包丟掉,這種處理方式將導致來源端誤認為數據包丟失而不斷發送數據包,這個動作將延續到連接超時。

REJECT:將數據包丟掉,并回送一個Destination Unreachable的icmp數據包給發送端,發送端的應用程序在收到這個錯誤信息后,會終止連接。

示例2:不允許192.168.0.200主機通過本機的DNS服務來執行名稱解析
[root@vm1 ~]# iptables -A INPUT -p udp -s 192.168.0.200 --dport 53 -j REJECT
[root@vm1 ~]# iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            
ACCEPT     icmp --  anywhere             anywhere            
DROP       icmp --  192.168.0.200        anywhere            
REJECT     udp  --  192.168.0.200        anywhere            udp dpt:domain reject-with icmp-port-unreachable 

語法解釋:

-A INPUT:保護主機

-p udp:匹配udp協議的數據包,DNS服務使用的是udp協議。

-s:指定“來源端”IP

--dport   53:--dport指定服務的目的端口,DNS服務使用的端口是udp協議的53端口。--sport意為指定服務使用源端口。

注:當使用--dport或者--sport參數時,一定要指明是tcp或者udp協議。若不指明。則默認tcp,udp,icmp協議的端口都符合。

基本語法結構:iptables -A INPUT -    p udp/tcp/icmp  -s/-d 192.168.0.200 --dport/--sport 53 -j REJECT。

-j REJECT:符合以上條件的數據包都丟失,并回送udp的錯誤信息給來源端。

示例3:允許192.168.0.200主機連接到本機的TELNET

[root@vm1 ~]# iptables -A INPUT -p tcp -s 192.168.0.200 --dport 23 -j ACCEPT
[root@vm1 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            
ACCEPT     icmp --  anywhere             anywhere            
DROP       icmp --  192.168.0.200        anywhere            
REJECT     udp  --  192.168.0.200        anywhere            udp dpt:domain reject-with icmp-port-unreachable
ACCEPT     tcp  --  192.168.0.200        anywhere            tcp dpt:telnet
語法解釋:

-A INPUT:保護本機

-p tcp:匹配tcp協議,telnet服務使用的是tcp協議

-s:指定來源端IP

--dport 23:匹配tcp協議的23端口,此端口為telnet服務的默認端口。

-j ACCEPT:允許符合以上條件的數據包通過。

示例4:允許192.168.1.0/24網段的主機向本機192.168.0.1提出任何服務請求

[root@vm1 ~]# iptables -A INPUT -p all -s 192.168.1.0/24 -d 192.168.1.0 -j ACCEPT

[root@vm1 ~]# iptables  -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            
ACCEPT     icmp --  anywhere             anywhere            
DROP       icmp --  192.168.0.200        anywhere            
REJECT     udp  --  192.168.0.200        anywhere            udp dpt:domain reject-with icmp-port-unreachable
ACCEPT     tcp  --  192.168.0.200        anywhere            tcp dpt:telnet
ACCEPT     all  --  192.168.1.0/24       192.168.1.0        

語法解釋:

-A INPUT:保護本機

-p all:匹配u任何協議的數據包

-s :指定來源端IP

-d:指定目的端IP

-j ACCETP:允許符合以上條件的數據包通過。

示例5:只允許客戶端從eth2這個接口訪問本機的ssh服務

[root@vm1 ~]# iptables -A INPUT -p tcp -i eth2 --dport 22 -j ACCEPT
[root@vm1 ~]# iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            
ACCEPT     icmp --  anywhere             anywhere            
DROP       icmp --  192.168.0.200        anywhere            
REJECT     udp  --  192.168.0.200        anywhere            udp dpt:domain reject-with icmp-port-unreachable
ACCEPT     tcp  --  192.168.0.200        anywhere            tcp dpt:telnet
ACCEPT     all  --  192.168.1.0/24       192.168.1.0         
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh

語法解釋:

-A INPUT:保護主機

-p tcp:匹配tcp協議

-i eth2:匹配從本機eth2端口進入的數據包。-i意為數據包從本機的某個端口進入,-o意為數據包從本機的某個端口出去。

--dport 22:指定ssh服務所使用的tcp協議的22端口

-j ACCEPT:意為符合以上條件的數據包均允許通過

示例6:不允許本機的應用程序從eth0接口發送數據包去訪問edu.uuu.com.tw網站

[root@vm1 ~]# iptables -A OUTPUT -p tcp -o eth0 -d edu.uuu.com.tw --dport 80 -j REJECT
[root@vm1 ~]# iptables -L

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
REJECT     tcp  --  anywhere             vm5.example.com     tcp dpt:http reject-with icmp-port-unreachable

語法解釋:

-A OUTPUT:限制本機對方訪問

-p tcp :匹配tcp協議

-o eth0:匹配數據是否時從eth0接口送出的

-d edu.uuu.com.tw:指定目的網站

--dport 80:匹配的服務端口為http服務的80端口

-j REJECT:符合以上 條件的數據包全部丟失,并將錯誤信息返回到來源端

示例7:不允許企業內部的主機訪問企業意外的網站

[root@vm1 ~]# iptables -A FORWARD -i eth2 -o eth0 -p tcp --dport 80 -j DROP
[root@vm1 ~]# iptables -L

Chain FORWARD (policy DROP)
target     prot opt source               destination         
DROP       tcp  --  anywhere             anywhere            tcp dpt:http
注:本例使用的網關式防火墻,因此所用的鏈是FORWARD,假設此防火墻主機上的eth0連接因特網,eth2連接企業內網。

語法解釋:

-A FORWARD:保護防火墻后面的主機。

-i eth2:匹配數據包進入的接口進入

-o eth0:匹配數據包離開的接口

-p tcp:匹配tcp協議的數據包

--dport 80:匹配目的服務渡口為80的數據包

-j REJECT:將符合以上條件的數據包都丟棄,并將錯誤信息返回給來源端。

三.Iptables參數整理

1.接口的匹配參數

參數名稱:-i(進入)    -o(送出)

參數值:  eth0(以太網的接口名稱)    

               ppp0(ppp的接口名稱,用于語音撥號)   

               lo(本地回環接口)    

               fddi0(光纖網絡接口)

使用示例:-i eth0(匹配從eth0接口進入的數據包)    

                -o eth0(匹配從eth0接口送出的數據包)

意義:匹配數據包進出的接口

補充:可搭配“!”來代表反向,例如“-i ! eth0”代表匹配不是從eth0接口進入的數據包

2.上層協議的匹配參數

參數名稱:-p

參數值:  tcp(匹配的上層協議是tcp協議)    

               udp(匹配的上層協議是udp協議)    

               icmp(匹配的上層協議是icmp協議)   

               all(匹配所有的上層協議)

意義:匹配上層通信協議

補充:可搭配“!”表示反向,“-p ! icmp”意為匹配不是icmp的協議

3.匹配來源/目的的IP地址

參數名稱:-s(源)   -d(目的)

參數值:192.168.0.1(匹配單一IP)

             172.10.0.0/16(匹配一個B類網段)

             192.168.0.0/24(匹配一個C類網段)

             www.playboy.com(匹配一個FQDN,但存放的值還是一個IP)

使用示例:-s 192.168.0.0/24(匹配從192.168.0.0網段法來的數據包)

                -s 192.168.0.1(匹配從192.168.0.1主機法來的數據包)

                -d 192.168.0.10(匹配發送到192.168.0.10主機的數據包)

意義:匹配數據包的來源或者目的IP

4.匹配來源/目的端口

參數名稱:--sport(源)  --dport(目的)

參數值:匹配端口的目的是為了匹配所需訪問的服務

使用示例:--dport  80(匹配要訪問web的數據包)

                --sport  110(匹配由pop3服務應答給客戶端的數據包)

意義:匹配數據的來源或者目的端口

5.處理方式

參數名稱:-j

參數值:ACCEPT(允許)

             DROP(將數據包丟棄)

             REJECT(將數據包丟棄,并回送發送端一個icmp數據包)

使用示例:-j ACCEPT(允許)

                -j DROP(將數據包丟棄)

    意義:采用特定方式來處理符合條件的數據包。

到此,關于“iptables命令的作用是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

罗平县| 蒲城县| 保德县| 台湾省| 徐汇区| 京山县| 鄂州市| 江北区| 龙州县| 恩施市| 开原市| 青铜峡市| 桂阳县| 长垣县| 浠水县| 朝阳市| 加查县| 海门市| 澎湖县| 阳朔县| 嵊州市| 金昌市| 巩留县| 嘉善县| 卓尼县| 临猗县| 龙南县| 临西县| 福鼎市| 九龙县| 思南县| 龙川县| 顺昌县| 宣化县| 崇信县| 蓬莱市| 三明市| 乌鲁木齐县| 会昌县| 新竹县| 建瓯市|