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