如何排查添加新服务器后无法连接的问题_网络延迟、路由追踪与拒绝服务分析

2次阅读

网卡没起来先看ip addr中是否为UP状态;IP异常关注169.254.x.x和子网掩码错配;连不通远端用traceroute定位断点;Connection refused需查ss -tlnp和安全组规则。

网卡没起来?先看 ip addr 输出里有没有 UP 状态

新服务器通不了,八成连物理层都没过——网卡明明插着线,但操作系统根本没识别或没启用。别急着改 ip 或查防火墙,先确认网卡是不是真在工作。

  • 执行 ip addr,找你的主网卡(比如 eth0ens3enp0s3),看状态是不是 UP;如果显示 DOWN,说明网卡被禁用或驱动异常
  • 常见坑:某些云平台(如阿里云/华为云)默认关闭多队列或使用 cloud-init 延迟配置,导致首次启动后网卡未自动 up
  • 临时启用:运行 sudo ip link set eth0 up(替换为实际网卡名),再跑一遍 ip addr 确认
  • 若仍为 DOWN,检查 dmesg | grep -i eth0 是否有驱动加载失败、firmware 缺失等报错

IP 拿不到或拿错?警惕 169.254.x.x 和子网掩码错配

网卡 UP 了,但 ip addr 显示的是 169.254.x.x 这类链路本地地址,说明 DHCP 完全失败——不是“没连上”,而是“连上了却没要到地址”。

  • 169.254.x.x 是系统自动生成的 fallback 地址,意味着 DHCP 请求发出去没人应答,或响应被丢弃(常见于交换机 ACL、VLAN 隔离、DHCP 服务宕机)
  • 手动配静态 IP 时,务必核对三件事:ipnetmaskdefault via(网关)必须同属一个广播域;子网掩码写成 255.255.255.0 却把服务器塞进 10.0.2.0/24 网段,等于直接断联
  • 验证网关可达性:用 ping -c3 192.168.1.1(换成你的真实网关),不通就别试外网——先查交换机端口是否 up、网关本身是否响应 ARP

能 ping 通网关但连不上远端?tracerouteping 更早暴露路由断点

ping 只告诉你“通”或“不通”,而 traceroute 能指出数据包在哪一跳开始消失——是本地策略路由错了?中间防火墙静默丢包?还是目标服务器开了反向路径过滤(rp_filter)?

  • 执行 traceroute -n 8.8.8.8(加 -n 跳过 DNS 解析,避免干扰),观察哪一跳开始出现 * * *
  • 若第一跳(通常是网关)就超时,问题在本地:检查 ip route 是否存在错误的 default 路由,或网关 MAC 地址没解析出来(arp -n | grep 网关IP 看有没有对应条目)
  • 若中途某跳起全超时,可能是该设备启用了 ICMP 限速、ACL 拒绝 traceroute 的 udp/TCP 探针,或策略路由把回程路径搞丢了
  • 云环境特别注意:traceroute 在部分厂商(如 AWS)中可能因安全组默认禁止 ICMP/UDP 而失效,此时改用 telnet 目标IP 端口curl -v http://目标IP 更可靠

连接被拒绝(Connection refused)?重点查 ss -tlnp 和安全组

“无法连接”不等于“网络不通”——TCP 握手能完成但服务不响应,十有八九是目标端口根本没监听,或被中间策略拦在最后一米。

  • 登录服务器后,立刻执行 sudo ss -tlnp | grep :22(把 22 换成你要连的端口),确认服务进程真实在监听,且 StateLISTEN;若无输出,说明 ssh/Web/数据库服务压根没起来
  • 即使本地监听正常,云服务器还有一道关卡:安全组(Security Group)。它工作在虚拟交换机层面,优先级高于系统防火墙。必须确认入站规则明确放行了你的源 IP + 目标端口,哪怕只差一个 /32 也连不上
  • 容易忽略的坑:ss 显示监听 127.0.0.1:3306,但你试图从外部连 0.0.0.0:3306 ——这是绑定地址写死了,得改 mysqlbind-addressredisbind 配置项

真正卡住人的,往往不是某个命令不会敲,而是把“网络不通”当成单一问题去查。物理层、IP 层、传输层、应用层的线索可能同时存在,但日志和命令输出只会给你碎片。盯住 ip addrip routess -tlnp 这三个命令的原始输出,比任何“排查流程图”都管用。

text=ZqhQzanResources