You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu虚拟机ifconfig显示eth0无wlan0且IP不变问题咨询

虚拟机Ubuntu网络问题解析

为什么看不到wlan0设备?

虚拟机里的Ubuntu不会直接识别宿主机的WiFi硬件,你看到的eth0是虚拟机软件创建的虚拟以太网适配器,它负责虚拟机和宿主机/外部网络的通信——不管宿主机用WiFi还是有线,虚拟机里只会显示这个虚拟网卡,不会出现wlan0。

为什么切换WiFi后eth0的IP不变?

这和你的虚拟机网络模式直接相关:

  • NAT模式:虚拟机的IP由虚拟机软件自带的DHCP服务器分配,属于独立的内部子网(比如192.168.122.x或192.168.2.x),和宿主机WiFi的IP不在同一网段。宿主机相当于路由器做地址转发,所以宿主机切换WiFi时,虚拟机的内网IP不会改变,外部访问需通过宿主机IP+端口映射实现。
  • 桥接模式:如果虚拟机设置了静态IP,即使宿主机切换WiFi,虚拟机的IP也会保持不变;如果是DHCP自动获取,只有当新WiFi的DHCP服务器分配同网段IP时才会不变,否则会更新——但很多时候虚拟机的DHCP租期较长,短时间内切换可能不会立刻变动。

而Windows是直接使用物理WiFi网卡,每次切换不同WiFi网络,都会从对应WiFi的DHCP服务器获取新IP,所以IP会变化,和虚拟机的虚拟网卡逻辑完全不同。

解决MQTT broker连接问题的建议

如果要让外部传感器访问Ubuntu上的MQTT broker,可按以下方式调整:

  • 切换虚拟机网络为桥接模式:让虚拟机直接接入宿主机所在的WiFi网络,获取同网段IP,传感器和宿主机处于同一网络时就能直接访问虚拟机的IP+MQTT端口(默认1883)。
  • 若使用NAT模式:在虚拟机软件的网络设置里配置端口转发,将宿主机的某个端口(比如18830)映射到虚拟机的1883端口,传感器访问宿主机的WiFi IP+18830端口即可。
  • 检查Ubuntu防火墙:执行sudo ufw allow 1883开放MQTT默认端口,避免连接被拦截。

内容的提问来源于stack exchange,提问作者Kismat Pipaliya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 00:20:44