centos7使用firewalld打開關閉防火墻和端口
阿新 • • 發佈:2018-11-20
動態 所有 cti get 永久 字符 usr 動態添加 rop 1、firewalld簡介
firewalld是centos7的一大特性,最大的好處有兩個:支持動態更新,不用重啟服務;第二個就是加入了防火墻的“zone”概念
firewalld有圖形界面和工具界面,由於我在服務器上使用,圖形界面請參照官方文檔,本文以字符界面做介紹
firewalld的字符界面管理工具是 firewall-cmd
firewalld默認配置文件有兩個:/usr/lib/firewalld/ (系統配置,盡量不要修改)和 /etc/firewalld/ (用戶配置地址)
zone概念:硬件防火墻默認一般有三個區,firewalld引入這一概念系統默認存在以下區域
drop:默認丟棄所有包
block:拒絕所有外部連接,允許內部發起的連接
public:指定外部連接可以進入
external:這個不太明白,功能上和上面相同,允許指定的外部連接
dmz:和硬件防火墻一樣,受限制的公共連接可以進入
work:工作區,概念和workgoup一樣,也是指定的外部連接允許
home:類似家庭組
internal:信任所有連接
2、安裝firewalld
root執行:
# yum install firewalld firewall-config
3、運行、停止、禁用firewalld
啟動:# systemctl start firewalld
查看狀態:# systemctl status firewalld 或者 firewall-cmd --state
停止:# systemctl disable firewalld
禁用:# systemctl stop firewalld
4、配置firewalld
查看版本:$ firewall-cmd --version
查看幫助:$ firewall-cmd --help
顯示狀態:$ firewall-cmd --state
查看所有打開的端口:$ firewall-cmd --zone=dmz --list-ports
查看區域信息: $ 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 --reload
或者:$ firewall-cmd --complete-reload
兩者的區別就是第一個無需斷開連接,就是firewalld特性之一動態添加規則,第二個需要斷開連接,類似重啟服務
將接口添加到區域,默認接口都在public,永久生效再加上--permanent,然後reload防火墻
# firewall-cmd --zone=public --add-interface=eth0
設置默認接口區域,然後立即生效無需重啟
# firewall-cmd --set-default-zone=public
5 打開端口
加入一個端口到區域:
# firewall-cmd --zone=dmz --add-port=8080/tcp
若要永久生效,
# vi /etc/sysconfig/iptables-config # 也可能是iptables文件
打開3306端口,則在最後添加這樣一樣:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
重啟和設置開機啟動
# systemctl restart firewalld # 重啟防火墻使配置生效
# systemctl enable firewalld # 設置防火墻開機啟動
centos7使用firewalld打開關閉防火墻和端口