Firewalld簡單使用命令相關操作

查看firewall有哪些man幫助

mandb ?????????????????#手動更新索引數(shù)據(jù)庫緩存
man -k firewall

[root@server ~]# man -k firewall
firewall-cmd (1)     - firewalld command line client
firewall-offline-cmd (1) - firewalld offline command line client
firewalld (1)        - Dynamic Firewall Manager
firewalld.conf (5)   - firewalld configuration file
firewalld.dbus (5)   - firewalld D-Bus interface description
firewalld.direct (5) - firewalld direct configuration file
firewalld.helper (5) - firewalld helper configuration files
firewalld.icmptype (5) - firewalld icmptype configuration files
firewalld.ipset (5)  - firewalld ipset configuration files
firewalld.lockdown-whitelist (5) - firewalld lockdown whitelist configuration file
firewalld.richlanguage (5) - Rich Language Documentation
firewalld.service (5) - firewalld service configuration files
firewalld.zone (5)   - firewalld zone configuration files
firewalld.zones (5)  - firewalld zones
[root@server ~]# 

查看富規(guī)則的使用

man firewalld.richlanguage

查看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

更新防火墻規(guī)則:

firewall-cmd --reload

添加一個服務到firewalld

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

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

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

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

就要新建一個服務,在/usr/lib/firewalld/services,隨便拷貝一個xml文件到一個新名字,比如myservice.xml,把里面的

<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>

short改為想要名字(這個名字只是為了人來閱讀,沒有實際影響。重要的是修改 protocol和port。修改完保存。我的經(jīng)驗是這是要重啟firewalld服務,systemctl restart firewalld.service,否則可能提示找不到剛才新建的service。然后把新建的service添加到 firewalld

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

firewalld的基本使用

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

啟動

 systemctl start firewalld

關閉

systemctl stop firewalld

查看狀態(tài)

systemctl status firewalld 

開機禁用

systemctl disable firewalld

開機啟用

systemctl enable firewalld

查看服務是否開機啟動

systemctl is-enabled firewalld.service

查看已啟動的服務列表

systemctl list-unit-files|grep enabled

查看啟動失敗的服務列表

systemctl --failed

查看版本

firewall-cmd --version

查看幫助

firewall-cmd --help

查看所有打開的端口

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

查看指定接口所屬區(qū)域

firewall-cmd --get-zone-of-interface=eth0

拒絕所有包

firewall-cmd --panic-on

取消拒絕狀態(tài)

firewall-cmd --panic-off

查看是否拒絕

firewall-cmd --query-panic

開啟一個端口

添加

firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,沒有此參數(shù)重啟后失效)

重新載入

firewall-cmd --reload

查看

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

刪除

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

firewall-cmd添加富規(guī)則

1.拒絕來自public區(qū)域中ip地址為192.168.0.11的所有流量

firewall-cmd --permanent --zone=public --add-rich-rule='rule family=ipv4 source address=192.168.0.11/32 reject'

2.允許來自127.16.0.0/16 網(wǎng)段的訪問

firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=172.16.0.0/16 accept'

3.拒絕192.168.0.100主機訪問本地的Samba服務

firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.0.100/24 service name=samba reject'

完了,之后重啟防火墻

firewall-cmd --reload

查看規(guī)則:

firewall-cmd --list-all
image.png
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容