linux firewalld
时间: 2024-12-27 21:23:33 浏览: 2
### 如何在Linux中使用和配置Firewalld防火墙
#### Firewalld基础概念
Firewalld 是 CentOS 7 默认的管理防火墙规则的工具,属于 Linux 防火墙的“用户态”。与传统的 `iptables` 不同的是,Firewalld 提供了更灵活的方式来进行防火墙管理。它引入了 zones 和 services 的概念来简化复杂的网络环境下的安全策略设定[^1]。
#### 安装与启动Firewalld
如果尚未安装 Firewalld,则可以通过包管理器进行安装:
```bash
sudo yum install firewalld
```
启动并启用该服务以确保其随系统一起启动:
```bash
sudo systemctl start firewalld
sudo systemctl enable firewalld
```
确认服务正在运行:
```bash
sudo systemctl status firewalld
```
#### 基本命令操作
为了查看当前活动的状态以及默认使用的 zone 可执行如下指令:
```bash
firewall-cmd --state
firewall-cmd --get-default-zone
```
要获取所有已知区域列表及其详情信息可分别输入以下两条语句之一:
```bash
firewall-cmd --get-zones
firewall-cmd --list-all-zones
```
对于特定 Zone 下的服务、端口等资源查询同样简单明了:
```bash
firewall-cmd --zone=public --list-services
firewall-cmd --zone=public --list-ports
```
#### 添加或移除规则
向指定区域内添加新 IP 地址作为信任源地址的方法如下所示:
```bash
firewall-cmd --add-source=192.168.0.0/24 --zone=home
```
当不再需要这条记录时可通过下面这行代码将其删除掉:
```bash
firewall-cmd --remove-source=192.168.0.0/24 --zone=home
```
同样的逻辑也适用于开放某个端口号或者关闭之:
```bash
firewall-cmd --add-port=80/tcp --zone=external
firewall-cmd --remove-port=80/tcp --zone=external
```
#### 修改默认Zone及接口关联
更改整个系统的默认工作区只需一条简单的命令即可完成:
```bash
firewall-cmd --set-default-zone=work
```
将某张网卡绑定至不同的分区上则需要用到类似这样的表达方式:
```bash
firewall-cmd --change-interface=enp0s3 --zone=internal
```
#### 图形化界面介绍
除了命令行外还有图形化的工具可供选择——即 `firewall-config` 应用程序。此应用的工作界面被划分为多个部分,其中包括但不限于主菜单、配置选项、区域和服务等多个标签页。通过这些组件能够更加直观便捷地管理和调整各项参数设置[^4]。
阅读全文