CentOS7.9中开启服务器端口,用什么指令
时间: 2024-03-05 17:54:25 浏览: 217
要在CentOS7.9中开启服务器端口,可以使用firewall-cmd命令。具体指令如下:
1. 查看已开启的端口:
```bash
firewall-cmd --list-ports
```
2. 开启端口:
```bash
firewall-cmd --zone=public --add-port=端口号/tcp --permanent
```
其中,端口号是需要开启的端口号,tcp表示使用TCP协议,--permanent参数表示设置开机自启动。
3. 重新加载防火墙配置:
```bash
firewall-cmd --reload
```
执行完以上三个步骤,就可以在CentOS7.9中成功开启服务器端口了。
相关问题
centos7.9查看端口
### 查看端口占用情况或开放状态
在 CentOS 7.9 中,有多种方法可以用来查看系统的端口占用情况或开放状态。
#### 使用 `netstat` 命令
尽管 `netstat` 已逐渐被更现代的工具取代,在许多情况下它仍然是有效的。为了确保安装了必要的包,可以通过以下命令来确认:
```bash
yum install net-tools
```
之后,通过如下命令查看监听中的 TCP 和 UDP 端口及其关联的服务名称和 PID[^1]:
```bash
netstat -tulnpe
```
此命令会显示所有正在监听 (listen) 的套接字 (-l),仅限于 IPv4 和 IPv6 协议族 (-t 表示TCP, -u 表示UDP),并且不解析主机名(-n), 显示进程 ID 和程序名称 (-p),以及用户信息 (-e)。
#### 使用 `ss` 命令
对于较新的 Linux 发行版来说推荐使用 `ss` 来替代 `netstat` 。该命令提供了更快的速度和更多的选项用于过滤输出结果。基本用法如下所示:
```bash
ss -tulnp
```
这里 `-t`, `-u`, `-l`, `-n`, 和 `-p` 参数的作用同上文提到的一致。
#### 使用 `lsof` 命令
另一个强大的工具叫做 `lsof` ,它可以列出当前打开的所有文件描述符的信息,其中包括网络连接。要检查特定端口号是否已被某个进程所使用,可执行下面这条指令:
```bash
lsof -i :<port_number>
```
例如想要知道哪个应用程序占用了 AlertManager 配置里指定的节点端口 31000,则应输入:
```bash
lsof -i :31000
```
这将会返回有关绑定到该端口上的任何活动服务的数据,包括其对应的二进制路径和服务所属用户的详情。
#### 检查防火墙配置
考虑到安全因素,有时即使本地应用已经绑定了某些端口也可能因为防火墙规则而无法访问外部流量。因此还需要核查防火墙的状态。如果系统运行着 firewalld 服务的话,那么就可以利用这些命令获取更多信息:
查询现有规则集下的允许进入通信端口列表:
```bash
firewall-cmd --list-ports
```
临时添加一个新的入站规则以便让其他机器能够触及内部服务器上的某项服务(比如 Redis 默认使用的 6379 号端口):
```bash
firewall-cmd --add-port=6379/tcp
```
永久保存更改以使重启后依然生效:
```bash
firewall-cmd --runtime-to-permanent
```
最后记得重新加载 firewall 规则使其立即生效:
```bash
systemctl reload firewalld
```
Centos 7.9打开防火墙
### 启用和配置 CentOS 7.9 的防火墙
#### 1. 检查防火墙状态
可以通过以下命令查看 `firewalld` 是否正在运行以及其当前状态:
```bash
systemctl status firewalld.service
```
如果显示绿色字标注 `active (running)`,则表示防火墙已处于开启状态[^1]。
#### 2. 启动防火墙
如果防火墙未启动,则可以使用以下命令来启动它:
```bash
systemctl start firewalld.service
```
#### 3. 设置开机自启
为了确保系统重启后防火墙仍然保持启用状态,需设置为开机自动启动:
```bash
systemctl enable firewalld.service
```
#### 4. 查看防火墙区域和服务
通过以下命令可查看当前活动的防火墙区域及其允许的服务列表:
```bash
firewall-cmd --get-active-zones
firewall-cmd --list-all
```
#### 5. 添加端口或服务到防火墙规则
假设需要开放 HTTP 和 SSH 服务或者特定端口号(如 80 或 22),可以分别执行如下操作:
- **添加服务**
```bash
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=ssh
```
- **添加端口**
```bash
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=22/tcp
```
完成以上任一修改之后都需要重新加载防火墙配置才能使改动生效:
```bash
firewall-cmd --reload
```
#### 6. 移除端口或服务
当不再需要某些之前加入的端口或服务时,可通过下面指令移除它们并再次重载配置文件:
```bash
firewall-cmd --permanent --remove-service=http
firewall-cmd --permanent --remove-port=80/tcp
firewall-cmd --reload
```
#### 7. 修改默认区域
有时可能希望改变系统的默认工作区以适应不同的网络环境需求。比如切换至更严格的 public 区域或其他预定义好的模式下运作。
```bash
firewall-cmd --set-default-zone=public
```
---
### 注意事项
SELinux 是另一个重要的安全子系统,在调整 firewall 配置的同时也应留意 SELinux 的策略设定以免相互冲突影响实际效果。
此外,在生产环境中不建议完全禁用防火墙功能而是合理规划放行哪些必要的通信流量从而保障服务器的安全性[^2]。
最后记得每次做完变更都要验证一下新的规则是否按预期正常工作,例如尝试访问新增加开放出来的服务端点确认无误后再继续其他部署流程[^3]。
阅读全文
相关推荐
















