天天看點

CentOS7使用firewalld打開關閉防火牆與端口

1、firewalld的基本使用

啟動: systemctl start firewalld

檢視狀态: systemctl status firewalld 

停止: systemctl disable firewalld

禁用: systemctl stop firewalld

2.systemctl是CentOS7的服務管理工具中主要的工具,它融合之前service和chkconfig的功能于一體。

啟動一個服務:systemctl start firewalld.service

關閉一個服務:systemctl stop firewalld.service

重新開機一個服務:systemctl restart firewalld.service

顯示一個服務的狀态:systemctl status firewalld.service

在開機時啟用一個服務:systemctl enable firewalld.service

在開機時禁用一個服務:systemctl disable firewalld.service

檢視服務是否開機啟動:systemctl is-enabled firewalld.service

檢視已啟動的服務清單:systemctl list-unit-files|grep enabled

檢視啟動失敗的服務清單:systemctl --failed

3.配置firewalld-cmd

檢視版本: firewall-cmd --version

檢視幫助: firewall-cmd --help

顯示狀态: firewall-cmd --state

檢視所有打開的端口: firewall-cmd --zone=public --list-ports

更新防火牆規則: firewall-cmd --reload

檢視區域資訊:  firewall-cmd --get-active-zones

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

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

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

檢視是否拒絕: firewall-cmd --query-panic

那怎麼開啟一個端口呢

添加

firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,沒有此參數重新開機後失效)

重新載入

firewall-cmd --reload

檢視

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

删除

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

1、運作、停止、禁用firewalld

啟動:# systemctl start  firewalld

檢視狀态:# systemctl status firewalld 或者 firewall-cmd --state

停止:# systemctl disable firewalld

禁用:# systemctl stop firewalld

檢視firewall是否運作,下面兩個指令都可以

systemctl status firewalld.service
firewall-cmd --state      

檢視default zone和active zone

我們還沒有做任何配置,default zone和active zone都應該是public

firewall-cmd --get-default-zone
firewall-cmd --get-active-zones      

檢視目前開了哪些端口

其實一個服務對應一個端口,每個服務對應/usr/lib/firewalld/services下面一個xml檔案。

firewall-cmd --list-services      

檢視還有哪些服務可以打開

firewall-cmd --get-services      

檢視所有打開的端口: 

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

更新防火牆規則: 

firewall-cmd --reload      

添加一個服務到firewalld

firewall-cmd --add-service=http //http換成想要開放的service      

這樣添加的service目前立刻生效,但系統下次啟動就失效,可以測試使用。要永久開發一個service,加上 --permanent

firewall-cmd --permanent --add-service=http      

如果要添加的端口并沒有服務對應

就要建立一個服務,在/usr/lib/firewalld/services,随便拷貝一個xml檔案到一個新名字,比如myservice.xml,把裡面的

CentOS7使用firewalld打開關閉防火牆與端口
<?xml version="1.0" encoding="utf-8"?>

<service>
<short>Transmission-client</short>
<description>Transmission is a lightweight GTK+ BitTorrent client.</description>
<port protocol="tcp" port="51413"/>
</service>      
CentOS7使用firewalld打開關閉防火牆與端口

short改為想要名字(這個名字隻是為了人來閱讀,沒有實際影響。重要的是修改 protocol和port。修改完儲存。我的經驗是這是要重新開機firewalld服務,

systemctl restart firewalld.service

,否則可能提示找不到剛才建立的service。然後把建立的service添加到

firewalld

firewall-cmd --permanent --add-service=myservice      

重新開機firewalld 生效

5分鐘了解Centos7防火牆firewalld    http://www.cnblogs.com/stevenzeng/p/5152324.html  

-------------------------------------------------------------------------------------------------------------

部落格中所涉及到的圖檔都有版權,請謹慎使用