V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
coolan
V2EX  ›  OpenWrt

记录关于 openwrt 虚拟机桥接无线网卡做旁路由,除宿主机外其他设备无法上网的原因。

  •  1
     
  •   coolan · 2021-09-21 02:40:58 +08:00 · 2025 次点击
    这是一个创建于 1142 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近有兴趣尝试旁路由,用 hyper-v 桥接无线网卡(允许操作系统共享),把虚拟机 IP 写为网关后,发现所有设备都可以访问 openwrt 配置页面,但本机以外的同 wifi 下设备不能上网。抓包发现只有目的地址为虚拟机 IP 的包进来,目的地址为外网的包都没有。

    经过查证,原因是无线网卡桥接不同于有线,有线桥接时,网卡处于混杂模式,监听所有帧,于是虚拟机可以直接通过物理网卡发出去自己的 mac,网卡仍可以接收到虚拟机 mac 的帧。但是无线网卡不能使用混杂模式,而必须使用真实 mac,所以桥接无线网卡时,系统要进行 mac 地址转换,桥内虚拟机 IP 与 mac 绑定,出桥时统一使用物理无线网卡 mac,回来时根据目的 IP 再修改 mac 为虚拟机 mac 。做网关时,由于数据包的目的 IP 为外网地址,桥无法匹配虚拟机 IP,会自动丢弃这个包,导致连接超时。

    如果使用 vmware,无线网卡直通虚拟机,应该是可以的。

    如果有什么问题,欢迎更正。

    2 条回复    2022-11-29 00:17:41 +08:00
    Vendettar
        1
    Vendettar  
       2022-06-30 15:10:09 +08:00
    请教一下,也就是说台式机 vmware 虚拟 openwrt 可以做旁路由但笔记本电脑不行?因为笔记本电脑是无线网卡?
    markliu2013
        2
    markliu2013  
       2022-11-29 00:17:41 +08:00
    @coolan 我也遇到这个问题了,改了网关和 DNS 后,除了本机可以上网,其他设备均无法上外网。无奈网络知识匮乏,定位不到原因。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1261 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:26 · PVG 07:26 · LAX 15:26 · JFK 18:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.