当前位置: 代码网 > 服务器>服务器>Linux > linux如何查看所有放行的端口

linux如何查看所有放行的端口

2025年06月23日 Linux 我要评论
1. 使用 firewalld适用于 centos/rhel 7+、fedora 等系统要是系统使用的是 firewalld,可以执行以下命令查看放行的端口:sudo firewall-cmd --l

1. 使用 firewalld

适用于 centos/rhel 7+、fedora 等系统

要是系统使用的是 firewalld,可以执行以下命令查看放行的端口:

sudo firewall-cmd --list-ports

若想查看更为详细的信息,比如端口对应的服务等,可使用:

sudo firewall-cmd --list-all

2. 使用 iptables

适用于 ubuntu、debian 等系统

当系统使用 iptables 时,可通过以下命令查看放行的端口:

sudo iptables -l -n -v | grep -i "accept" | grep -i "tcp\|udp"

该命令会把所有 accept 规则里的 tcp 和 udp 端口都列出来。

3. 使用 ufw

适用于 ubuntu 等系统

如果系统使用的是 ufw(uncomplicated firewall),可执行此命令查看放行的端口:

sudo ufw status verbose

4. 查看正在监听的端口(与防火墙放行不同)

若你想了解系统当前正在监听的端口(这和防火墙是否放行并无关联),可以使用:

sudo netstat -tulpn

或者使用 ss 命令(它的性能更好):

sudo ss -tulpn

这里:

  • -t 代表 tcp 协议
  • -u 代表 udp 协议
  • -l 表示只显示监听状态的端口
  • -p 能够显示监听该端口的程序
  • -n 会以数字形式显示端口号

示例输出

下面是 firewall-cmd --list-ports 命令的示例输出:

80/tcp 443/tcp 22/tcp

这表明防火墙放行的端口有 80(http)、443(https)以及 22(ssh)。

注意事项

  • 要查看防火墙放行的端口,需要有 root 权限,所以命令前要加 sudo。
  • 不同的 linux 发行版,其防火墙配置工具可能不一样,像 centos 7+ 常用 firewalld,而 ubuntu 则常用 ufw。
  • 系统正在监听的端口,防火墙未必会放行;同理,防火墙放行的端口,系统也可能没有程序在监听。

永久放行linux 22000端口

要永久放行 linux 系统上的 22000 端口,具体操作取决于你使用的防火墙工具。以下是针对不同防火墙的配置方法:

1. 使用 firewalld(centos/rhel 7+、fedora)

步骤:

1. 添加永久规则(tcp 或 udp,根据需求选择):

# 放行 tcp 端口 22000
sudo firewall-cmd --permanent --add-port=22000/tcp
 
# 放行 udp 端口 22000(如果需要)
sudo firewall-cmd --permanent --add-port=22000/udp

2. 重载防火墙使规则生效:

sudo firewall-cmd --reload

3. 验证规则是否添加成功:

sudo firewall-cmd --permanent --list-ports

2. 使用 ufw(ubuntu、debian)

步骤:

1. 启用 ufw(如果未启用):

sudo ufw enable

2. 添加规则放行端口 22000:

# 放行 tcp 端口 22000
sudo ufw allow 22000/tcp
 
# 放行 udp 端口 22000(如果需要)
sudo ufw allow 22000/udp

3. 验证规则:

sudo ufw status verbose

3. 使用 iptables(传统方式,需手动保存规则)

步骤:

1. 添加规则放行端口 22000:

# 放行 tcp 端口 22000
sudo iptables -a input -p tcp --dport 22000 -j accept
 
# 放行 udp 端口 22000(如果需要)
sudo iptables -a input -p udp --dport 22000 -j accept

2. 保存规则(不同系统保存方式不同):

• ubuntu/debian:

sudo apt-get install iptables-persistent
sudo netfilter-persistent save

• centos/rhel:

sudo yum install iptables-services
sudo service iptables save
sudo systemctl enable iptables

3. 验证规则:

sudo iptables -l -n -v

验证端口是否放行

配置完成后,可以通过以下方式验证:

使用 firewalld 或 ufw 的状态命令(见前面步骤)。

使用 nmap 扫描本地端口:

sudo nmap -st -p 22000 localhost

如果看到 22000/tcp open,则表示端口已成功放行。

注意事项

  • 安全风险:放行端口会增加系统暴露面,建议仅放行必要的端口,并配合其他安全措施(如 ssh 密钥认证、fail2ban 等)。
  • 端口冲突:确保 22000 端口未被其他服务占用(使用 netstat -tulpn | grep 22000 检查)。
  • 服务配置:如果是为某个服务开放端口(如 ssh),需确保该服务本身也配置为监听 22000 端口(修改 /etc/ssh/sshd_config 中的 port 字段)。

根据你的系统选择对应的方法,配置后重启系统验证规则是否持久生效。

到此这篇关于linux如何查看所有放行的端口的文章就介绍到这了,更多相关linux查看端口内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com