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

 更新时间:2025年06月23日 10:06:00   作者:剽悍一小兔  
在 Linux 系统里,要查看所有放行的端口,这和防火墙的配置情况有关,下面下面就为大家介绍几种常见的情形,希望对大家有一定的帮助

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查看端口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Linux下SFTP用户权限设置条件及实现命令

    Linux下SFTP用户权限设置条件及实现命令

    SFTP账号是基于SSH账号的,其拥有的权限是比较大的,今天主要教大家如何进行SFTP用户权限设置,感兴趣的你可不要错过了哈,希望本文知识可以帮助到你
    2013-02-02
  • Linux下activeMQ的启动和停止命令方式

    Linux下activeMQ的启动和停止命令方式

    文章介绍了在Linux环境下启动和停止Apache ActiveMQ的步骤,启动前需要确保服务未运行,使用`./activemq start`命令启动,停止时使用`./activemq stop`命令,启动后可以通过访问`http://127.0.0.1:8161/admin/`来验证服务是否成功启动
    2024-12-12
  • Linux编译优化必须掌握的几个姿势总结

    Linux编译优化必须掌握的几个姿势总结

    内核是操作系统的核心,也是操作系统最基本的部分。下面这篇文章主要给大家总结介绍了关于Linux编译优化必须掌握的几个姿势,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-09-09
  • Linux 服务器上配置基于SSH 密钥的身份验证及使用方法

    Linux 服务器上配置基于SSH 密钥的身份验证及使用方法

    SSH是一种加密协议,用于管理和与服务器通信,在使用 Linux 服务器时,您经常会花费大量时间在通过 SSH 连接到服务器的终端会话中,这篇文章主要介绍了Linux 服务器上配置基于SSH 密钥的身份验证及使用方法,需要的朋友可以参考下
    2024-04-04
  • 批处理模式下运行 top 命令的方法

    批处理模式下运行 top 命令的方法

    top 命令 是每个人都在使用的用于 监控 Linux 系统性能 的最好的命令。这篇文章给大家介绍批处理模式下运行 top 命令的方法,感兴趣的朋友一起看看吧
    2019-10-10
  • tr命令在统计英文单词出现频率中的妙用

    tr命令在统计英文单词出现频率中的妙用

    今天小编就为大家分享一篇关于tr命令在统计英文单词出现频率中的妙用,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • CentOS-NAT模式下(DHCP)联网成功案例

    CentOS-NAT模式下(DHCP)联网成功案例

    这篇文章主要为大家详细介绍了CentOS-NAT模式下(DHCP)联网成功,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • 如何在 CentOS/RHEL 系统中使用带 VLAN 标记的以太网卡

    如何在 CentOS/RHEL 系统中使用带 VLAN 标记的以太网卡

    这篇文章主要介绍了如何在 CentOS/RHEL 系统中使用带 VLAN 标记的以太网卡,有对这方面感兴趣的同学,可以跟随小编一起来研究学习下吧
    2020-12-12
  • 在 CentOS 8/RHEL 8 上安装和使用 Cockpit的方法

    在 CentOS 8/RHEL 8 上安装和使用 Cockpit的方法

    Cockpit 是一个基于 Web 的服务器管理工具,可用于 CentOS 和 RHEL 系统。最近发布的 CentOS 8 和 RHEL 8,其中 cockpit 是默认的服务器管理工具。这篇文章主要介绍了在 CentOS 8/RHEL 8 上安装和使用 Cockpit的方法,需要的朋友可以参考下
    2019-10-10
  • Ubuntu环境编译安装PHP和Nginx的方法

    Ubuntu环境编译安装PHP和Nginx的方法

    这篇文章主要介绍了Ubuntu环境编译安装PHP和Nginx的方法,较为详细的分析了Ubuntu环境编译安装PHP和Nginx的具体步骤、相关命令与操作技巧,需要的朋友可以参考下
    2019-08-08

最新评论