用心打造
VPS知识分享网站

Linux怎么查看端口是否开放?Linux开放端口命令全攻略

很多小伙伴用Linux VPS跑服务的时候,最常遇到的问题之一就是——“我这个端口到底开没开?外部能不能访问?” ,其实这个问题还是比较简单的,今天小编就教大家怎么查看端口是否开放,并且分享实用的端口开放命令。

Linux怎么查看端口是否开放?Linux开放端口命令全攻略

一、怎么看端口有没有开放?

最简单直接的方式,就是用 ssnetstat 命令。

用 ss 命令

ss -tuln  
  • -t:显示 TCP 端口
  • -u:显示 UDP 端口
  • -l:只看监听中的端口
  • -n:直接用端口号,不解析域名

小编自己常用这个命令,结果整齐,方便快速找有没有监听。

用 netstat 命令(老工具)

netstat -tuln  

原理和 ss 差不多,就是在部分老系统里更常见。

如果你想更详细地看哪个服务在用哪个端口:

ss -tunlp  

或者

netstat -tunlp  

多了 -p,能看到具体的进程名和 PID,方便排查。

二、如何检测端口对外是否可访问?

监听只是第一步,真正能不能访问,得看防火墙和安全组。小编的习惯是直接用 telnetnc(netcat) 从本地或其他机器测试。

用 telnet

telnet 服务器IP 端口  

比如测试 80 端口:

telnet 1.2.3.4 80  

如果连上了,说明能访问;如果超时,可能是被防火墙或安全组拦了。

用 nc

nc -zv 服务器IP 端口  

比如:

nc -zv 1.2.3.4 22  

也是一样,能连上就说明对外开放。

三、Linux 开放端口命令怎么用?

Linux 本身端口监听和应用程序无关,但通常还要在防火墙里“放行”。下面按常见工具说下:

1. firewalld(CentOS/Rocky 默认)

  • 放行单个端口(如 8080):
    firewall-cmd --permanent --add-port=8080/tcp  
    firewall-cmd --reload  
    
  • 查看已开放端口:
    firewall-cmd --list-ports  
    

2. UFW(Ubuntu 系统常用)

  • 放行端口:
    ufw allow 8080/tcp  
    
  • 查看已放行:
    ufw status  
    

3. iptables(通用防火墙)

  • 开放端口:
    iptables -A INPUT -p tcp --dport 8080 -j ACCEPT  
    
  • 保存规则(Debian/Ubuntu):
    apt install iptables-persistent  
    netfilter-persistent save  
    

    或 CentOS:

    service iptables save  
    

四、小编常用技巧和避坑提醒

小编踩过的最大坑就是:安全组也要记得放行!
尤其在云服务器上(阿里云、腾讯云等),控制台里安全组可能会额外拦截端口。防火墙开了没用,安全组不放行还是白搭。

还有一个小技巧:

  • nmap 扫描自己服务器端口,能一次看哪些端口开着:
    nmap 服务器IP  
    

五、常见问题答疑

1. 为啥我明明开了端口,外网连不上?
检查安全组、云服务商控制台,或者路由器转发设置。

2. Linux 默认开放哪些端口?
默认只开放 SSH(22),其他都得自己配置。

3. 放行 UDP 怎么写?
命令里把 tcp 改成 udp 就行:

ufw allow 1194/udp  

4. firewalld 和 iptables 选哪个?
CentOS7 以后用 firewalld,老版本和特殊场景(Docker 中转等)用 iptables。

5. 怎么把防火墙直接关掉测试?
谨慎

systemctl stop firewalld  
ufw disable  

别长期关,测试完记得开回来。

六、端口排查+放行,一步都别落!

小编想说:端口能不能连上,取决于三个层面——

  • 服务器本地监听
  • 防火墙是否放行
  • 云安全组有没有授权

只要按上面一步步排查,基本都能搞定。别再被“SSH 连不上”、“网页访问超时”折磨了,动手试试吧!

赞(0)
未经允许不得转载;国外VPS测评网 » Linux怎么查看端口是否开放?Linux开放端口命令全攻略
分享到