CentOS 7 firewalld使用簡介

2021-07-27 12:23:54 字數 2371 閱讀 2931

原文:

學習apache安裝的時候需要開啟80埠,由於centos 7版本以後預設使用firewalld後,網上關於iptables的設定方法已經不管用了,想著反正iptable也不會用,索性直接搬官方文件,學習firewalld了,好像比iptables要簡單點了。

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:信任所有連線

對防火牆不算太熟悉,還沒想明白public、external、dmz、work、home從功能上都需要自定義允許連線,具體使用上的區別還需高人指點

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 --get-active-zones

檢視指定介面所屬區域:

$ firewall-cmd --get-zone-of-inte***ce=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-inte***ce=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

還有埠**功能、自定義複雜規則功能、lockdown,由於還沒用到,以後再學習

centos 7 firewall無法啟動

報錯資訊 root localhost bin systemctl status firewalld firewalld.service firewalld dynamic firewall daemon loaded loaded usr lib systemd system firewalld....

CentOS 7 firewall使用方法

1.在firewall規則中新增80埠 firewall cmd zone public add port 80 tcp permanent 2.獲取firewall狀態資訊 firewall cmd state firewall cmd reload 不改變狀態 firewall cmd comp...

centos7 firewall指定IP與埠訪問

1 啟動防火牆 systemctl start firewalld.service 2 指定ip與埠 firewall cmd permanent add rich rule rule family ipv4 source address 192.168.142.166 port protocol ...