Ubuntu 服务器网卡外网IP丢失问题排查与修复记录
站内热度 站内前 4%
11.5万 次浏览
问题背景
在使用Linux服务器进行程序部署时,经常会遇到各种网络连接问题。最近我在工作中遇到一个比较典型的情况:服务器重启后突然无法通过SSH连接,外网也ping不通,但通过VNC却能正常登录。经过一系列排查,最终发现问题出在网卡IP绑定上。我将详细记录这个问题的排查过程和解决方案。
问题现象
服务器出现以下异常情况:
- 无法通过SSH远程连接服务器
- 执行ping命令测试外网连通性失败
- 通过云服务商提供的VNC控制台可以正常登录系统
- 初步检查了DNS设置、防火墙规则、路由表以及云平台网络配置,均未发现明显异常
问题排查过程
首先使用ip a命令检查网络接口配置,
输出结果显示eth0网卡上没有绑定外网IP地址,这解释了为什么无法通过外网访问服务器。
接着尝试通过DHCP自动获取IP地址:
sudo dhclient -v eth0
命令返回如下结果:
bound to 109.115.15.22 -- renewal in 3600 seconds.
这个输出表明:
- 外网IP地址(101.168.25.154)实际上仍然有效
- 问题只是IP地址没有被正确绑定到网卡上
问题解决方案
临时解决方案
强制刷新 DHCP 并重新获取IP进行绑定(临时的):
sudo dhclient -r eth0 # 释放当前 DHCP 租约
sudo dhclient -v eth0 # 重新获取 IP验证网络是否恢复:ping 8.8.8.8
如果能够正常ping通,说明网络连接已恢复。
永久解决方案
为了防止服务器重启后再次出现IP丢失的问题:
不要混用 netplan 和 interfaces网络服务,用本文推荐使用 netplan
netplan 操作步骤:
-
禁用传统
interfaces networking服务:sudo systemctl stop networking sudo systemctl disable networking -
备份并清空
/etc/network/interfaces:sudo mv /etc/network/interfaces /etc/network/interfaces.bak -
配置
netplan:sudo nano /etc/netplan/01-netcfg.yaml写入以下内容(根据你的实际网络参数调整):
完成后,快捷键network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no addresses: [109.115.15.22/24] gateway4: 109.115.15.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]Ctrl + O保存Ctrl + X退出 -
应用配置:
sudo netplan apply
总结
这个案例展示了Ubuntu服务器上一种典型的网络连接问题。通过系统命令排查,我们发现根本原因是网卡没有正确绑定外网IP地址。虽然手动绑定可以临时解决问题,但建议进一步检查系统网络配置,找出IP地址丢失的根本原因,以避免问题再次发生。
相关文档
评论与补充0
有问题或想补充的,写在下面 · 选中正文文字再点「报告错误」会自动引用还没有评论。有疑问、补充,或者发现错字,都可以写在下面。
