1. 程式人生 > >CentOS7之firewalld常用命令

CentOS7之firewalld常用命令

firewall常用操作示例: 狀態:# systemctl status firewalld 或者 firewall-cmd --state 啟動:# systemctl start  firewalld 停止:# systemctl stop firewalld 使能:# systemctl enable firewalld 禁用:# systemctl disable firewalld #檢視當前zones # firewall-cmd --get-active-zones #顯示當前開放埠 # firewall-cmd --zone=public --list-ports #新增埠到永久區 # firewall-cmd --permanent --zone=public --add-port=61080/tcp --add-port=61446/tcp   #新增服務到永久區 # firewall-cmd --permanent --zone=public --add-service=samba #重新整理配置,新增到永久區後必須重新整理配置才能生效 # firewall-cmd --reload   #顯示當前開放埠 # firewall-cmd --zone=public --list-ports  #顯示當前開放的服務 # firewall-cmd --zone=public --list-service # firewalld 開放vrrp: firewall-cmd --permanent --add-rich-rule "rule family=ipv4 source address=192.168.100.0/24 port name="22" reject" firewall-cmd --zone=public --permanent --add-rich-rule "rule family=ipv4 source address=192.168.100.237/32 accept" firewall-cmd --zone=public --permanent --add-rich-rule "rule family=ipv4 source address=192.168.100.238/32 accept" firewall-cmd --reload firewall-cmd --zone=public --list-rich-rules ------------------------------------ CentOS 7 firewalld使用簡介 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 status firewalld 或者 firewall-cmd --state 啟動:# systemctl start  firewalld 停止:# systemctl stop firewalld 使能:# systemctl enable firewalld 禁用:# systemctl disable firewalld 4、配置firewalld 檢視版本:$ firewall-cmd --version 檢視幫助:$ firewall-cmd --help 檢視設定:                 顯示狀態:$ firewall-cmd --state                 檢視區域資訊: $ 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 # firewall-cmd --zone=public --add-interface=eth0 永久生效再加上 --permanent 然後reload防火牆 設定預設介面區域 # firewall-cmd --set-default-zone=public 立即生效無需重啟 開啟埠(貌似這個才最常用) 檢視所有開啟的埠: # firewall-cmd --zone=dmz --list-ports 加入一個埠到區域: # firewall-cmd --zone=dmz --add-port=8080/tcp 若要永久生效方法同上 開啟一個服務,類似於將埠視覺化,服務需要在配置檔案中新增,/etc/firewalld 目錄下有services資料夾 # firewall-cmd --zone=work --add-service=smtp 移除服務 # firewall-cmd --zone=work --remove-service=smtp