啟動(dòng)FirewallD服務(wù):
systemctl enable firewalld.service #設(shè)置開機(jī)啟動(dòng)
systemctl start firewalld.service #開啟服務(wù)
查看防火墻狀態(tài):
systemctl status firewalld
1. 區(qū)域管理
1.1. 網(wǎng)絡(luò)區(qū)域簡(jiǎn)介
通過將網(wǎng)絡(luò)劃分成不同的區(qū)域,制定出不同區(qū)域之間的訪問控制策略來控制不同程序區(qū)域間傳送的數(shù)據(jù)流。例如,互聯(lián)網(wǎng)是不可信任的區(qū)域,而內(nèi)部網(wǎng)絡(luò)是高度信任的區(qū)域。網(wǎng)絡(luò)安全模型可以在安裝,初次啟動(dòng)和首次建立網(wǎng)絡(luò)連接時(shí)選擇初始化。該模型描述了主機(jī)所連接的整個(gè)網(wǎng)絡(luò)環(huán)境的可信級(jí)別,并定義了新連接的處理方式。有如下幾種不同的初始化區(qū)域:
阻塞區(qū)域(block):任何傳入的網(wǎng)絡(luò)數(shù)據(jù)包都將被阻止。
工作區(qū)域(work):相信網(wǎng)絡(luò)上的其他計(jì)算機(jī),不會(huì)損害你的計(jì)算機(jī)。
家庭區(qū)域(home):相信網(wǎng)絡(luò)上的其他計(jì)算機(jī),不會(huì)損害你的計(jì)算機(jī)。
公共區(qū)域(public):不相信網(wǎng)絡(luò)上的任何計(jì)算機(jī),只有選擇接受傳入的網(wǎng)絡(luò)連接。
隔離區(qū)域(DMZ):隔離區(qū)域也稱為非軍事區(qū)域,內(nèi)外網(wǎng)絡(luò)之間增加的一層網(wǎng)絡(luò),起到緩沖作用。對(duì)于隔離區(qū)域,只有選擇接受傳入的網(wǎng)絡(luò)連接。
信任區(qū)域(trusted):所有的網(wǎng)絡(luò)連接都可以接受。
丟棄區(qū)域(drop):任何傳入的網(wǎng)絡(luò)連接都被拒絕。
內(nèi)部區(qū)域(internal):信任網(wǎng)絡(luò)上的其他計(jì)算機(jī),不會(huì)損害你的計(jì)算機(jī)。只有選擇接受傳入的網(wǎng)絡(luò)連接。
外部區(qū)域(external):不相信網(wǎng)絡(luò)上的其他計(jì)算機(jī),不會(huì)損害你的計(jì)算機(jī)。只有選擇接受傳入的網(wǎng)絡(luò)連接。
注:FirewallD的默認(rèn)區(qū)域是public。
1.2. 顯示支持的區(qū)域列表
firewall-cmd --get-zones
1.3. 設(shè)置為家庭區(qū)域
firewall-cmd --set-default-zone=home
1.4. 查看當(dāng)前區(qū)域
firewall-cmd --get-active-zones
1.5. 設(shè)置當(dāng)前區(qū)域的接口
firewall-cmd --get-zone-of-interface=enp03s
1.6. 顯示所有公共區(qū)域(public)
firewall-cmd --zone=public --list-all
1.7. 臨時(shí)修改網(wǎng)絡(luò)接口(enp0s3)為內(nèi)部區(qū)域(internal)
firewall-cmd --zone=internal --change-interface=enp03s
1.8. 永久修改網(wǎng)絡(luò)接口enp03s為內(nèi)部區(qū)域(internal)
firewall-cmd --permanent --zone=internal --change-interface=enp03s
2. 服務(wù)管理
2.1. 顯示服務(wù)列表
Amanda, FTP, Samba和TFTP等最重要的服務(wù)已經(jīng)被FirewallD提供相應(yīng)的服務(wù),可以使用如下命令查看:
firewall-cmd --get-services
2.2. 允許SSH服務(wù)通過
firewall-cmd --enable service=ssh
2.3. 禁止SSH服務(wù)通過
firewall-cmd --disable service=ssh
2.4. 打開TCP的8080端口
firewall-cmd --enable ports=8080/tcp
2.5. 臨時(shí)允許Samba服務(wù)通過600秒
firewall-cmd --enable service=samba --timeout=600
2.6. 顯示當(dāng)前服務(wù)
firewall-cmd --list-services
2.7. 添加HTTP服務(wù)到內(nèi)部區(qū)域(internal)
firewall-cmd --permanent --zone=internal --add-service=http
firewall-cmd --reload #在不改變狀態(tài)的條件下重新加載防火墻
3. 端口管理
3.1. 打開端口
#打開443/TCP端口
firewall-cmd --add-port=443/tcp
#永久打開3690/TCP端口
firewall-cmd --permanent --add-port=3690/tcp
#永久打開端口好像需要reload一下,臨時(shí)打開好像不用,如果用了reload臨時(shí)打開的端口就失效了
#其它服務(wù)也可能是這樣的,這個(gè)沒有測(cè)試
firewall-cmd --reload
#查看防火墻,添加的端口也可以看到
firewall-cmd --list-all
4. 直接模式
FirewallD包括一種直接模式,使用它可以完成一些工作,例如打開TCP協(xié)議的9999端口
firewall-cmd --direct -add-rule ipv4 filter INPUT 0 -p tcp --dport 9000 -j ACCEPT
firewall-cmd --reload
5. 關(guān)閉服務(wù)的方法
你也可以關(guān)閉目前還不熟悉的FirewallD防火墻,而使用iptables,命令如下:
systemctl stop firewalld
systemctl disable firewalld
yum install iptables-services
systemctl start iptables
systemctl enable iptables