iptables用法總結

2021-07-12 07:34:00 字數 3010 閱讀 8815

1.  iptables的規則寫法:

iptables [-t table] command chain cretiria -j action

2.  [-t table]

table(表)有三個,即:filter表,nat表,mangle表,它們分別代表對經過iptables的資料報進行篩選(filter),轉譯(nat),改寫(mangle).

3.  command

(1).鏈管理命令(這都是立即生效的)

-p :設定預設策略的(設定預設門是關著的還是開著的)

預設策略一般只有兩種

iptables -p input (drop|accept)  預設是關的/預設是開的

比如:iptables -p input drop 這就把預設規則給拒絕了。並且沒有定義哪個動作,所以關於外界連線的所有規則包括xshell連線之類的,遠端連線都被拒絕了。

-f: flash,清空規則鏈的(注意每個鏈的管理許可權)

iptables -t nat -f prerouting

iptables -t nat -f 清空nat表的所有鏈

-n:new 支援使用者新建乙個鏈

iptables -n inbound_tcp_web 表示附在tcp表上用於檢查web的。

-x: 用於刪除使用者自定義的空鏈

使用方法跟-n相同,但是在刪除之前必須要將裡面的鏈給清空昂了

-e:用來rename chain主要是用來給使用者自定義的鏈重新命名

-e oldname newname

-z:清空鏈,及鏈中預設規則的計數器的(有兩個計數器,被匹配到多少個資料報,多少個位元組)

iptables -z :清空

(2).規則管理命令

-a:追加,在當前鏈的最後新增乙個規則

-i num : 插入,把當前規則插入為第幾條。

-i 3 :插入為第三條

-r num:replays替換/修改第幾條規則

格式:iptables -r 3 …………

-d num:刪除,明確指定刪除第幾條規則

(3).檢視管理命令 「-l」

附加子命令

-n:以數字的方式顯示ip,它會將ip直接顯示出來,如果不加-n,則會將ip反向解析成主機名。

-v:顯示詳細資訊

-vv-vvv :越多越詳細

-x:在計數器上顯示精確值,不做單位換算

--line-numbers : 顯示規則的行號

-t nat:顯示所有的關卡的資訊

4.  chain

chain(鏈)有五個,即:input鏈,forward鏈,output鏈,prerouting鏈,postrouting鏈.

5.  cretiria

cretiria(指定匹配標準)

ip | ip/mask | 0.0.0.0/0.0.0.0

而且位址可以取反,加乙個「!」表示除了哪個ip之外

-p:用於匹配協議的(這裡的協議通常有3種,tcp/udp/icmp)

-i eth0:從這塊網絡卡流入的資料

流入一般用在input和prerouting上

-o eth0:從這塊網絡卡流出的資料

流出一般在output和postrouting上

(2).擴充套件匹配

隱含擴充套件:對協議的擴充套件

-p tcp :tcp協議的擴充套件。一般有三種擴充套件

--dport xx-xx:指定目標埠,不能指定多個非連續埠,只能指定單個埠,比如

--dport 21  或者 --dport 21-23 (此時表示21,22,23)

--sport:指定源埠

--tcp-fiags:tcp的標誌位(syn,ack,fin,psh,rst,urg)

對於它,一般要跟兩個引數:

1.檢查的標誌位

2.必須為1的標誌位

--tcpflags syn,ack,fin,rst syn   =    --syn

表示檢查這4個位,這4個位中syn必須為1,其他的必須為0。所以這個意思就是用於檢測三次握手的第一次包的。對於這種專門匹配第一包的syn為1的包,還有一種簡寫方式,叫做--syn

-p udp:udp協議的擴充套件

--dport

--sport

-p icmp:icmp資料報文的擴充套件

--icmp-type:

echo-request(請求回顯),一般用8 來表示

所以 --icmp-type 8 匹配請求回顯資料報

echo-reply (響應的資料報)一般用0來表示

顯式擴充套件(-m)

擴充套件各種模組

-m multiport:表示啟用多埠擴充套件

之後我們就可以啟用比如 --dports 21,23,80

6.  -j action

常用的action:

drop:悄悄丟棄

一般我們多用drop來隱藏我們的身份,以及隱藏我們的鍊錶

reject:明示拒絕

accept:接受

custom_chain:轉向乙個自定義的鏈

dnat

snat

redirect:重定向:主要用於實現埠重定向

mark:打防火牆標記的

return:返回

在自定義鏈執行完畢後使用返回,來返回原規則鏈。

7.  表和鏈的功能

filter表包括input鏈,forward鏈,output鏈.

input鏈:過濾所有目標位址是本機的資料報.

forward鏈:過濾所有路過本機的資料報.也就是目的位址和源位址都不是本機的資料報.

output鏈:過濾所有由本機產生的資料報,也就是源位址是本機的資料報.

nat表包括 prerouting鏈,output鏈,postrouting鏈.

prerouting鏈:可以在資料報到達防火牆的時候改變包的目標位址.

output鏈:可以改變本地產生的資料報的目標位址.

postrouting鏈:在資料報就要離開防火牆的時候改變資料報的源位址.

mangle表包括全部的5個鏈.

iptables 用法總結

一 iptables ip和mac繫結 方法一 iptables iptables a forward s 10.10.0.2 m mac mac source 00 10 4b 15 16 6c j accept 就將 10.10.0.2 與其mac位址繫結了 方法二 arp 192.168.0....

略談iptables用法

linux上的iptables是基於其kernel內建的netfilter,netfilter工作在核心。因此使用者一般無法直接跟核心打交道,為了解決這個問題,提供了iptables這個軟體來設定netfilter。也就是說,當我們設定規則時,要通過iptables。iptables會檢查我們設定的...

總結iptables的應用

由於伺服器被黑,又研究的了一下iptables。總結一下他的幾個應用 1 限制埠 iptables a input p tcp dport 80 j accept iptables a input p tcp dport 22 j accept iptables a input j accept 實...