要設置linux防火墻規則,首先確認使用的工具,再根據工具配置相應規則。一、確認使用的防火墻工具:通過systemctl status firewalld或systemctl status iptables判斷系統使用firewalld還是iptables,centos/rhel默認用firewalld,Ubuntu傾向用ufw或iptables。二、使用firewalld配置基本規則:1.查看狀態和默認區域,用firewall-cmd –state和firewall-cmd –get-default-zone,必要時更改默認區域;2.開放指定端口如80/tcp、443/tcp,使用firewall-cmd –permanent –add-port=port/tcp并重載配置;3.添加允許的服務如ssh,使用firewall-cmd –permanent –add-service=service_name。三、使用iptables配置規則:1.添加允許ssh的規則iptables -a input -p tcp –dport 22 -j accept;2.拒絕所有其他入站連接iptables -a input -j drop,注意規則順序;3.保存規則,在centos執行service iptables save,ubuntu則用iptables-save > /etc/iptables/rules.v4。四、注意事項與建議:測試規則前保持ssh通道不中斷;定期審查規則列表;自定義規則而非依賴默認配置;啟用日志記錄幫助排查問題,例如添加iptables -a input -j log –log-prefix “iptables-dropped: “。
在Linux系統中,配置防火墻是保障服務器安全的重要步驟。防火墻可以控制進出系統的網絡流量,防止未經授權的訪問。常用的工具有iptables和更現代的firewalld,不同發行版可能默認使用其中一個。下面從實際操作角度出發,分幾個關鍵點來講解如何設置Linux防火墻規則。
一、確認使用的防火墻工具
Linux系統常見的防火墻管理方式有兩種:iptables和firewalld。
- iptables是一個老牌的防火墻工具,通過命令直接操作內核的netfilter模塊。
- firewalld則提供了動態管理防火墻的能力,支持區域(zone)概念,更適合桌面或服務器環境的靈活配置。
可以通過以下命令查看當前系統使用的是哪個:
systemctl status firewalld
或者檢查是否安裝了iptables服務:
systemctl status iptables
如果你不確定用哪個,大多數centos/RHEL 7+系統默認使用firewalld,而Ubuntu則傾向于使用ufw(簡化版),但也可以使用iptables。
二、使用firewalld配置基本規則
如果你的系統使用的是firewalld,可以通過如下方式快速設置常用規則。
1. 查看當前狀態和默認區域
firewall-cmd --state firewall-cmd --get-default-zone
通常默認區域為public,你可以根據需要更改:
firewall-cmd --set-default-zone=home
2. 開放指定端口
firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=443/tcp
添加完成后記得重載配置:
firewall-cmd --reload
3. 添加允許的服務
firewalld內置了一些常見服務名稱,比如ssh、http等:
firewall-cmd --permanent --add-service=ssh
這種方式比直接開端口更規范,也方便維護。
三、使用iptables配置規則(適合舊系統)
對于還在使用iptables的系統,可以直接編輯規則文件或使用命令行添加規則。
1. 添加允許SSH連接的規則
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
2. 拒絕所有其他入站連接
iptables -A INPUT -j DROP
注意順序很重要,因為iptables是按順序匹配的。應該先把允許的規則寫在前面,最后再加拒絕規則。
3. 保存規則
保存方法因系統而異,在CentOS上可以使用:
service iptables save
而在Ubuntu上可能需要手動保存到文件:
iptables-save > /etc/iptables/rules.v4
四、注意事項與建議
- 測試規則前保留SSH通道:修改防火墻規則時,務必確保至少有一個終端保持SSH連接不斷開,否則可能把自己鎖在外面。
- 定期審查規則列表:可以用iptables -L -n或firewall-cmd –list-all查看當前生效的規則。
- 不要過度依賴默認配置:很多系統默認只允許部分服務,但并不一定滿足你的需求,最好自己檢查并定制。
- 啟用日志有助于排查問題:可以添加日志記錄規則,例如:
iptables -A INPUT -j LOG --log-prefix "IPTables-Dropped: "
這樣可以在系統日志里看到被攔截的請求。
基本上就這些。防火墻配置不復雜,但細節容易忽略,尤其是規則順序和服務依賴方面。只要理解了基本邏輯,日常維護就不會太難。