溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Linux防火墻iptables-基礎(chǔ)與編寫(xiě)防火墻規(guī)則

發(fā)布時(shí)間:2020-08-07 08:37:19 來(lái)源:ITPUB博客 閱讀:347 作者:不一樣的天空w 欄目:建站服務(wù)器

Linux防火墻iptables-基礎(chǔ)與編寫(xiě)防火墻規(guī)則 Linux防火墻iptables-基礎(chǔ)與編寫(xiě)防火墻規(guī)則.txt

Linux防火墻基礎(chǔ)與編寫(xiě)防火墻規(guī)則

https://www.cnblogs.com/L2366/p/9285917.html

linux 防火墻配置規(guī)則

https://blog.csdn.net/lemontree1945/article/details/79309273

iptables詳解(1)到(14)

https://www.zsythink.net/archives/category/%e8%bf%90%e7%bb%b4%e7%9b%b8%e5%85%b3/iptables/

https://www.cnblogs.com/wanstack/category/1153938.html

linux系統(tǒng)防火墻iptables命令規(guī)則及配置的示例

https://blog.whsir.com/post-167.html

Linux系統(tǒng)修改防火墻配置

https://www.cnblogs.com/ixan/p/8243623.html

Linux Centos 7 防火墻配置

https://www.cnblogs.com/su-king/p/9996633.html

RHEL 7.0 修改防火墻配置

https://blog.csdn.net/weixin_30488085/article/details/95228014

https://blog.csdn.net/catoop/article/details/47861583


Linux防火墻iptables-基礎(chǔ)與編寫(xiě)防火墻規(guī)則 Linux防火墻iptables-基礎(chǔ)與編寫(xiě)防火墻規(guī)則 Linux防火墻iptables-基礎(chǔ)與編寫(xiě)防火墻規(guī)則

規(guī)則鏈:規(guī)則的集合

五種鏈:(必須大寫(xiě))

INPUT:入站

OUTPUT:出站

FORWARD:轉(zhuǎn)發(fā)

POSTROUTING:路由后轉(zhuǎn)換

PREROUTING:路由前轉(zhuǎn)換

1)INPUT鏈:當(dāng)收到訪(fǎng)問(wèn)防火墻本機(jī)地址的數(shù)據(jù)包(入站),應(yīng)用此鏈中的規(guī)則。

2)OUTPUT鏈:當(dāng)防火墻本機(jī)向外發(fā)送數(shù)據(jù)包(出站)時(shí),應(yīng)用此鏈中的規(guī)則。

3)FORWARD鏈:當(dāng)收到需要通過(guò)防火墻中轉(zhuǎn)發(fā)送給其他地址的數(shù)據(jù)包(轉(zhuǎn)發(fā))時(shí),應(yīng)用此鏈中的規(guī)則。

4)PREROUTING鏈:在對(duì)數(shù)據(jù)包做路由選擇之前,應(yīng)用此鏈中的規(guī)則。

5)POSTROUTING鏈:在對(duì)數(shù)據(jù)包做路由選擇之后,應(yīng)用此鏈中的規(guī)則。

規(guī)則表:規(guī)則鏈的集合

有4個(gè)表:

Raw:狀態(tài)跟蹤

Mangle:設(shè)置標(biāo)記

Nat:地址轉(zhuǎn)換

Filter:包過(guò)濾

1)filter表:用來(lái)對(duì)數(shù)據(jù)包進(jìn)行過(guò)濾,表內(nèi)包含三個(gè)鏈,即:INPUT,FORWARD,OUTPUT

2)Nat表:nat表主要用來(lái)修改數(shù)據(jù)包的ip地址、端口號(hào)等信息。包含三個(gè)鏈,即PREROUTING,POSTROUTING,OUTPUT

3)Mangle表:用來(lái)修改數(shù)據(jù)包的TOS、TTL,或者為數(shù)據(jù)包設(shè)置MARL標(biāo)記,實(shí)現(xiàn)流量整形,策略路由等高級(jí)應(yīng)用,包含五個(gè)鏈,PREROUTING,POSTROUTING,INPUT,OUTPUT,FORWARD

4)Raw表:用來(lái)決定是否對(duì)數(shù)據(jù)包進(jìn)行狀態(tài)跟蹤,包含兩個(gè)鏈:即OUTPUT,PREROUTING

Iptables  -t  表名  命令選項(xiàng)  鏈名  條件選項(xiàng)  -j  控制類(lèi)型

1)不指定表名,為filter表

2)命令選項(xiàng)、鏈名、控制類(lèi)型必須大寫(xiě),其他必須小寫(xiě)

3)條件選項(xiàng)可以設(shè)置多項(xiàng)

命令選項(xiàng):

-A:追加到末尾

-I:插入(默認(rèn)插入到第一條)

-L:查看

-D:刪除(必須加序號(hào))

-F:清空,但默認(rèn)策略不清空

-P:默認(rèn)策略,只有ACCEPT或DROP兩種

-R:替換

-X:刪除自定義鏈

-N:新建自定義鏈

-n:以數(shù)字方式顯示

--line-number:添加序號(hào)

控制類(lèi)型:

1)ACCEPT:允許

2)REJECT:拒絕,返回信息

3)DROP:丟棄,無(wú)信息

4)LOG:記錄日志,傳給下一條規(guī)則

5)SNAT:源地址轉(zhuǎn)換

6)DNAT:目標(biāo)地址轉(zhuǎn)換

7)MASQUERADE:ip偽裝,源地址轉(zhuǎn)換

8)REDIRECT:重定向

條件選項(xiàng):

1)通用匹配:不依賴(lài)于任何條件可直接使用

-s:源地址             -d:目標(biāo)地址

-p:協(xié)議                 -i:入口

-o:出口               ?。喝》?/span>

2)隱含匹配:依賴(lài)指定的協(xié)議

--sport:源端口          --dport:目標(biāo)端口

--tcp—flags:TCP標(biāo)記

--icmp-type:icmp類(lèi)型,有兩種:

Echo-request(可用8代替)      請(qǐng)求

Echo-reply(可用0代替)        回應(yīng)

開(kāi)啟轉(zhuǎn)發(fā)功能:

永久有效:vim  /etc/sysctl.conf

         Net.ipv4.ip_forward=1

生效:sysctl  -p

臨時(shí)轉(zhuǎn)發(fā),立即生效

Sysctl  -w net.ipv4.ip_forward=1

Echo “1”  > /proc/sys/net/ipv4/ip_forward

3)顯示配置:依賴(lài)于指定的功能模塊,必須明確指定模塊名稱(chēng)才可以使用

多端口匹配:-m  multiport --sports   源端口列表

            -m  multiport  --dports  目的端口列表

IP范圍匹配:-m  iprange --src-range  ip范圍

MAC地址匹配:-m  mac  --mac-source MAC地址

狀態(tài)匹配:-m  state --state   連接狀態(tài)

查看本機(jī)IPTABLES的設(shè)置情況 

iptables -nL 

service iptables status 

將新設(shè)置的規(guī)則保存到文件

格式:iptables -save [-t table] 

這樣就可以寫(xiě)到/etc/sysconfig/iptables文件里了.寫(xiě)入后記得把防火墻重起一下,才能起作用.

其它格式:iptables [-t table] [-FXZ]

-F :請(qǐng)除所有的已制訂的規(guī)則 

-X :除掉所有用戶(hù)“自定義”的chain 

-Z :將所有的統(tǒng)計(jì)值清0

添加規(guī)則:添加INPUT鏈,INPUT鏈的默認(rèn)規(guī)則是DROP,凡是不在規(guī)則里的都DROP。

創(chuàng)建自定義鏈

iptables -t filter -N self_control

-N = new

增加自定義鏈規(guī)則

iptables -t filter -I self_control -s 192.151.102.2 -j REJECT

引用自定義鏈

iptables -t filter -I INPUT -j self_control

刪除自定義鏈:

 刪除自定義鏈有兩個(gè)條件:

 1.自定義鏈中沒(méi)有規(guī)則

 2.自定義鏈沒(méi)有被引用

清空自定義鏈規(guī)則:

iptables -t filter -F self_ctl

刪除鏈引用規(guī)則:

iptables -t filter -D INPUT 1

刪除自定義鏈:        

iptables -X self_ctl

重命名自定義鏈

iptables -E self_control self_ctl

-E = --rename-chain

示例

我們只允許192.168.0.3的機(jī)器進(jìn)行SSH連接

iptables -A INPUT -s 192.168.0.3 -p tcp –dport 22 -j ACCEPT 

如果要允許,或限制一段IP地址可用 192.168.0.0/24 表示192.168.0.1-255端的所有IP.

允許172.16網(wǎng)段內(nèi)的主機(jī)訪(fǎng)問(wèn):

#iptables -t filter -A INPUT -s 172.16.0.0/16 -d 172.16.63.7 -j ACCEPT

譯:-t表,默認(rèn)filter -A追加規(guī)則 INPUT進(jìn)入 -s檢查源 -d檢查目標(biāo) -j處理動(dòng)作 ACCEPT接受;入棧的目標(biāo)是本機(jī)所以-d是本機(jī)IP;

拒絕172.16.63.66主機(jī)訪(fǎng)問(wèn)(目前172.16.63.66可以ping通本機(jī),也可以ssh等):

iptables -t filter -A INPUT -s 172.16.63.66 -d 172.16.63.7 -j REJECT

注:如果你操作過(guò)第一個(gè),那么此時(shí)設(shè)置完后,發(fā)現(xiàn)172.16.63.66依舊可以ping進(jìn)來(lái),原來(lái)是我們剛才已經(jīng)添加了允許172.16網(wǎng)段訪(fǎng)問(wèn)的規(guī)則,所以此規(guī)則是后添加的,所以不生效。同一服務(wù)規(guī)則,小范圍放上面,次序很重要。

如果是多個(gè)不同的服務(wù),規(guī)則排序要根據(jù)實(shí)際情況,例如web服務(wù)每天訪(fǎng)問(wèn)量巨大,而禁止某IP服務(wù)屬于小范圍,如果把某IP禁止服務(wù)放在前面,每次web服務(wù)都要先檢查此IP,所以應(yīng)該把匹配性較大的規(guī)則放在前面。

刪除剛才添加的“允許172.16網(wǎng)段訪(fǎng)問(wèn)的”規(guī)則:

iptables -D INPUT 1 

注:需要先-vnL --line-numbers查詢(xún)下,此規(guī)則屬于第幾條,這里是第一條則刪除第一條。

插入一條規(guī)則,不讓172.16.63.66的主機(jī)訪(fǎng)問(wèn)本機(jī):

iptables -I INPUT -s 172.16.63.66 -d 172.16.63.7 -j REJECT

注:默認(rèn)插入第一條,如果插入第二條,則:#iptables -I INPUT 2 -s 172.16.63.66 -d 172.16.63.7 -j REJECT

注:這樣172.16.63.66進(jìn)行ping本機(jī)時(shí),會(huì)直接提示拒絕,當(dāng)然這樣是不友好的(就是拒絕你,呵呵...),所以我們一般建議使用DROP直接丟棄。

替換第一條規(guī)則,不讓172.16.63.77的主機(jī)訪(fǎng)問(wèn)本機(jī):

iptables -R INPUT 1 -s 172.16.63.77 -d 172.16.63.7 -j DROP

采用遠(yuǎn)程SSH登陸,我們要開(kāi)啟22端口

iptables -A INPUT -p tcp –dport 22 -j ACCEPT 

iptables -A OUTPUT -p tcp –sport 22 -j ACCEPT 

減少不安全的端口連接 

iptables -A OUTPUT -p tcp –sport 31337 -j DROP 

iptables -A OUTPUT -p tcp –dport 31337 -j DROP 

其他的規(guī)則連接也一樣這么設(shè)置:FORWARD鏈 

iptables -A FORWARD -i eth2 -o eh0 -j ACCEPT

處理IP碎片數(shù)量,防止攻擊,允許每秒100個(gè) 

iptables -A FORWARD -f -m limit –limit 100/s –limit-burst 100 -j ACCEPT

設(shè)置ICMP包過(guò)濾,允許每秒1個(gè)包,限制觸發(fā)條件是10個(gè)包

iptables -A FORWARD -p icmp -m limit –limit 1/s –limit-burst 10 -j ACCEPT

查看本機(jī)關(guān)于NAT的設(shè)置情況 

iptables -t nat -L 

防止外網(wǎng)用內(nèi)網(wǎng)IP欺騙 

iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROP

禁止與211.101.46.253的所有連接 

iptables -t nat -A PREROUTING -d 211.101.46.253 -j DROP 

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI