找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 3336|回复: 8

[虚拟机相关] PVE通过USB无线网卡为软路由提供AP服务,不再需要外接硬路由

[复制链接]
发表于 2023-3-22 10:07 | 显示全部楼层 |阅读模式
本帖最后由 xukongyang 于 2023-3-22 11:02 编辑

折腾缘由

软路由的使用中有一个痛点:就是一般都需要外接个硬路由来做AP,软路由给全家使用时到无所谓,因为这时软路由会单独放置到一个地方,然后再通过网线外接个硬路由做AP,离使用者会比较远,眼不见心不烦。但是如果软路由是近场使用,小主机还需要再外接个路由器,不管这个路由器是大是小,都会觉得累赘。因此我到处找参考资料,终于解决了这个问题。



首先说明
这个解决方案依赖于PVE环境!!!如果使用其他虚拟系统例如ESXI又不想切换的请忽略不看!!!
本帖初衷为如下场景使用软路由提供便利
软路由近距离使用(例如公司办公桌上)
折腾软路由时懒得或不想外接硬路由作为AP使用



先说下稳定性问题
我原来也是用的esxi系统,6.7到7.0都用过,稳定性没碰到过问题,然后为了使用外接usb无线网卡做ap,切换成了pve7.3系统,同样的使用场景,稳定性也没碰到过问题(一般也就是正常关机或异常关键后系统能正常启动不),而且pve系统基于linux开发,系统操作自由度更佳。



然后说下兼容性问题
如果要在esxi系统上使用usb无线网卡,要跨过2个难关,首先是esxi要能识别出你使用的usb无线网卡,然后是openwrt系统中要能驱动你使用的无线网卡,难度不是一般的高。而使用pve系统就简单多了,基于开放性的linux运行环境,常见的usb无线网卡都有大佬摸索出使用方法了。


配置原理
现在来说下pve驱动usb无线网卡在软路由环境作为AP使用的大概流程(对网络不太熟悉,只是大概理解):就是在pve系统宿主环境加载好usb无线网卡驱动,然后将usb无线网卡与一个网口桥接(一般也就是管理网口eth0),然后使用hostapd将无线信号发射出去供客户端使用,因为软路由一般都是将wan口之外的网口(包括eth0)都分配给软路由系统(ros或openwrt)使用,那么无线接入usb无线网卡之后,因为无线网卡和eth0桥接了,也获得了软路由系统为eth0分配的网络环境,就达到了通过无线网卡使用软路由上网的目的。

Usb无线网卡推荐
可参考下面这个帖子:
https://c4pr1c3.github.io/cuc-mis/chap0x02/wifi_card_list.html  常见USB无线网卡列表从外形,功能(需支持AP功能),价格,易购买,实际使用效果来看,推荐
Comafast CF-812AC
(芯片RTL88x2bu
这款usb无线网卡,京东购买,价格50元左右。(本来想使用Comfast CF-811AC这款的,因为这款外形更小巧,插在软路由上更不显眼,但是实际使用下来速度不行,就放弃了,Comfast CF-812AC虽然长了一丢丢,略显突兀,但是也不是不能用,而且我觉得外形比上面网页中列出的其他网卡都要好不好:)


Pve系统编译usb无线网卡环境配置
可参考网页
https://lixi.fun/2022/06/24/pve-compile-wireless-8811/PVE 安装和编译 RTL8811 无线网卡
只需要参考搭建编译环境即可。


Pve系统编译安装usb无线网卡Comafast CF-812AC(芯片RTL88x2bu)
参考网页
进行相关操作即可。


Pve系统配置USB无线网卡
参考网页
185-软路由也玩无线接入 Proxmox添加无线网卡当热点

感谢上面这些参考资料的作者,我只是个搬运整合工,抛转引玉,希望能帮助到有需要的人。

问题列表
1.Usb网卡同时只能配置使用一个频段,要么使用5g方式发送无线信号,要么使用2.4g方式发送无线信号。



2楼是实际环境中一些配置文件的参考例子,可参考修改。


 楼主| 发表于 2023-3-22 10:08 | 显示全部楼层
本帖最后由 xukongyang 于 2023-3-22 10:47 编辑

2楼预占,配置文件信息

以下文件内容注意将标红行修改为对应你主机的实际信息。

文件 /etc/network/interface

Interface原始配置文件内容
autolo
ifacelo inet loopback
ifaceenp1s0 inet manual
autovmbr0
ifacevmbr0 inet static
      address 192.168.1.3/24
      gateway 192.168.1.1
      bridge-ports enp1s0
      bridge-stp off
      bridge-fd 0
ifaceenp2s0 inet manual
ifaceenp3s0 inet manual
ifaceenp4s0 inet manual
ifaceenp5s0 inet manual
ifaceenp6s0 inet manual


Interface添加无线网卡后的配置文件内容

autolo
ifacelo inet loopback
auto wlx200db0c5bf50
iface wlx200db0c5bf50 inet manual
autoenp1s0
ifaceenp1s0 inet manual
ifaceenp2s0 inet manual
ifaceenp3s0 inet manual
ifaceenp4s0 inet manual
ifaceenp5s0 inet manual
ifaceenp6s0 inet manual
autovmbr0
ifacevmbr0 inet static
      address 192.168.1.3/24
     bridge-portsenp1s0 wlx200db0c5bf50
      bridge-stp off
      bridge-fd 0
      bridge-vlan-aware yes
      bridge-vids 2-4094
autovmbr1
ifacevmbr1 inet manual
      bridge-ports enp2s0
      bridge-stp off
      bridge-fd 0
autovmbr2
ifacevmbr2 inet manual
      bridge-ports enp3s0
      bridge-stp off
      bridge-fd 0
autovmbr3
ifacevmbr3 inet manual
      bridge-ports enp4s0
      bridge-stp off
      bridge-fd 0
autovmbr4
ifacevmbr4 inet manual
      bridge-ports enp5s0
      bridge-stp off
      bridge-fd 0
autovmbr5
ifacevmbr5 inet manual
      bridge-ports enp6s0
      bridge-stp off
      bridge-fd 0


Hostapd 对5g频段的配置文件例子

将/etc/hostapd/hostapd.conf文件中的内容修改为如下即可。
注意将标红行修改为对应你的实际信息。

###Wireless network name ###
interface=wlx200db0c5bf50
###Set your bridge name ###
bridge=vmbr0
driver=nl80211
ssid=4415-CF812AC
wpa_passphrase=password
#WPA2 only
wpa=2
##Key management algorithms ##
wpa_key_mgmt=WPA-PSK
##Set cipher suites (encryption algorithms) ##
##TKIP = Temporal Key Integrity Protocol
##CCMP = AES in Counter mode with CBC-MAC
wpa_pairwise=TKIP
rsn_pairwise=CCMP
##Shared Key Authentication ##
auth_algs=1
##Accept all MAC address ###
macaddr_acl=0
hw_mode=a
channel=44
#noscan=1
#preamble=1
##IEEE 802.11n
ieee80211n=1
require_ht=1
ht_capab=[HT40+][SHORT-GI-20][SHORT-GI-40][DSSS_CCK-40]
country_code=AU
#ieee80211d=1
##IEEE 802.11n
###IEEE 802.11ac
ieee80211ac=1
require_vht=1
vht_capab=[MAX-MPDU-3895][SHORT-GI-80][SU-BEAMFORMEE]
vht_oper_chwidth=1
vht_oper_centr_freq_seg0_idx=42
basic_rates=6090 120 180 240 360 480 540
disassoc_low_ack=0
###IEEE 802.11ac


Hostapd 对2.4g频段的配置文件例子

###Wireless network name ###
interface=wlx200db0c5bf50
###Set your bridge name ###
bridge=vmbr0
driver=nl80211
#driver=mac80211
###(IN == INDIA, UK == United Kingdom, US == United Stats and so on ) ###
country_code=US
hw_mode=g
channel=11
#使用11,10
###查看cat /sys/kernel/debug/ieee80211/phy0/ht40allow_map 只有11,10等频道使用HT40-###
ssid=4415-CF812AC
wpa_passphrase=password
#WPA2 only
wpa=2
##Key management algorithms ##
wpa_key_mgmt=WPA-PSK
##Set cipher suites (encryption algorithms) ##
##TKIP = Temporal Key Integrity Protocol
##CCMP = AES in Counter mode with CBC-MAC
wpa_pairwise=TKIP
rsn_pairwise=CCMP
##Shared Key Authentication ##
auth_algs=1
##Accept all MAC address ###
macaddr_acl=0
#802.11n
wmm_enabled=1
ieee80211n=1
#ieee80211ac=1
ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40][DSSS_CCK-40][DSSS_CCK-40][DSSS_CCK-40]





回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-22 10:08 | 显示全部楼层
本帖最后由 xukongyang 于 2023-4-5 16:10 编辑

3楼预占,问题解决。

1、启动hostapd服务时,会提示masked错误
先执行 systemctl unmask hostapd 即可。
回复 支持 反对

使用道具 举报

发表于 2023-3-22 10:18 | 显示全部楼层
硬件能识别能驱动,无线网卡与指定lan中任一物理接口桥接,此无线网卡就变成实质上的ap
回复 支持 反对

使用道具 举报

发表于 2023-3-22 15:32 | 显示全部楼层
usb无线网卡当ap信号和带机量不行吧?
回复 支持 反对

使用道具 举报

发表于 2023-6-13 23:09 来自手机 | 显示全部楼层
像我这种复制粘贴级别的竟然看完了,然后就像没看一样?
回复 支持 反对

使用道具 举报

发表于 2023-8-17 20:44 | 显示全部楼层
对于近场使用的确是化繁为简的好方法,思考了
回复 支持 反对

使用道具 举报

发表于 2024-2-10 16:52 | 显示全部楼层
竟然看到了我的被引用了,感动啊
回复 支持 反对

使用道具 举报

发表于 2024-2-10 22:57 | 显示全部楼层
ESXI折腾了好几天,直通了一个USB口,虚拟机安装的openwrt还是没挂载上USB网卡,直通用win系统,usb无线就没问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-29 17:50

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表