首页主机资讯ubuntu进程网络连接问题怎么排查

ubuntu进程网络连接问题怎么排查

时间2025-12-04 18:34:03发布访客分类主机资讯浏览406
导读:Ubuntu 进程网络连接排查手册 一 定位到具体进程与连接 按进程名或 PID 查连接与监听端口: 查看所有连接并筛选进程名:sudo ss -tulpen | grep <进程名或PID> 仅看监听端口:ss -ltnp...

Ubuntu 进程网络连接排查手册

一 定位到具体进程与连接

  • 按进程名或 PID 查连接与监听端口:
    • 查看所有连接并筛选进程名:sudo ss -tulpen | grep < 进程名或PID>
    • 仅看监听端口:ss -ltnp | grep < 进程名或PID>
    • 兼容旧环境:netstat -tulpen | grep < 进程名或PID>
  • 快速确认进程是否存在与运行状态:ps -fp ;必要时用 lsof -Pan -p 查看该进程打开的所有套接字与对端信息。
  • 若服务是容器/虚拟化运行,先确认宿主机与容器的网络命名空间对应关系(如 docker inspect、podman inspect、nsenter)。

二 从“进程→本机→对端”三层连通性验证

  • 进程层:确认应用实际监听的地址与端口(0.0.0.0 表示所有地址,127.0.0.1 仅本机)。
  • 本机层:
    • 接口与地址:ip a;确保网卡处于 UP 且有有效 IP
    • 路由可达:ip route;确认存在 default 路由或通过 网关IP 可达目标网段。
    • 连通性测试:
      • 先 ping 网关(先拿到网关:ip route | grep default)。
      • 再 ping 外部地址(如 8.8.8.8)验证出网。
      • 路径跟踪:tracepath 或 mtr < 目标IP/域名> 定位在哪一跳异常。
  • 对端/服务层:
    • 端口可达:nc -vz < 目标IP或域名> < 端口> 或 curl -v telnet://< 目标IP或域名> :< 端口> 。
    • 本机到本机回环:curl -v http://127.0.0.1:< 端口> 验证服务是否监听正确地址。
    • DNS 解析:nslookup/dig < 域名> ;若域名不通而 IP 通,多为 DNS 问题。

三 常见故障点与修复动作

  • 防火墙/安全组拦截:
    • 查看状态:sudo ufw status;必要时临时放行测试:sudo ufw allow < 端口> /tcp 或 sudo ufw disable(测试后恢复)。
  • 服务未监听或监听错地址:
    • 修正配置让服务监听 0.0.0.0:端口 或正确的 网卡IP,重启服务后再次 ss -ltnp 验证。
  • 路由缺失:
    • 添加默认路由:sudo ip route add default via < 网关IP> ;持久化配置请写入 Netplan 或接口配置文件。
  • DHCP/地址获取失败:
    • 重新获取地址:sudo dhclient -v < 接口名> ;检查 NetworkManager 是否正常运行。
  • DNS 配置错误:
    • 查看 /etc/resolv.conf;临时写入 nameserver 8.8.8.8 测试;生产环境建议写入 Netplan 或使用 NetworkManager 的 DNS 配置。
  • 虚拟机网络模式不当:
    • NAT 通常可直接上网;桥接 需与主机同网段并可从外部访问;必要时在 VMware/VirtualBox 中切换模式重试。

四 系统与服务状态快速核查

  • 网络管理服务:
    • NetworkManager:systemctl status NetworkManager;异常时 sudo systemctl restart NetworkManager。
    • 服务器版常见 Netplan:/etc/netplan/*.yaml;修改后 sudo netplan apply(必要时 sudo netplan --debug generate)。
  • 日志与内核消息:
    • 系统日志:journalctl -xe;内核与网络:dmesg | grep -i net;综合排错可查 /var/log/syslog。
  • 硬件与驱动:
    • 网卡识别:lspci | grep -i net;驱动与链路状态:sudo lshw -C network、ethtool < 接口名> ;无线被软屏蔽:rfkill list。

五 一键排查命令清单示例

  • 定位进程连接:ss -tulpen | grep < 进程名或PID>
  • 接口与地址:ip a
  • 路由与默认网关:ip route
  • 连通性:ping -c 4 < 网关IP> ;ping -c 4 8.8.8.8
  • 路径跟踪:tracepath < 目标IP/域名> 或 mtr < 目标IP/域名>
  • 端口可达:nc -vz < 目标IP或域名> < 端口> 或 curl -v telnet://< 目标IP或域名> :< 端口>
  • 服务与日志:systemctl status NetworkManager;journalctl -xe;dmesg | grep -i net
  • DNS:nslookup/dig < 域名> ;cat /etc/resolv.conf
  • 防火墙:sudo ufw status;测试时 sudo ufw disable(测试后恢复)

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: ubuntu进程网络连接问题怎么排查
本文地址: https://pptw.com/jishu/763786.html
如何预防Linux系统僵尸进程 Ubuntu上SQL Server的数据库迁移方法

游客 回复需填写必要信息