Promox VE(PVE) 如何联网及使用wifi
pve一个管理虚拟机和容器的平台,由于是开源免费的,被很多小伙伴用来搭建自己的"all in one"主机。我也看过很多相关文章和教程,看着大家玩的不亦乐乎,再看着自己半退役的笔记本,一颗爱折腾的心躁动不已,开搞!
pve有线联网
安装pve系统(用的版本7.3-1)过程还算顺利,和安装普通的windows,ubuntu大同小异(用的是ventoy制作的启动盘,强烈推荐)。顺利进入系统,发现没有网络,连上有线也不行,网上搜了下也没有类似的问题,还是得看pve官方文档。其中,网络配置(Network Configuration)章节有如下描述
官方的这种骚操作一时间让人不知道该怎么吐槽,好在接着给出了解决方案,修改
/etc/network/interfaces文件
auto lo iface lo inet loopback auto eno0 # 改成自己的网卡名称,下同 iface eno0 inet static address 198.51.100.5/29 #改成自己的内网ip, 例: 192.168.31.140/24 gateway 198.51.100.1 #改成自己的路由器网关,例: 192.168.31.1 post-up echo 1 > /proc/sys/net/ipv4/ip_forward post-up echo 1 > /proc/sys/net/ipv4/conf/eno0/proxy_arp auto vmbr0 iface vmbr0 inet static address 203.0.113.17/28 bridge-ports none # 这里修改成none,不桥接 bridge-stp off bridge-fd 0
修改保存后,直接简单粗暴reboot(如果想只是重启网络,官方推荐的是ifupdown2),成功连接上有线网,IP就是配置文件中设置的 192.168.31.140
pve无线联网
到这里,还没无线网什么事,不过有线网有了,搞wifi就方便多了。先查看下各网卡的情况
查询网卡信息
我的笔记本无线网卡是不需要装驱动的,所以列表中直接展示出了无线网卡名称,如果你的网卡列表中没有无线网卡的信息,说明pve系统发现不了你的无线网卡,应该是缺少驱动(我的台式机 微星MAG B660M MORTAR WIFI 主板自带的无线网卡就无法被发现,必须装驱动才可以)。
root@mypve:~# ifup wlp7s0 //激活无线网卡
连接wifi需要wpa-psk格式的密钥,可以通过如下命令生成(如果找不到对应命令,就安装下wpasupplicant)
root@mypve:~# wpa_passphrase "wifi名称" "wifi密码" //下面是输出信息 network={ ssid="wifi名称" #psk="wifi密码" //这句是注释掉的 psk=2c************************76 //生成的psk }
再次编辑配置文件
/etc/network/interfaces
auto lo iface lo inet loopback auto enp6s0 # 改成自己的网卡名称,下同 iface enp6s0 inet manual #下面的无线网卡的配置一定要配置在虚拟网络 vmbr0的前面,否则,流量会先走vmbr0 auto wlp7s0 iface wlp7s0 inet static wpa-ssid wifi名称 # 这里填wifi名称 wpa-psk psk # 这里改成上一步生成的 psk address 192.168.31.252/24 # 改成自己的内网ip gateway 192.168.31.1 # 改成自己的路由器网关 auto vmbr0 iface vmbr0 inet static address 203.0.113.17/28 bridge-ports none # 这里修改成none,不桥接 bridge-stp off bridge-fd 0
修改保存,再次reboot,进入系统,就可以看到无线网卡也有IP,此时就可以拔掉有线网了
虚拟机通过NAT模式联网
接着用另一台在同一网段(和pve电脑连接的同一路由,IP是192.168.31.*)的电脑通过pve自带的后台管理UI连接到pve后台管理服务(
https://192.168.31.252:8006),先安装一个ubuntu测试下网络连接是否正常
注意:必须是https协议的,不要直接输IP,敲回车,会默认http连接,导致连接失败
下载好以后,点击左上角的 “create CT” 按钮
创建完成后,通过UI控制台进入虚拟机ubuntu系统,此时是无法连接网络的,vmbr0网卡既没有桥接,也没有NAT,这是必然的,由于桥接方式一开始就行不通,这次我们需要把vmbr0配置成NAT方式,官网推荐配置如下
我们照葫芦画瓢,把pve系统的(注意不是Ubuntu虚拟的)网络配置文件
/etc/network/interfaces
修改成下面这样
auto lo iface lo inet loopback auto enp6s0 # 有线网卡没有网线,可以不用管了 ifup on the iface enp6s0 inet dhcp auto wlp7s0 iface wlp7s0 inet static wpa-ssid wifi名称 # wifi名称 wpa-psk psk # 之前生成的psk address 192.168.31.252/24 gateway 192.168.31.1 auto vmbr0 iface vmbr0 inet static address 10.10.10.1/24 bridge-ports none bridge-stp off bridge-fd 0 post-up echo 1 > /proc/sys/net/ipv4/ip_forward # 下面两句记得把网卡名称wlp7s0改成自己的 post-up iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o wlp7s0 -j MASQUERADE post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o wlp7s0 -j MASQUERADE
修改保存成功后,直接reboot
通过端口转发直连虚拟机
ubuntu虚拟机可以上网后,又发现一个问题,与pve电脑同一网段的电脑无法直连。这真是一个大问题,看了官方文档也没找到这块,只能网上找大神了。这里要再次感谢B站“嘉哥_来了”几个通宵的研究,帮我解决了直接虚拟机的问题。废话不多说,接着搞!
整体思路就是通过网卡端口转发的方式直连虚拟机,首先在pve系统(注意不是Ubuntu虚拟机)创建一个新文件,名字随便取
/root/iptablesNat.sh
#!/usr/bin/env bash # 这句话的作用就是通过网卡wlp7s0把通过12222端口访问的流量转到IP为10.10.10.3的22端口 # 这样我们通过 ssh -p 12222 root@192.168.31.252 连接时,就能连接到Ubuntu虚拟机了 # 注意修改成自己的网卡名 iptables -t nat -A PREROUTING -i wlp7s0 -p tcp --dport 12222 -j DNAT --to 10.10.10.3:22 # 想转发几个端口就写几个转发语句 192.168.31.252:6666 -> 10.10.10.3:178 iptables -t nat -A PREROUTING -i wlp7s0 -p tcp --dport 6666 -j DNAT --to 10.10.10.3:178
保存后,接着修改pve系统的配置文件
/etc/network/interfaces
auto lo auto lo iface lo inet loopback auto enp6s0 ifup on the iface enp6s0 inet dhcp auto wlp7s0 iface wlp7s0 inet static wpa-ssid wifi名称 # wifi名称 wpa-psk psk # 之前生成的psk address 192.168.31.252/24 gateway 192.168.31.1 auto vmbr0 iface vmbr0 inet static address 10.10.10.1/24 bridge-ports none bridge-stp off bridge-fd 0 post-up echo 1 > /proc/sys/net/ipv4/ip_forward post-up bash /root/iptablesNat.sh # 新增这句,文件就是上面新创建的文件,改成自己的 # 下面两句记得把网卡名称wlp7s0改成自己的 post-up iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o wlp7s0 -j MASQUERADE post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o wlp7s0 -j MASQUERADE
修改保存后,直接reboot,就可以愉快的连接Ubuntu虚拟机了
参考资料:
【Proxmox VE Administration Guide】
https://pve.proxmox.com/pve-docs/pve-admin-guide.html
【Proxmox(pve)使用无线网卡WIFI6-AX210教程-哔哩哔哩】
https://b23.tv/K4Xqecx