溫馨提示×

溫馨提示×

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

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

linux下軟件防火墻iptables——規(guī)則的定義與刪除是什么

發(fā)布時間:2020-11-19 11:06:43 來源:億速云 閱讀:198 作者:小新 欄目:建站服務(wù)器

了解linux下軟件防火墻iptables——規(guī)則的定義與刪除是什么?這個問題可能是我們?nèi)粘W(xué)習或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!

準備工作

制定規(guī)則前,我們首先關(guān)閉firewalld服務(wù)、開啟iptables服務(wù),然后清除已有的規(guī)則。

# systemctl stop firewalld
# systemctl start iptables
# iptables -F
# iptables -X
# iptables -Z

新增規(guī)則鏈

關(guān)于iptables的添加規(guī)則鏈,選項非常繁多,下面我們看基本用法:

iptables [-t tables] -A|I 鏈名 [-i|o 網(wǎng)絡(luò)接口] [-m state] [--state 數(shù)據(jù)包狀態(tài)] \
> [-p 網(wǎng)絡(luò)協(xié)議]  [-s 源地址 --sport 端口范圍] [-d 目標地址 --dport 端口范圍] \
> -j [ACCEPT|DROP|REJECT]

選項與參數(shù):

  • -A|I 鏈名        A表示在已有規(guī)則后添加規(guī)則,而I則是在最前面插入規(guī)則

  • -i|o 網(wǎng)絡(luò)接口       i表示數(shù)據(jù)包進入的那個網(wǎng)絡(luò)接口,需要和INPUT或PREROUTING鏈配合使用;o表示數(shù)據(jù)包出去的那個接口,需和OUTPUT鏈配合使用

  • -p 網(wǎng)絡(luò)協(xié)議   常見的有tcp、upd、icmp以及all

  • -m state 數(shù)據(jù)包的狀態(tài)

  • --state 數(shù)據(jù)包狀態(tài)  常見的狀態(tài)有INVALID(無效的數(shù)據(jù)包)、ESTABLISHED(已經(jīng)成功連接的狀態(tài))、NEW(新建立的數(shù)據(jù)包)、RELATED(新連接與現(xiàn)有連接相關(guān)聯(lián))

  • -s 源地址  地址可以是ip地址,如192.168.1.110 或網(wǎng)絡(luò)地址192.168.1.0/24

  • -d 目的地址

  • -j 后面接操作,常見的有ACCEPT(接受)、DROP(丟棄)、REJECT(拒絕)

針對ip、網(wǎng)絡(luò)、網(wǎng)卡接口的規(guī)則制定

下面,給出幾個規(guī)則鏈案例。我們允許從192.168.1.110發(fā)來的數(shù)據(jù)、拒絕192.168.1.111發(fā)來的數(shù)據(jù)。

# iptables -A INPUT -s 192.168.1.110 -j ACCEPT
# iptables -I INPUT -s 192.168.1.111 -j DROP

# iptables -vnL
Chain INPUT (policy ACCEPT 33 packets, 3048 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       all  --  *      *       192.168.1.111        0.0.0.0/0           
    0     0 ACCEPT     all  --  *      *       192.168.1.110        0.0.0.0/0           
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
Chain OUTPUT (policy ACCEPT 18 packets, 1844 bytes)
 pkts bytes target     prot opt in     out     source               destination

允許192.168.1.0/24網(wǎng)絡(luò)地址訪問

# iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
# iptables -vnL
Chain INPUT (policy ACCEPT 29 packets, 2328 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       all  --  *      *       192.168.1.111        0.0.0.0/0           
    0     0 ACCEPT     all  --  *      *       192.168.1.110        0.0.0.0/0           
    0     0 ACCEPT     all  --  *      *       192.168.1.0/24       0.0.0.0/0           
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
Chain OUTPUT (policy ACCEPT 15 packets, 1460 bytes)
 pkts bytes target     prot opt in     out     source               destination

思考一個問題,192.168.1.111的數(shù)據(jù)包是會被接受還是會拒絕。從INPUT第一條規(guī)則看是會被拒絕,但從最后一條看,會接受。答案是會被拒絕,當滿足其中一條規(guī)則時,就不會再走下面的規(guī)則了,所以說規(guī)則鏈的順序也是非常重要的。

繼續(xù)看案例:只要是本地回環(huán)地址lo都允許

# iptables -A INPUT -i lo -j ACCEPT

針對端口的規(guī)則制定

將進入本地的21端口數(shù)據(jù)包都阻擋掉

# iptables -A INPUT -i eth0 -p tcp --dport 21 -j DROP

將1024至65534之間的端口都開放,可以用 端口號:端口號 來表示一段連續(xù)的端口號

# iptables -A INPUT -i eth0 -p tcp --dport 1024:65534 -j ACCEPT

下面來看兩個個綜合性的規(guī)則

本機的3306端口,不對192.168.1.0/24這個網(wǎng)絡(luò)開放。

本機的ssh服務(wù),不接受192.168.1.0/24這個網(wǎng)絡(luò)的1024:65535端口的數(shù)據(jù)包

# iptables -A INPUT -i eth0 -s 192.168.1.0/24 -p tcp --dport 3306 -j DROP
# iptables -A INPUT -i etc0 -p tcp -s 192.168.1.0/24 \
> --sport 1024:65535 --dport 22 -j DROP

針對數(shù)據(jù)包的連接狀態(tài)的規(guī)則制定

數(shù)據(jù)包常見的狀態(tài)有INVALID(無效的數(shù)據(jù)包)、ESTABLISHED(已經(jīng)成功連接的狀態(tài))、NEW(新建立的數(shù)據(jù)包)、RELATED(新連接與現(xiàn)有連接相關(guān)聯(lián))。

針對ESTABLISHED以及RELATED狀態(tài)的數(shù)據(jù)包全都接受,針對INVALID狀態(tài)的數(shù)據(jù)包全部丟棄

# iptables -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
# iptables -A INPUT -m state --state INVALID -j DROP

刪除規(guī)則鏈

刪除規(guī)則鏈基本和添加規(guī)則鏈一致,只不過-A換成-D即可,下面我們一起來刪除幾條規(guī)則。

# iptables-save
# Generated by iptables-save v1.4.21 on Sun Nov 15 22:36:41 2020
*filter
:INPUT ACCEPT [4:1920]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [16:1380]
-A INPUT -s 192.168.1.111/32 -j DROP
-A INPUT -s 192.168.1.110/32 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -j ACCEPT
……

# iptables -t filter -D INPUT -s 192.168.1.111/32 -j DROP
# iptables -D INPUT -s 192.168.1.110/32 -j ACCEPT

注:以上關(guān)于iptables的設(shè)置只會保存到內(nèi)存中去,重啟服務(wù)后系統(tǒng)后,這些設(shè)置將消失。所以,只要不把自己阻擋在外情況下,請盡管練習吧

若想保存規(guī)則的話,請輸入/usr/libexec/iptables/iptables.init save來保存。

感謝各位的閱讀!看完上述內(nèi)容,你們對linux下軟件防火墻iptables——規(guī)則的定義與刪除是什么大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

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

AI