centos7 Firewalld操作集合


===============================================

 2019/4/15_第1次修改                       ccb_warlock

 

===============================================

由於一直使用centos7的環境,所以接觸的防火牆比較多的是firewalld而不是iptable,之前一直沒有好好總結過firewalld的用法,這次做個整理。

我將firewall-cmd命令的操作分成了2部分:常用和其他。其中常用是我在最近幾年使用centos7時用的次數較多的操作。

 


一、常用操作

1)重新加載配置

firewall-cmd --reload

 

2)查看所有配置

firewall-cmd --list-all

 

3)查看當前開放的端口(允許任意IP訪問)

firewall-cmd --zone=public --list-ports

 

4)開放指定端口(允許任意IP訪問)

以開放80端口為例

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

PS. --permanent為永久生效,沒有此參數centos重啟后該配置將失效

 

5)移除端口(允許任意IP訪問的端口)

以撤銷80端口的開放為例

firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --reload

PS. --permanent為永久生效,沒有此參數centos重啟后該配置將失效

 

6)查看允許指定IP訪問端口的規則

firewall-cmd --zone=public --list-rich-rules

 

7)開放指定端口(只允許指定IP訪問)

以“只允許192.168.1.1的主機連接3306端口”為例

firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="3306" accept" --permanent
firewall-cmd --reload

PS. --permanent為永久生效,沒有此參數centos重啟后該配置將失效

 

8)移除規則(只允許指定IP訪問的端口)

以“移除只允許192.168.1.1的主機連接3306端口”為例

firewall-cmd --remove-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="3306" accept" --permanent
firewall-cmd --reload

PS. --permanent為永久生效,沒有此參數centos重啟后該配置將失效

 

9)移除默認的ssh服務

移除默認的ssh服務前,先確認是否已經額外開放了22端口,否則會導致無法使用ssh遠程連接。

firewall-cmd --remove-service=ssh --permanent
firewall-cmd --reload

PS. --permanent為永久生效,沒有此參數centos重啟后該配置將失效 

 

10)查看某個端口是否開放

以檢查80端口為例(yes:開放;no:未開放)

firewall-cmd --zone=public --query-port=80/tcp

 

11)TCP端口轉發 

# 允許防火牆偽裝IP

firewall-cmd --add-masquerade

 

# 將本地80端口的流量轉發到192.168.1.1的80端口

firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.1:toport=80 --permanent

PS. --permanent為永久生效,沒有此參數centos重啟后該配置將失效

 


二、其它操作

查看版本:firewall-cmd --version

查看幫助: firewall-cmd --help

查看狀態: firewall-cmd --state

查看區域信息: firewall-cmd --get-active-zones

查看指定接口所屬區域: firewall-cmd --get-zone-of-interface=eth0

拒絕所有包:firewall-cmd --panic-on

取消拒絕狀態: firewall-cmd --panic-off

查看是否拒絕: firewall-cmd --query-panic

 


參考資料:

1.https://www.cnblogs.com/moxiaoan/p/5683743.html

2.https://blog.csdn.net/qguanri/article/details/51673845

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM