Ubuntu 服务器无法 ping 通网站域名的问题解决备忘 ——通常与网络配置有关(DNS解析)

政安晨的个人主页:************政安晨****************

欢迎 👍点赞✍评论⭐收藏

希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正!

目录

一、基础排查:确认网络接口状态

二、检查路由配置(网关是否正确)

[三、排查 DNS 解析问题](#三、排查 DNS 解析问题)

[四、检查防火墙是否阻止 ICMP(ping)](#四、检查防火墙是否阻止 ICMP(ping))

五、进一步测试:排除域名解析外的问题

总结步骤


我们在调试AI服务框架的过程中,难免遇到点网络问题,在这个问题中,服务器无法Ping通如www.baidu.com等网站,排查及解决办法如下:

一、基础排查:确认网络接口状态

首先检查服务器是否正确获取了 IP 地址,网络接口是否启用。

查看网络接口状态

执行命令:

复制代码
ip addr  # 或 ifconfig(需安装net-tools)
  • 确认目标网卡(如eth0ens33)是否有inet(IPv4 地址),且状态为UP(如<BROADCAST,MULTICAST,UP,LOWER_UP>)。
  1. 若接口未启用 / 无 IP

    • 临时启用接口:sudo ip link set eth0 up(替换eth0为实际网卡名)
    • 手动获取 IP(DHCP):sudo dhclient eth0
    • 或手动配置静态 IP(编辑/etc/netplan/*.yaml,具体参考 Ubuntu 版本的网络配置文档)。

二、检查路由配置(网关是否正确)

若网络接口正常但无法访问外部,可能是默认网关未配置。

查看路由表

执行命令:

复制代码
ip route  # 或 route -n
  • 检查是否有default via x.x.x.x(默认网关),x.x.x.x应为网关 IP(如路由器 / 网关地址)。

若缺少默认网关

临时添加网关(替换192.168.1.1为实际网关 IP):

复制代码
sudo ip route add default via 192.168.1.1 dev eth0
  • 永久生效需配置网络文件(如netplan/etc/network/interfaces,依 Ubuntu 版本而定)。

三、排查 DNS 解析问题

ping www.baidu.com需要先通过 DNS 解析域名到 IP,若解析失败会直接不通。

测试 DNS 解析

执行命令:

复制代码
nslookup www.baidu.com  # 或 dig www.baidu.com
  • 若显示** server can't find www.baidu.com: NXDOMAIN,说明 DNS 解析失败。

配置正确的 DNS 服务器

编辑 DNS 配置文件(Ubuntu 20.04 + 通常用systemd-resolved,旧版本可能直接编辑/etc/resolv.conf):

  • 临时生效:直接修改/etc/resolv.conf(注意:部分系统可能被systemd-resolved覆盖):

    sudo vim /etc/resolv.conf

添加国内常用 DNS(如):

复制代码
nameserver 114.114.114.114  # 国内DNS
nameserver 8.8.8.8          # Google DNS(备用)

永久生效(Ubuntu 20.04 + 用 netplan):

编辑/etc/netplan/00-installer-config.yaml(文件名可能不同),在ethernets下添加:

复制代码
ethernets:
  eth0:  # 替换为实际网卡名
    nameservers:
      addresses: [114.114.114.114, 8.8.8.8]

应用配置:sudo netplan apply

四、检查防火墙是否阻止 ICMP(ping)

Ubuntu 的防火墙(如ufwiptables)可能默认禁止 ICMP 协议(ping 依赖 ICMP)。

查看防火墙状态

  • 若用ufw

    sudo ufw status

若用iptables

复制代码
sudo iptables -L | grep ICMP

允许 ICMP(ping)通过

  • ufw允许 ping:

    sudo ufw allow in proto icmp --icmp-type echo-request # 允许入站ping
    sudo ufw allow out proto icmp --icmp-type echo-reply # 允许出站ping回复

iptables允许 ping(临时生效):

复制代码
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
  • 永久生效需保存 iptables 规则(如iptables-save > /etc/iptables/rules.v4,依系统而定)。

五、进一步测试:排除域名解析外的问题

若上述步骤无效,测试直接 ping 百度的 IP(绕开 DNS),判断是否为网络连通性问题:

ping 百度 IP

百度的 IP 之一为180.101.50.242(可通过其他设备查询):

复制代码
ping 180.101.50.242
  • 若能 ping 通:确认是 DNS 解析问题(回到步骤三)。
  • 若仍不通:可能是网关、路由或上游网络(如机房 / 运营商)限制,需联系网络管理员。

总结步骤

  1. 确认网络接口启用且有 IP;
  2. 检查默认网关是否配置;
  3. 测试 DNS 解析并配置正确 DNS;
  4. 检查防火墙是否允许 ICMP;
  5. 直接 ping IP 排查网络连通性。

按以上步骤逐步排查,通常能解决大部分 ping 不通的问题。


相关推荐
invicinble1 小时前
对linux形成认识
linux·运维·服务器
小Pawn爷1 小时前
14.VMmare安装ubuntu
linux·运维·ubuntu
技术路上的探险家1 小时前
8 卡 V100 服务器:基于 vLLM 的 Qwen 大模型高效部署实战
运维·服务器·语言模型
有谁看见我的剑了?2 小时前
介绍一款 测试 DNS解析成功率的网站
运维
半桔2 小时前
【IO多路转接】高并发服务器实战:Reactor 框架与 Epoll 机制的封装与设计逻辑
linux·运维·服务器·c++·io
绵绵细雨中的乡音2 小时前
深入理解 ET 与 LT 模式及其在 Reactor 模型中的应用
服务器·网络·php
engchina2 小时前
WSL Ubuntu で Kubernetes v1.34.2 + Docker 環境を構築する
ubuntu·docker·kubernetes
HABuo2 小时前
【linux文件系统】磁盘结构&文件系统详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
Howrun7773 小时前
关于Linux服务器的协作问题
linux·运维·服务器
小白同学_C3 小时前
Lab3-page tables && MIT6.1810操作系统工程【持续更新】
linux·c/c++·操作系统os