首页/系统/Linux 运维命令速查/场景:服务监听自查
网络命令82 条

场景:服务监听自查

应用起了但访问不通:从「本机监听 → 本机访问 → 本机防火墙 → 外部访问」四层检查,快速区分应用问题还是网络问题。

Linux 运维命令速查系统更新于 2026-10-13

监听自查是什么

应用启动了但外部访问不通,先不要改配置。按四层顺序逐层验证:本机是否在监听、本机能否访问、本机防火墙是否放行、外部网络与安全组是否可达。每层都有明确的判定依据,逐层排除才能定位到真正的环节。

基本信息

场景服务端口对外不可用的自查
组合工具监听查看、curl 自测、防火墙规则查看、从外部做连通性探测
关键判据监听地址是全网卡还是仅本机
补充层次云平台安全组与上游负载均衡

典型使用场景

  • 上线后自检:发布完成先做四层检查,再交付测试
  • 故障定位:区分应用问题与网络问题,避免在错误方向上反复改配置
  • 安全组核对:本机防火墙已放开但外部不通时,去云控制台核对规则
  • 变更后回归:调整监听地址或防火墙规则后按同一套步骤复测
  • 巡检脚本:把四层检查串成脚本,作为服务健康自检的一部分

逐层检查

逐层检查
ss -tlnp | grep ':8080'                                   # 1. 是否在监听、绑的哪个地址
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080/health   # 2. 本机能否访问
firewall-cmd --list-ports 2>/dev/null || ufw status | grep 8080          # 3. 本机防火墙
nc -zv 10.0.0.5 8080                                      # 4. 从其他机器验证
ss -tlnp | awk '{print $4}' | sort -u                     # 汇总监听地址,快速发现异常绑定

四层判据

层次检查命令典型结论
监听监听查看命令无输出说明进程没起来或没绑定该端口
本机访问本机 curl 探测失败说明应用本身异常或端口不一致
本机防火墙防火墙规则查看未放行则外部必然不通
外部可达从别的机器做连通探测本机通而外部不通,问题在网络或安全组
云平台控制台安全组规则本机全部放开仍不通时必须查这一层
绑定到本机回环地址是本地通、外网不通最常见的原因:监听地址显示为回环地址时必须修改应用的监听配置。
排查顺序固定为从内到外,每一层的结论都能缩小下一层的范围,比反复猜测配置更省时间。
用公网地址做探测可能触发扫描告警,内网验证优先。

易错点

  • 不同发行版的防火墙命令不同(firewalld、ufw、iptables),先确认体系再执行,命令不存在容易误判为没开防火墙
  • 云主机还有安全组这一层,本机没有防火墙但外部不通时应去云控制台核对规则
  • 监听地址绑定到回环时本机探测正常,容易误判服务没问题,必须核对监听输出的本端地址
  • 只在本机测试会漏掉路由与安全组问题,最后一层一定要从其他机器发起验证

数据来源与参考

  • man 8 ss(iproute2 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌