虚拟机CentOS死活拿不到IP?桥接模式一步踩坑全纪录
虚拟机CentOS DHCP获取不到IP?桥接模式设置详解

装好CentOS,启动网卡,结果ip a里只有孤零零的127.0.0.1,DHCP像睡着了一样,桥接模式图标明明亮着绿灯,却连网关都ping不到——这场景熟不熟?别急着重装系统,九成问题卡在“虚拟机→宿主机→路由器”这条链路上,把下面几个位置挨个对齐,IP立刻蹦出来。
先确认:桥接到底桥了谁
VMware/VirtualBox的桥接下拉框里常有一堆名字:Realtek、Intel、WLAN、Ethernet……选错接口等于白桥。笔记本插着网线却选了Wi-Fi网卡,DHCP请求根本发不到有线交换机,自然收不到回应。关掉虚拟机,进设置→网络→桥接,手动指定当前正在上网的那块物理网卡,别用“自动”,自动经常抽风。
宿主机防火墙:默认阻断虚拟机
Win10/11自带防火墙把“桥接流量”当陌生人,尤其是公共网络位置。控制面板→Windows Defender防火墙→允许应用→勾选“虚拟机平台”和“VMware Bridge Protocol”,点确定后重启宿主机。这一步被无数人忽略,勾与不勾就是能上网与不能上网的区别。
CentOS里网卡没起,DHCP再勤快也白搭

最小化装完的CentOS,默认网卡可能是ens33,但配置文件里ONBOOT=no,系统根本不拉它起来。以root身份:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
把最后一行的no改成yes,保存退出,再
systemctl restart network
如果返回OK却没地址,继续往下。
VMware服务漏启动,桥接成孤岛

宿主机里按Win+R→services.msc,找到“VMware DHCP Service”和“VMware Bridge Protocol”,状态必须是“正在运行”,启动类型设“自动”。这两服务一旦停用,虚拟机发出的DHCP Discover直接掉黑洞,重启服务后别忘把虚拟机也重启,热切换有时不生效。
路由器地址池耗尽,虚拟机成备胎
家用路由默认只发100个地址,手机、电视、平板一拥而上,池子瞬间见底。登录路由器,把DHCP地址池从192.168.1.100-192.168.1.199扩成50-250,保存后顺手把租期调到120分钟,短租期+大池子能让新设备立刻拿到地址。
MAC冲突:克隆系统惹的祸
复制虚拟机时如果选了“保留所有网卡地址”,局域网里会出现两台一模一样的MAC,DHCP服务器直接懵圈。VMware里右键虚拟机→设置→网络适配器→高级→生成新MAC,CentOS里再
rm -f /etc/udev/rules.d/70-persistent-net.rules
重启后系统会重新绑定,冲突消失,地址秒到。
手动指定DHCP参数,强制唤醒
临时救急可以手动发请求:
dhclient -v ens33
如果屏幕刷出DHCPACK from 192.168.x.x,说明链路已通,只是开机没喊这一嗓子。把这条命令写进/etc/rc.d/rc.local,chmod +x给它执行权,以后每次开机自动喊一嗓子,再也不掉线。
仍拿不到?抓包看看到哪一步跪了
宿主机装Wireshark,抓物理网卡,过滤器填bootp。启动虚拟机,正常情况下会先看到Discover,紧接着Offer。如果只出Discover不见Offer,问题在路由器或DHCP服务;如果连Discover都没有,虚拟机→宿主机这段桥接就断了,回头检查前两步。
一条命令验证修复结果
虚拟机里执行:
ip a | grep 'inet ' | grep -v '127.0.0.1'
出现192.168.x.x/24说明大功告成;再
ping -c 3 baidu.com
通了就收工,不通继续抓包,90%的案例走到这一步都已解决。
桥接模式看似只是点一下下拉菜单,背后却牵扯宿主机驱动、系统服务、路由器策略、MAC地址、CentOS配置五条线,任何一条松了,DHCP就装死。按上面顺序逐项排查,十分钟内基本能让CentOS蹦出新鲜IP,下次再遇到虚拟机CentOS DHCP获取不到IP,直接翻这篇笔记,省得半夜抓狂。
