HCRM博客

如何正确配置 CentOS 以开放特定端口?

在 CentOS 系统中,端口的开放是一个常见的系统管理任务,特别是在配置防火墙时,CentOS 7 和 CentOS 8 使用firewalld 作为默认的防火墙管理工具,而早期版本则使用iptaBLes,本文将详细介绍如何在 CentOS 中开放端口,包括查看已开放的端口、开放新端口、关闭端口以及检查端口状态等操作。

查看已开放的端口

1、使用firewallcmd 命令

如何正确配置 CentOS 以开放特定端口?-图1
(图片来源网络,侵权删除)

```bash

firewallcmd listports

```

此命令会列出当前所有已开放的端口及其协议。

2、使用netstat 命令

```bash

如何正确配置 CentOS 以开放特定端口?-图2
(图片来源网络,侵权删除)

netstat ntlp

```

该命令显示当前所有正在监听的 TCP 端口及其对应的进程信息。

3、使用lsof 命令

```bash

lsof i :端口号

```

检查 80 端口是否开放:

```bash

lsof i :80

```

如果没有输出,表示该端口未开放。

开放端口

1、使用firewallcmd 开放单个端口

```bash

sudo firewallcmd zone=public addport=8080/tcp permanent

```

这条命令将在公共区域(public zone)永久开放 8080 端口。

2、使用firewallcmd 开放多个端口

```bash

sudo firewallcmd zone=public addport=2000029999/tcp permanent

```

该命令将在公共区域永久开放 20000 到 29999 之间的所有端口。

3、重新加载防火墙规则

```bash

sudo firewallcmd reload

```

重新加载防火墙规则以使更改生效。

4、使用iptables 开放端口(适用于 CentOS 6 及更早版本)

```bash

sudo iptables I INPUT p tcp dport 3306 j ACCEPT

sudo service iptables save

sudo service iptables restart

```

上述命令在 INPUT 链中添加一条规则,允许外部访问 3306 端口的 TCP 流量。

关闭端口

1、使用firewallcmd 关闭单个端口

```bash

sudo firewallcmd zone=public removeport=8080/tcp permanent

```

这条命令将在公共区域永久移除 8080 端口的开放权限。

2、重新加载防火墙规则

```bash

sudo firewallcmd reload

```

重新加载防火墙规则以使更改生效。

检查端口状态

1、使用firewallcmd 检查端口是否开放

```bash

sudo firewallcmd zone=public queryport=8080/tcp

```

如果端口已经开放,该命令会返回yes

2、使用netstat 命令

```bash

netstat ntlp | grep :8080

```

如果看到相应的条目,表示该端口已经开放。

管理防火墙服务

1、启动防火墙服务

```bash

sudo systemctl start firewalld

```

2、停止防火墙服务

```bash

sudo systemctl stop firewalld

```

3、设置防火墙开机自启

```bash

sudo systemctl enable firewalld

```

4、取消防火墙开机自启

```bash

sudo systemctl disable firewalld

```

5、查看防火墙状态

```bash

sudo systemctl status firewalld

```

相关问答FAQs

1、如何查看特定端口是否开放?

可以使用以下命令来查看特定端口是否开放:

```bash

sudo firewallcmd zone=public queryport=8080/tcp

```

如果返回yes,表示该端口已经开放,也可以使用netstat 命令:

```bash

netstat ntlp | grep :8080

```

如果看到相应的条目,表示该端口已经开放。

2、如何永久开放一个端口?

要永久开放一个端口,可以使用firewallcmd 命令并加上permanent 参数:

```bash

sudo firewallcmd zone=public addport=8080/tcp permanent

sudo firewallcmd reload

```

第一条命令将端口添加到防火墙规则中,第二条命令重新加载防火墙规则以使更改生效。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/1431.html

分享:
扫描分享到社交APP
上一篇
下一篇