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


相关推荐
6v6-博客1 小时前
P2P 远程桌面工具|免费开源内网穿透远程软件
运维·服务器
deeper_wind1 小时前
k8s-容器化部署论坛和商城服务(小白的“升级打怪”成长之路)
linux·运维·容器·kubernetes
勇往直前plus1 小时前
VMware centos磁盘容量扩容教程
linux·运维·centos
qq_441996053 小时前
SSH 反向隧道:快速解决服务器网络限制
服务器·网络·ssh
007php0074 小时前
Jenkins+docker 微服务实现自动化部署安装和部署过程
运维·数据库·git·docker·微服务·自动化·jenkins
路溪非溪4 小时前
嵌入式Linux驱动开发杂项总结
linux·运维·驱动开发
2501_920047034 小时前
nginx-限速-限制并发连接数-限制请求数
运维·nginx
Neolock5 小时前
Linux应急响应一般思路(三)
linux·web安全·应急响应
RainbowJie15 小时前
Gemini CLI 与 MCP 服务器:释放本地工具的强大潜力
java·服务器·spring boot·后端·python·单元测试·maven