Linux 如何桥接无线网卡?

如题,我跑一个 QEMU 需要桥接到局域网,只能连 WIFI,怎么进行桥接?网卡已经开启 4addr 模式了,br0 也获取到了 IP,但是虚拟机任然无法联网。

35 Likes

你是有什么具体需求要桥接吗,这玩意我之前折腾过,挺玄学的,到最后我选择用一个host网卡保证上网+一个tap网卡保证虚拟机集群可以互联就满足需求了,不太清楚这样能不能满足你的需求

31 Likes

具体是一个机器只能使用无线网卡 wlp4s0 上网,新建一个 bridge br0 和一个 tap tap0,将 wlp4s0 和 tap0 加入到 br0 中,br0 正常获取到了 IP,机器正常上网,但是使用 tap0 的 qemu 虚拟机无法获取 IP 无法上网。

29 Likes

不是这个意思,你这在说你做了啥,我意思是你一定要qemu通过tap0上网吗,或者是组网环境内存在实体机之类的需要与虚拟机能够直接通过ip沟通的需求,还是只要qemu能上网就行,因为我之前折腾半天最后发现一个虚拟机开两个网卡能满足我的需求,因为我只需要虚拟机上网+虚拟机集群可以互通就可以了,然后并不知道你的需求,我当时按网上的方法一个两个都照着做,什么iptable转发啥的都试过但就是不理想

4 Likes

嗷嗷不好意思,我需要组网环境内存在实体机与虚拟机在一个局域网内,可以直接通信。

2 Likes

主要问题在于,你虚拟机就算想上网的时候,你的路由器收到的仍然是你物理机上的网卡的MAC地址,正常来讲,dhcp是不会给一个MAC地址同时分配两个ip的,所以比较难搞

3 Likes

macvlan 可以做到不同的 MAC 地址

3 Likes

没有多网口吗?

3 Likes

是的没有

1 Like

我记得是说无线协议的问题,看别人的文章说是开启 4addr 模式然后按常规桥接就可以了

1 Like

也有说法是AP也需要配置能够接收4addr的帧,具体我不太清楚,反正现在肯定dhcp不通过,你可以找找有什么解决方案,不然试试静态ip啥的

1 Like

静态 IP 试过了,也不通,不光光是没 DHCP,是链路整个就不通,很奇怪

试试tshark抓包看看流量分析一下?

1 Like

我下班看看,奇怪死了