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 不通的问题。


相关推荐
我是小超人-雨石花10 小时前
Jenkins&Robot Framework持续集成
运维·jenkins·ci
wanhengidc12 小时前
云手机的软件核心是什么
运维·服务器·web安全·游戏·智能手机
抛砖者12 小时前
1、Ubuntu上MySQL安装,密码设置,远程访问,端口修改
mysql·ubuntu
芬加达12 小时前
jvm八股
运维·服务器·jvm
小兔薯了12 小时前
11. Linux firewall 防火墙管理
linux·运维·服务器
Linux技术芯13 小时前
浅谈SCSI寻址机制与工作阶段深度解析?
linux
ink@re13 小时前
Docker环境搭建与容器管理实战:从部署到编排的完整指南
运维·docker·容器
RPA机器人就选八爪鱼14 小时前
RPA财务机器人:驱动财务数字化转型的核心引擎
大数据·运维·人工智能·机器人·rpa
☼←安于亥时→❦15 小时前
Linux 系统日志‘/var/log/syslog‘ 和 ‘/var/log/messages‘ 详解
linux
袁气满满~_~15 小时前
Ubuntu下配置PyTorch
linux·pytorch·ubuntu