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


相关推荐
少妇的美梦13 小时前
logstash教程
运维
chen94513 小时前
k8s集群部署vector日志采集器
运维
chen94514 小时前
aws ec2部署harbor,使用s3存储
运维
轻松Ai享生活18 小时前
5 节课深入学习Linux Cgroups
linux
christine-rr18 小时前
linux常用命令(4)——压缩命令
linux·服务器·redis
三坛海会大神55519 小时前
LVS与Keepalived详解(二)LVS负载均衡实现实操
linux·负载均衡·lvs
東雪蓮☆19 小时前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs
qq_2642208919 小时前
LVS负载均衡群集和LVS+Keepalived群集
运维·负载均衡·lvs
乌萨奇也要立志学C++19 小时前
【Linux】进程概念(二):进程查看与 fork 初探
linux·运维·服务器
雨落Liy19 小时前
Nginx 从入门到进阶:反向代理、负载均衡与高性能实战指南
运维·nginx·负载均衡