Windows与Ubuntu网络异常:DHCP失效但静态IP可用求助
排查Ubuntu 16.04 DHCP失效问题(Windows重启后)
我来帮你梳理这个问题的排查思路,结合你描述的场景——给旧设备加内存装了Ubuntu 16.04做文件服务器,用交叉网线连Windows(Windows设静态IPv4),Ubuntu走DHCP模式,之前能正常共享网络,重启Windows后DHCP突然失效,只能用静态IP——咱们一步步来解决:
1. 先确认Windows端的共享网络核心服务
你是靠Windows共享网络给Ubuntu,相当于Windows临时充当了小型DHCP服务器,重启后大概率是相关服务没自动启动:
- 按下
Win+R输入services.msc打开服务管理器 - 找到DHCP Client服务,确认它处于「正在运行」状态,启动类型设为「自动」
- 重点检查**Internet Connection Sharing (ICS)**服务,这是Windows共享网络的核心,同样要确保它运行且启动类型为「自动」
2. 重置Ubuntu的DHCP客户端缓存
有时候DHCP客户端会因为缓存残留或配置异常罢工,在Ubuntu终端执行以下命令:
- 先暂停网络管理器:
sudo service network-manager stop - 清除DHCP缓存:
sudo dhclient -r - 重启网络管理器并重新请求DHCP地址:
sudo service network-manager start && sudo dhclient eth0注意:如果你的网卡不是
eth0,先执行ip addr查看实际网卡名(比如enp0s3),替换上面的命令即可
3. 检查硬件连接状态
虽然之前正常,但重启后可能出现松动:
- 插拔交叉网线,确认两端网卡的指示灯都亮着(通常是绿灯常亮、橙灯闪烁)
- 在Ubuntu上执行
ip link show,查看对应网卡状态是否显示UP - 在Windows命令提示符里输入
ping [你的Ubuntu静态IP],确认物理链路没问题
4. 重新验证Windows的共享网络配置
重启Windows后,ICS的配置可能被重置:
- 打开「网络和共享中心」,找到你用来共享的主网络适配器(比如WiFi或外网有线网卡)
- 右键→属性→共享选项卡,确保勾选「允许其他网络用户通过此计算机的Internet连接来连接」,并且下拉菜单选择你连接Ubuntu的那个网卡
- 确认连接Ubuntu的网卡IPv4是静态IP(比如ICS默认的
192.168.137.1/24网段)
5. 检查Ubuntu的网络配置文件
Ubuntu 16.04用NetworkManager管理网络,可能配置文件被误修改:
- 打开
/etc/network/interfaces,确认配置是:
如果里面有静态IP的配置,注释掉或删除,保存后重启网络服务auto eth0 iface eth0 inet dhcp - 也可以通过图形界面的网络设置,重新选择「自动(DHCP)」模式,应用后再测试
6. 临时用静态IP验证链路(排除硬件问题)
如果DHCP还是不行,先给Ubuntu设同网段的静态IP(比如192.168.137.2/24,网关设为Windows的静态IP),然后ping网关和外网,确认网络链路本身没问题,排除硬件或路由故障
如果以上步骤都试过还是没解决,可以尝试重置Windows的ICS服务:打开管理员权限的命令提示符,输入net stop sharedaccess,再输入net start sharedaccess,之后让Ubuntu重新请求DHCP地址试试。
内容的提问来源于stack exchange,提问作者Ramog




