Linux防火墻-常用命令

作者介紹:簡歷上沒有一個精通的運維工程師。請點擊上方的藍色《運維小路》關注我,下面的思維導圖也是預計更新的內容和當前進度(不定時更新)。

Linux防火墻-常用命令

在之前的章節中,我們探討了linux的一些高級命令,接下來我們將深入探討Linux防火墻。由于目前主要使用云服務器,而云服務器通常不使用系統自帶的防火墻,而是通過安全組來替代防火墻的功能,可以簡單地將安全組理解為防火墻的網絡版本。我們將從以下幾個方面詳細講解Linux防火墻:

Linux防火墻-什么是防火墻

Linux防火墻-4表5鏈

Linux防火墻-Filter

Linux防火墻-nat表

Linux防火墻-常用命令(本章節)

Linux防火墻-案例(一)

Linux防火墻-案例(二)

Linux防火墻-小結

iptables是Linux中用于配置網絡過濾規則的工具,允許系統管理員通過命令設置防火墻規則來控制進出網絡的數據包。以下是一些常用的iptables命令及其說明。

基本命令格式:

iptables [選項] [鏈] [匹配條件] [目標]

選項:

-A 添加規則到末尾 -I 添加規則到最前面 -D 刪除規則 -N 創建鏈(用于將同類內容集中)

鏈:

-t 表 -L 鏈 #默認表是filter

匹配條件:

-p 協議類型,包括tcp,udp,icmp -s 源IP地址,支持網段 -d 目標IP地址,支持網段 --sport 源端口(通常與-s和-d一起使用) --dport 目標端口(通常與-s和-d一起使用) -i 進入網卡 -o 流出網卡 --state 連接狀態(涉及TCP協議狀態) --string 匹配數據包內容(使用較少)

目標:

-j ACCEPT 允許 -j DROP 丟棄,不回包給源 -j REJECT 拒絕,會告訴源被拒絕 -j RETURN 繼續

常用命令:

顯示規則:

查看所有表上的規則:

iptables -L #默認顯示filter鏈,如果要顯示其他鏈 iptables -L -t nat

查看特定鏈上的規則:

iptables -L input -t nat

查看所有鏈上的規則,并顯示行號:

iptables -L --line-numbers #用于后續通過行號刪除規則

清空規則:

清空某個鏈中的所有規則:

iptables -F INPUT

清空所有鏈中的所有規則:

iptables -F #清空規則時需確保默認規則是允許的,否則可能被自己屏蔽

清除NAT表的所有規則:

iptables -t nat -F

設置所有鏈的默認策略:

iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT #一般只需設置filter表下的INPUT鏈

添加規則:

允許所有入站流量:

iptables -A INPUT -j ACCEPT

允許特定端口的TCP流量:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

拒絕特定端口的TCP流量:

iptables -A INPUT -p tcp --dport 22 -j DROP

允許來自特定IP地址的流量:

iptables -A INPUT -s 192.168.1.100 -j ACCEPT

刪除規則:

刪除特定規則:

iptables -D INPUT 1

刪除特定條件的規則:

iptables -D INPUT -p tcp --dport 80 -j ACCEPT

其他命令:

保存規則到文件:

iptables-save > /etc/iptables/rules.v4

加載規則從文件:

iptables-restore

總結:

由于iptables是順序執行的,因此在規則的插入位置上(最前面或最后面)是有區別的,需要特別注意。如果在INPUT鏈中默認設置為DROP,千萬不要執行-F清空規則,否則會把自己鎖在外面。添加規則的順序應先允許后拒絕。這里的規則都是臨時的,重啟后將丟失。

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享