PVE 使用无线网卡

需求就是主机离路由器太远,不想用网线连接。本来我以为会很简单,但是配着配着发现真复杂,主要是无法桥接无线网卡,我劝你还是插网线。如果不听劝,那快乐地折腾起来吧。

配置网络环境的命令很多,为了避免复杂,这里所有的配置尽可能地通过修改/etc/network/interfaces来完成,这样可以清楚地看到我们改了什么,所以先备份一下/etc/network/interfaces
驱动网卡的过程需要网络,所以需要有线网卡支持,没有的话通过手机的usb共享网络分享一个,在使用手机的USB共享网络时,直接插电脑上是不会自动配置的,需要在/etc/network/interfaces中添加

auto usb0
iface usb0 inet dhcp

然后重启电脑。

去掉pve的企业软件源,mv /etc/apt/source.list.d/pve-enterprise.list /etc/apt/source.list.d/pve-enterprise.list.bak

在用上无线网卡之前,我们主要通过显示器和键鼠操作命令行界面。

一、驱动网卡

这里以两个网卡为例,其一是BCM943602CS,给黑苹果用的网卡,也是我这台机器上主要用的网卡;其二是RTL8812bu,这个是之前给R2S做无线AP买的USB网卡,型号是CF-812AC,这里只用做安装驱动测试。

开始之前先了解下怎么算驱动成功呢,一个 ip a命令就可以了,如果驱动的话会显示相应的网络接口,否则不显示。

编译之前需要添加pve的内核头文件

# 添加非订阅源
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription
apt update
apt install pve-headers-`uname -r`

1.1 BCM4360

BCM4360的驱动有编译好的,添加non-free源,然后添加无线驱动软件

echo '' /etc/apt/source.list
apt update
apt install broadcom-sta-dkms
modprobe wl

重启下电脑然后使用ip a查看一下,是不是多了一个接口,我这里叫wlp5s0,这样就算驱动成功了。

1.2 RTL88x2bu

RTL88x2bu没有编译好的软件包,只能用源码自己编译了,

apt install git
git clone https://github.com/morrownr/88x2bu-20210702
cd 88x2bu-20210702
bash install-driver.sh
reboot

有的驱动源码中没有提供安装脚本的话,一般情况都是通过make && make install来编译和安装。重启后同样使用ip a确认一下是否驱动成功,我这里是wlx200db046cbe5

二、连接wifi

多数的wifi使用wpa/wpa2加密,想连接这种加密的wifi需要wpasupplicant支持

apt install wpasupplicant

然后修改/etc/network/interfaces文件,添加无线接口配置

auto wlp5s0
iface wlp5s0 inet dhcp
        wpa-ssid 你的wifi名称
        wpa-psk 你的wifi密码

如果成功连上wifi,可以删除/etc/network/interfaces文件中usb0配置了。也可以通过分配的ip地址访问pve的web界面了。

三、请求转发

目前为止,咱们的无线网卡已经可以让pve上网了,但是给虚拟机配置网络的时候只能用虚拟网卡,正常情况下我们将无线网卡的网络桥接给虚拟机就好了,但是桥接无线网卡好像需要网卡支持monitor模式,总之是如何都桥接不成功,那还有一个办法就是使用转发。

开始前,先介绍一下我现在的网络环境,路由器是OpenWRT,子网10.1.1.0/24,给pve分配的地址是10.1.1.3;在pve中新建了一个子网10.3.3.0/24,vmbr0是10.3.3.1,给虚拟机分配的地址是10.3.3.x。

首先,打开系统转发的功能,这相当于一个总开关,修改/etc/sysctl.conf把其中net.ipv4.ip_forward=1的注释去掉,然后执行sysctl -p使配置生效。

3.1 虚拟机访问外网

使用iptables命令添加转发规则,也可以在/etc/network/interfaces文件中配置,这里把所有的请求都通过无线网卡转发出去就可以了,直接附上我的/etc/network/interfaces文件。

auto lo
iface lo inet loopback

iface enp4s0 inet dhcp

auto wlp5s0
iface wlp5s0 inet dhcp
        wpa-ssid xxxx
        wpa-psk xxxxxxxx

auto vmbr0
iface vmbr0 inet static
        address 10.3.3.1/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0

post-up iptables -t nat -A POSTROUTING -o wlp5s0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -o wlp5s0 -j MASQUERADE

重启电脑,目前,桥可以正常上网了,但是当桥和虚拟机连接时虚拟机还是不能上网,因为虚拟机并不知道目前所处网络的环境,必须手动设置ip才能正常上网,所以我们可以给虚拟桥接口配置一个dhcp服务器,这样所有的虚拟机就可以通过dhcp客户端自动获得ip地址了。

3.2 外网访问虚拟机

这就稍微麻烦了,首先,你的路由需要手动配置路由的功能,把所有目的地址是10.3.3.0/24的请求路由到10.1.1.3,然后,在pve中,把请求转发到虚拟网卡。
第一步中,我用的OpenWRT,在网络|路由|静态IPv4路由中添加一条规则,接口填LAN,目标10.3.3.0/24,网关10.1.1.3。这样当路由器下的设备访问10.3.3.0/24时,请求就会到10.1.1.3
第二步,添加一条iptables规则就好了,还是直接上/etc/network/interfaces文件:

auto lo
iface lo inet loopback

iface enp4s0 inet dhcp

auto wlp5s0
iface wlp5s0 inet dhcp
        wpa-ssid xxxx
        wpa-psk xxxxxxxx

auto vmbr0
iface vmbr0 inet static
        address 10.3.3.1/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0

post-up iptables -t nat -A POSTROUTING -o wlp5s0 -j MASQUERADE;iptables -t nat -A POSTROUTING -d 10.3.3.0/24 -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -o wlp5s0 -j MASQUERADE; iptables -t nat -D POSTROUTING -d 10.3.3.0/24 -o vmbr0 -j MASQUERADE

折腾半天突然发现,外网能ping通虚拟机,可以通过浏览器访问网络,但是远程桌面连不上,SSH连不上。。。

四、DHCP服务器

安装dhcp服务器,安装完会自动启动,会有些错误,请忽略,因为咱们还没配置呢。

# 安装dhcp服务器
apt install isc-dhcp-server
# 备份一下默认的配置
mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak

编辑/etc/dhcp/dhcpd.conf文件,填入以下内容新建一个子网,网段和虚拟网桥的网段;dns是我的主路由和一个公共dns;routers 是虚拟网桥的地址,注意虚拟网桥的地址设置为10.3.3.1/24而不是10.3.3.1/32,否则网络不能经过网桥转发。

subnet 10.3.3.0 netmask 255.255.255.0 {
  range 10.3.3.10 10.3.3.99;
  option domain-name-servers 10.1.1.1, 8.8.4.4;
  option routers 10.3.3.1;
}

给vmbr0指定dhcp服务,修改/etc/default/isc-dhcp-server文件如下,

INTERFACESv4=”vmbr0″

使用service isc-dhcp-server restart启动dhcp服务。

五、补充

参考

  1. https://unix.stackexchange.com/questions/175810/how-to-install-broadcom-bcm4360-on-debian-on-macbook-pro
  2. https://blog.csdn.net/lixifun/article/details/125452382
  3. https://cloud.tencent.com/developer/article/1374873
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容