linux查看所有放行的端口
大家好,我是剽悍一小兔,独立开发者,副业搞钱尝试者,热爱技术分享,欢迎一起学习交流。我会每天分享编程技术、独立开发、行业咨询、思考感悟。代表作:《JavaScript百炼成仙》公众号:java小白翻身小程序:速用百宝箱在 Linux 系统里,要查看所有放行的端口,这和防火墙的配置情况有关。
大家好,我是剽悍一小兔,独立开发者,副业搞钱尝试者,热爱技术分享,欢迎一起学习交流。
我会每天分享编程技术、独立开发、行业咨询、思考感悟。
代表作:《JavaScript百炼成仙》
公众号:java小白翻身
小程序:速用百宝箱
在 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 端口,具体操作取决于你使用的防火墙工具。以下是针对不同防火墙的配置方法:
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
- • Ubuntu/Debian:
- 3. 验证规则:
sudo iptables -L -n -v
验证端口是否放行
配置完成后,可以通过以下方式验证:
- • 使用
firewalld或ufw的状态命令(见前面步骤)。 - • 使用
nmap扫描本地端口:
如果看到sudo nmap -sT -p 22000 localhost22000/tcp open,则表示端口已成功放行。
注意事项
- • 安全风险:放行端口会增加系统暴露面,建议仅放行必要的端口,并配合其他安全措施(如 SSH 密钥认证、fail2ban 等)。
- • 端口冲突:确保 22000 端口未被其他服务占用(使用
netstat -tulpn | grep 22000检查)。 - • 服务配置:如果是为某个服务开放端口(如 SSH),需确保该服务本身也配置为监听 22000 端口(修改
/etc/ssh/sshd_config中的Port字段)。
根据你的系统选择对应的方法,配置后重启系统验证规则是否持久生效。
更多推荐



所有评论(0)