5
19
2020
12

桥接无线网卡!

本文来自依云's Blog,转载请注明。

众所周知,大部分无线网卡是不支持桥接操作的。

但是 VirtualBox 就是能,因为它做了特殊处理:来回改 MAC。

那么,我的 LXCnetnsKVM 啥的也想这么玩,成不?

实际上不仅能成,而且 Debian Wiki 还给出了两个方案。方案一是用 ebtables 来回改 MAC。不过我失败了,可能是 ebtables 不支持改完 MAC 再把包发往另外的网络接口吧。

方案二是内核的一个叫 Proxy ARP 的功能。设置起来超级简单:往/proc/sys/net/ipv4/conf/all/proxy_arp里写1,然后给需要的 IP 地址加一条 /32 路由项就可以了。

这方案相比起 VirtualBox 来是非常手动了,也不支持 DHCP 自动配置的 IP 地址,但好歹能用。至少微信备份能用。(火狐的 Wi-Fi 远程调试已经坏掉了,倒是那个「USB 调试」其实只要 adb 连接上就能用,不一定要走 USB 线。)

Category: 网络 | Tags: linux 网络 虚拟机 | Read Count: 165804
櫻川 浅羽 说:
May 19, 2020 07:51:57 PM

我印象裏,如果可以打開無線網卡的監聽模式[^1],橋接無線網卡也是可用的。但雖然是可以聽到其他 MAC 的包,似乎還要在 KVM 裏改點什麼,不是很有印象了。

[^1]: A.K.A radio mode, RFMON

Avatar_small
依云 说:
May 19, 2020 08:27:07 PM

哦,是说搞个 mon0 出来,然后加到网桥上去?我好久没用那个模式了呢。

voydomn 说:
Feb 21, 2023 10:09:46 PM

这个proxy arp方案怎么试都不成功,请问大佬,/proc/sys/net/ipv4/conf/all/proxy_arp是往宿主机里面配?IP地址加一条/32路由项,这个路由项是宿主机里面配route那个,还是配arp的一项记录呢,路由项里面配的是虚拟机的ip?

voydomn 说:
Feb 21, 2023 10:16:39 PM

我参考debian里面的wiki,我的环境如下
virt-manager管理了一个linux虚拟机,ip为192.168.122.64,宿主机ip是192.168.50.104,宿主机是笔记本,只有wifi,没连有线网卡
然后我宿主机:echo 1 > /proc/sys/net/ipv4/conf/all/proxy_arp
ip ro add 192.168.122.64/32 dev wlp114s0,失败了
arp -i wlp114s0 -Ds 192.168.122.64 virbr0,也是失败,不知道哪边卡住了,搜了英文文档和其他资料也每看到特别明细的指导资料,大佬看到了以后帮忙回复下好不

Avatar_small
依云 说:
Feb 22, 2023 04:21:43 PM

应该是 dev virbr0 吧。另外你网段不对。既然是要桥接,你虚拟机的网段当然是跟宿主机一样的。

voydomn 说:
Feb 24, 2023 12:46:02 PM

依云大佬,可算看到你回复了,有没有方便联系你的方式呢?例如邮箱。我还有好些问题要问你呢,现在找你还只能在网上搜"kvm桥接无线网卡"才能找到你

voydomn 说:
Feb 24, 2023 01:00:24 PM

proxyarp的我搞定了,但可能和你的还不一样,我描述下情况是啥
我的发行版是rocky linux
成功的步骤是:
1、创建route模式的虚拟网络,路由到wlp114s0,并且网段配置为宿主机同一网段内的子网段,并在虚拟机用此虚拟网络
2、echo 1 > /proc/sys/net/ipv4/conf/all/proxy_arp
只需这两步就成功了,都不用添加路由项,而且还是动态IP分配的

失败的步骤是:
1、虚拟机用的是nat模式的虚拟网络,网段与宿主机不在同一网段中
2、echo 1 > /proc/sys/net/ipv4/conf/all/proxy_arp
3、添加路由项
4、添加arp记录
3与4操作了都不能成功,可能是nat不在宿主机网段中

莫非你是nat模式的网络配在宿主机网段中,然后开启arp再添加路由项就能成功?并且你的发行版是debian?

voydomn 说:
Feb 24, 2023 01:20:21 PM

然后还有一点我想问的是,我最终目标是在我笔记本装RHEL系的发行版,然后KVM虚拟Windows系统,在虚拟机里面使用一些国内软件,像微信的备份就需要在同一局域网里面,这个问题解决了以后还有一个远程桌面的问题,RHEL8系列有spice和qxl驱动,显卡性能效果好,但RHEL9开始移除了spice和qxl驱动的支持,我现在依旧保持在RHEL8里面,因为没有spice的话就只剩vga驱动了,显卡性能不行

请问你对于远程windows是怎么弄的,用的是debian系?有spice支持的么?或者是rdp+vga,不是rdp+qxl?

voydomn 说:
Feb 24, 2023 03:26:36 PM

确定了下,nat网络模式,哪怕设置为宿主机同一网段下的子网段,开启arp也是不能成功,route网络模式设置子网段就可以

Avatar_small
依云 说:
Feb 25, 2023 11:06:45 AM

啊,我是用的网桥,然后自己配地址啊,虚拟机的 NAT 模式肯定不行啊……

Avatar_small
依云 说:
Feb 25, 2023 11:08:21 AM

E-mail、Google Chat: lilydjwg@gmail.com
Telegram: @lilydjwg
Matrix: @lilydjwg:mozilla.org

还有一些其它不常用、不能及时收到消息通知的联系方式我就不写了。

Avatar_small
依云 说:
Feb 25, 2023 11:10:03 AM

我用的 Arch Linux,有 SPICE 支持,使用的方案是:

-vga none -device qxl-vga,vgamem_mb=32
-display egl-headless,gl=on,rendernode=/dev/dri/renderD128
-spice unix=on,addr="$spice_sock",disable-ticketing=on


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter

| Theme: Aeros 2.0 by TheBuckmaker.com