原文:
學習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 ...