香港云服務(wù)器詳解CentOS7防火墻管理firewalld
1、firewalld簡(jiǎn)介
firewalld是centos7的一大特性,最大的好處有兩個(gè):支持動(dòng)態(tài)更新,不用重啟服務(wù);第二個(gè)就是加入了防火墻的“zone”概念
firewalld有圖形界面和工具界面,由于我在服務(wù)器上使用,圖形界面請(qǐng)參照官方文檔,本文以字符界面做介紹
firewalld的字符界面管理工具是 firewall-cmd
firewalld默認(rèn)配置文件有兩個(gè):/usr/lib/firewalld/ (系統(tǒng)配置,盡量不要修改)和 /etc/firewalld/ (用戶配置地址)
zone概念:
硬件防火墻默認(rèn)一般有三個(gè)區(qū),firewalld引入這一概念系統(tǒng)默認(rèn)存在以下區(qū)域(根據(jù)文檔自己理解,如果有誤請(qǐng)指正):
drop:默認(rèn)丟棄所有包
block:拒絕所有外部連接,允許內(nèi)部發(fā)起的連接
public:指定外部連接可以進(jìn)入
external:這個(gè)不太明白,功能上和上面相同,允許指定的外部連接
dmz:和硬件防火墻一樣,受限制的公共連接可以進(jìn)入
work:工作區(qū),概念和workgoup一樣,也是指定的外部連接允許
home:類(lèi)似家庭組
internal:信任所有連接
對(duì)防火墻不算太熟悉,還沒(méi)想明白public、external、dmz、work、home從功能上都需要自定義允許連接,具體使用上的區(qū)別還需高人指點(diǎn)
2、安裝firewalld
root執(zhí)行
# yum install firewalld firewall-config
3、運(yùn)行、停止、禁用firewalld
啟動(dòng):
# systemctl start firewalld
查看狀態(tài):
# systemctl status firewalld 或者 firewall-cmd –state
停止:
# systemctl disable firewalld
禁用:
# systemctl stop firewalld
4、配置firewalld
查看版本:
$ firewall-cmd –version
查看幫助:
$ firewall-cmd –help
查看設(shè)置:
顯示狀態(tài):
$ firewall-cmd –state
查看區(qū)域信息:
$ firewall-cmd –get-active-zones
查看指定接口所屬區(qū)域:
$ firewall-cmd –get-zone-of-interface=eth0
拒絕所有包:
# firewall-cmd –panic-on
取消拒絕狀態(tài):
# firewall-cmd –panic-off
查看是否拒絕:
$ firewall-cmd –query-panic
更新防火墻規(guī)則:
# firewall-cmd –reload
# firewall-cmd –complete-reload
兩者的區(qū)別就是第一個(gè)無(wú)需斷開(kāi)連接,就是firewalld特性之一動(dòng)態(tài)添加規(guī)則,第二個(gè)需要斷開(kāi)連接,類(lèi)似重啟服務(wù)
將接口添加到區(qū)域,默認(rèn)接口都在public
# firewall-cmd –zone=public –add-Interface=eth0
永久生效再加上 –permanent 然后reload防火墻
設(shè)置默認(rèn)接口區(qū)域
# firewall-cmd –set-default-zone=public
立即生效無(wú)需重啟
打開(kāi)端口(貌似這個(gè)才最常用)
查看所有打開(kāi)的端口:
# firewall-cmd –zone=dmz –list-ports
加入一個(gè)端口到區(qū)域:
# firewall-cmd –zone=dmz –add-port=8080/tcp
若要永久生效方法同上
打開(kāi)一個(gè)服務(wù),類(lèi)似于將端口可視化,服務(wù)需要在配置文件中添加,/etc/firewalld 目錄下有services文件夾,這個(gè)不詳細(xì)說(shuō)了,詳情參考文檔
# firewall-cmd –zone=work –add-service=smtp
移除服務(wù)
# firewall-cmd –zone=work –remove-service=smtp