阅读量:3
Debian 进程网络连接排查手册
一、快速定位目标进程与连接
- 确认进程是否在运行并获取 PID:
ps -ef | grep <进程名>或pidof <进程名>。 - 查看该进程打开了哪些网络套接字:
- 简洁列表:
ss -lptun | grep - 详细信息:
lsof -Pan -p-iTCP -sTCP:ESTABLISHED
- 简洁列表:
- 检查监听端口与进程映射:
ss -lntp | column -t或netstat -tulpen | column -t(若未安装,执行apt-get install -y iproute2 lsof net-tools)。 - 若进程是容器/虚拟化内的服务,优先进入对应 namespace 排查(例如
nsenter或容器内的ss/lsof)。
二、从系统到进程的四步连通性验证
- 接口与地址:确认网卡处于 UP 且有有效 IP。
ip addr show或ifconfig -a- 若接口 DOWN:
ip link setup
- 路由与网关:确保存在默认路由。
ip route show或route -n- 缺省路由可临时添加:
ip route add default via <网关IP> dev
- 外部连通性:先 IP 后 域名。
ping -c 4 8.8.8.8(ICMP 可能被禁,不代表业务端口不可用)ping -c 4 www.example.com(若失败,多为 DNS 问题)
- DNS 解析:
cat /etc/resolv.conf;必要时临时写入nameserver 8.8.8.8测试(注意某些系统会动态覆盖该文件,需做持久化)。 - 服务端口可达性:对目标 IP:端口 做直连验证。
nc -vz或<端口> telnet<端口> - 路径追踪:
traceroute(Debian 上可能需要apt-get install -y traceroute)。
三、定位“卡在哪儿”的关键工具
- 抓包定位应用层是否发出/收到数据:
- 本机进程:
tcpdump -ni any -s0 -w /tmp/app.pcap 'tcp port <端口>' - 仅看某进程:
ss -lptun | grep获取 源IP:源端口,然后在tcpdump中过滤src host <源IP> and src port <源端口> - 服务端抓包(若可控):
tcpdump -ni-s0 'tcp port <端口>'
- 本机进程:
- 查看内核与驱动层线索:
- 接口错误/丢包:
ifconfig或ip -s link show(关注 errors/dropped) - 网卡协商与速率:
ethtool(关注 Speed/Duplex/Auto-negotiation)
- 接口错误/丢包:
- 路由与邻居表:
- 路由:
ip route get <目标IP> from <源IP> - ARP:
ip neigh show
- 路由:
- 防火墙与策略路由:
sudo ufw status(UFW)或sudo iptables -S(iptables)- 容器/云环境注意 安全组/NACL 与主机防火墙叠加效应。
四、常见症状与对应处理
| 症状 | 快速判断 | 处理要点 |
|---|---|---|
| 进程端口未监听 | `ss -lntp | grep <端口>` 无输出 |
| 能 ping 通网关与 8.8.8.8,域名访问失败 | nslookup/dig 失败 |
修正 /etc/resolv.conf 的 nameserver;检查 resolvconf/NetworkManager 是否覆盖;做 DNS 连通性测试 |
| 连接超时或拒绝 | nc/telnet 到目标 IP:端口 失败 |
服务端进程/端口是否存活;本机/对端 iptables 与云安全组是否放行;抓包确认是否发出 SYN 以及是否收到 SYN-ACK/RST |
| 偶发丢包/高延迟 | ifconfig/ip -s link 显示 dropped/errors |
检查 双工/速率 协商、网线/交换机端口、链路质量;必要时更换网线/端口或固定速率 |
| 本机监听正常但外部访问不了 | ss -lntp 可见监听,外部不通 |
云主机安全组/本机防火墙未放行;服务仅绑定 127.0.0.1;路由/NAT/端口转发配置问题 |
| 应用报 UnknownHostException | 域名解析失败 | 更换 DNS、检查 /etc/resolv.conf 是否被覆盖、验证域名拼写与 DNS 记录 |
| 应用报 ConnectException/超时 | 连接被拒绝或长时间无响应 | 用 nc/telnet 复现;检查目标进程与端口、对端防火墙、网络路径(traceroute)、必要时抓包分析握手过程 |
| 以上症状与处理要点可结合系统命令与日志快速验证与修复,涉及 DNS、路由、防火墙、抓包 等关键环节。 |
五、网络配置与服务状态核查
- 网络管理服务状态:
sudo systemctl status NetworkManager(或networking)- 未运行则启动:
sudo systemctl start NetworkManager && sudo systemctl enable NetworkManager
- 接口与地址配置:
- 查看:
ip addr show - 启用接口:
ip link setup - 重新获取 DHCP:
sudo dhclient
- 查看:
- 路由与网关:
- 查看:
ip route show - 临时添加默认网关:
ip route add default via <网关IP> dev
- 查看:
- DNS 配置:
- 查看:
cat /etc/resolv.conf - 临时写入:
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf(注意持久化方式)
- 查看:
- 日志与内核消息:
- 系统日志:
journalctl -u NetworkManager -b或tail -f /var/log/syslog - 内核/驱动:
dmesg | grep -i。
- 系统日志:
以上就是关于“Debian进程网络连接问题怎么排查”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm