linux命令firewall-cmd --zone=public --add-port=12345/tcp --permanent 提示INVALID_ZONE:public怎么解决
时间: 2023-10-05 16:07:24 浏览: 259
这个错误提示是因为防火墙中不存在名为public的区域。你需要先确认你的防火墙中有哪些可用的区域,可以通过以下命令列出:
```
firewall-cmd --get-zones
```
如果没有public区域,可以选择其他可用的区域进行端口的添加。例如,如果你想将端口添加到默认区域,可以使用以下命令:
```
firewall-cmd --add-port=12345/tcp --permanent
```
如果你需要创建新的区域,可以使用以下命令:
```
firewall-cmd --permanent --new-zone=your_zone_name
```
然后你可以通过修改新区域的设置,将端口添加到该区域。
相关问题
firewall-cmd --permanent --zone=public --add-port=3306/tcp 添加多个端口
firewalld 是 Linux 系统中常用的一个动态防火墙管理工具,它允许你临时或永久地添加或删除规则来控制进出系统的网络流量。当你需要在`public`安全区域打开 3306 端口外,还可以添加其他端口,例如 80 和 443(HTTP 和 HTTPS)的命令应该类似这样:
```bash
# 打开 3306 端口(MySQL)
firewall-cmd --permanent --zone=public --add-port=3306/tcp
# 打开 80 端口(HTTP)
firewall-cmd --permanent --zone=public --add-port=80/tcp
# 打开 443 端口(HTTPS)
firewall-cmd --permanent --zone=public --add-port=443/tcp
# 保存更改(确保运行此命令生效)
firewall-cmd --reload
```
这样,`firewalld`就会在下次重启后自动启用这三个新增的端口规则,使得它们对外部网络开放。注意每个命令都需要单独运行,并在最后使用`--reload`来实际应用配置。
firewall-cmd --zone=public --add-port=80/tcp 使他永久生效
`firewall-cmd --zone=public --add-port=80/tcp` 这条命令的作用是在系统的防火墙(通常是Linux系统中的iptables或firewalld)中,给公共区域(public zone)增加一条规则,允许TCP协议的80端口(HTTP服务默认端口)的进出流量。这样配置后,80端口对于外部网络来说就会一直保持开放状态。
但是,这条命令只是一次性的改变,并不会立即永久生效。要在系统重启后仍保持此设置,你需要将其添加到防火墙的持久规则文件中。以下是步骤:
1. 对于firewalld,你可以使用 `--permanent` 或 `-P` 参数来确保规则持久化:
```
firewall-cmd --permanent --zone=public --reload
```
3. 要让更改在下次启动时自动加载,可以编辑firewalld的配置文件(通常是`/etc/firewalld/firewalld.conf`),并在`[Zone]`部分添加相应的zone定义,并设置`onboot=yes`。
请注意,具体的命令可能会因操作系统版本和防火墙管理工具的不同而有所差异。比如,在某些旧版的iptables中,需要手动编辑规则文件。
阅读全文