Linux开放端口

确保 firewalld 服务正在运行或启动,并根据你的需求进行端口开放。

1. 查看当前 firewalld 服务状态

1
systemctl status firewalld.service

2. 开放 8443 端口

使用 firewalld 命令来开放端口 8443

开放端口 8443(永久开放)

如果你希望永久开放端口 8443(即即使重启后也会保持开放),可以执行以下命令:

1
2
3
4
5
# 开放 8443 端口
firewall-cmd --zone=public --add-port=8443/tcp --permanent

# 重新加载防火墙规则,使更改生效
firewall-cmd --reload

临时开放端口 8443

如果你只是临时开放端口 8443(仅在当前会话中有效,重启后会失效),可以使用:

1
2
3
4
# 开放 8443 端口
firewall-cmd --zone=public --add-port=8443/tcp

# 立即生效,不需要重新加载

检查是否成功开放端口

可以使用以下命令检查防火墙当前的开放端口是否包含 8443

1
firewall-cmd --zone=public --list-ports

如果返回 8443/tcp,表示该端口已成功开放。

3. 验证端口是否开放

你可以通过以下方式验证端口 8443 是否成功开放:

  • 使用 telnetnc 从远程主机测试连接:

    1
    telnet your_server_ip 8443

    或者:

    1
    nc -zv your_server_ip 8443
  • 使用 ssnetstat 命令查看端口是否在监听状态:

    1
    ss -tuln | grep 8443

    或者:

    1
    netstat -tuln | grep 8443

4. 确认服务是否正常运行

确保相关应用程序或服务(比如 Web 服务)已经配置为监听 8443 端口。如果是 Web 应用,可能需要修改其配置文件来监听该端口。

总结

  • 使用 firewall-cmd --add-port=8443/tcp 来开放 8443 端口。
  • 使用 firewall-cmd --reload 使更改生效。
  • 使用 ssnetstat 等命令来确认端口是否成功开放。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[root@localhost ~]# systemctl status firewalld.service 
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2024-12-31 21:32:04 CST; 1 day 11h ago
Docs: man:firewalld(1)
Main PID: 1731 (firewalld)
Tasks: 2 (limit: 820458)
Memory: 32.8M
CGroup: /system.slice/firewalld.service
└─1731 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid

12月 31 21:32:14 localhost.localdomain firewalld[1731]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -F DOC>
12月 31 21:32:14 localhost.localdomain firewalld[1731]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -X DOC>
12月 31 21:32:14 localhost.localdomain firewalld[1731]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -F DOC>
12月 31 21:32:14 localhost.localdomain firewalld[1731]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -X DOC>
12月 31 21:32:14 localhost.localdomain firewalld[1731]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -F DOC>
12月 31 21:32:14 localhost.localdomain firewalld[1731]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -X DOC>
12月 31 21:32:14 localhost.localdomain firewalld[1731]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -F DOC>
12月 31 21:32:14 localhost.localdomain firewalld[1731]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -X DOC>
12月 31 21:32:15 localhost.localdomain firewalld[1731]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i do>
12月 31 21:32:15 localhost.localdomain firewalld[1731]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i do>

[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# firewall-cmd --zone=public --add-port=8443/tcp --permanent
FirewallD is not running
[root@localhost ~]# systemctl start firewalld.service
[root@localhost ~]# firewall-cmd --zone=public --add-port=8443/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]#