CentOS 7 firewalld使用簡介
學習apache安裝的時候需要開啟80埠,由於centos 7 版本以後預設使用 firewalld後,網上關於iptables的設定方法已經不管用了,想著反正iptable也不會用,索性直接搬官方文件,學習 firewalld了,好像比iptables要簡單點了。
1. firewalld簡介
firewalld是centos7的一大特性,最大的好處有兩個:支援動態更新,不用重啟服務;第二個就是加入了防火牆的zone
概念
firewalld有圖形介面和工具介面,由於我在伺服器上使用,圖形介面請參照官方文件,本文以字元介面做介紹。
1.1. firewall-cmd工具
firewalld的字元介面管理工具是 firewall-cmd
firewalld預設配置檔案有兩個:/usr/lib/firewalld/
(系統配置,儘量不要修改)和 /etc/firewalld/
(使用者配置地址)
1.2. zone的概念
硬體防火牆預設一般有三個區,firewalld引入這一概念系統預設存在以下區域(根據文件自己理解,如果有誤請指正):
- drop:預設丟棄所有包
- block:拒絕所有外部連線,允許內部發起的連線
- public:指定外部連線可以進入
- external:這個不太明白,功能上和上面相同,允許指定的外部連線
- dmz:和硬體防火牆一樣,受限制的公共連線可以進入
- work:工作區,概念和workgoup一樣,也是指定的外部連線允許
- home:類似家庭組
- internal:信任所有連線
對防火牆不算太熟悉,還沒想明白public、external、dmz、work、home從功能上都需要自定義允許連線,具體使用上的區別還需高人指點
2. 安裝firewalld
一般情況下,CentOS7已經安裝好了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-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
還有埠轉發功能、自定義複雜規則功能、lockdown,由於還沒用到,以後再學習。
參考資料
一、介紹
CentOS 7 預設沒有使用iptables,所以通過編輯iptables的配置檔案來開啟80埠是不可以的,
防火牆守護 firewalld 服務引入了一個信任級別的概念來管理與之相關聯的連線與介面。它支援 ipv4 與 ipv6,並支援網橋,採用 firewall-cmd (command) 或 firewall-config (gui) 來動態的管理 kernel netfilter 的臨時或永久的介面規則,並實時生效而無需重啟服務。
CentOS 7 採用了 firewalld 防火牆
1.如何查詢是否開啟6379埠:
[root@localhost ~]# firewall-cmd --query-port=6379/tcp
no
注:no 表示埠沒有開啟。
2.開啟6379埠:
[root@localhost ~]# firewall-cmd --add-port=6379/tcp
success
注:success 表示開啟了6379埠。
相關文章
- Centos 7 systemctl和防火牆firewalld命令CentOS防火牆
- CentOS7使用firewalld開啟關閉防火牆與埠CentOS防火牆
- centos7系統執行級別簡介CentOS
- Centos7預設防火牆之firewalld講解及配置CentOS防火牆
- CentOS 7.5 modify the sshd port with SElinux and Firewalld Service runningCentOSLinux
- 【CentOS7】ulimit 使用CentOSMIT
- centos 7 yum 使用文件CentOS
- Jira使用簡介 HP ALM使用簡介
- PostgreSQL DBA(7) - pgbench簡介SQL
- CentOS 7 以上防火牆簡單配置CentOS防火牆
- CentOS 7升級核心簡明說明CentOS
- Redhat 7使用CentOS 7的Yum網路源RedhatCentOS
- firewalld dbus介面使用指南
- CentOS 7 - 建立新使用者CentOS
- Docker中使用CentOS7映象DockerCentOS
- 使用 Vagrant 快速搭建 CentOS7CentOS
- iptables使用詳解(centos7)CentOS
- pipenv 使用簡介
- Git 使用簡介Git
- Disruptor 使用簡介
- dremio使用簡介REM
- CentOS7 快速高效,簡單安裝 lnmpCentOSLNMP
- VMware安裝Centos7 教程簡潔版CentOS
- Linux Centos 7安裝MongoDB(簡單!詳細!)LinuxCentOSMongoDB
- CentOS7 做 路由器 精簡方法CentOS路由器
- RabbitMQ Centos7 安裝以及使用MQCentOS
- Centos7使用SSM管理LVM卷CentOSSSMLVM
- CentOS 7 中新增新使用者CentOS
- centos7中使用locate命令CentOS
- CentOS7禁止Linux系統使用者透過SSH登入方法介紹CentOSLinux
- Systemd簡介與使用
- SVG Sprite 使用簡介SVG
- Jumpserver簡介,部署使用Server
- openvas簡介及使用
- JQuery簡介與使用jQuery
- BPMN 2.0使用簡介
- Flyway簡介及使用
- Apache Hudi使用簡介Apache