笔记本安装PVE入坑

2个月前 φ合肥 17

昨天的昨天,也就是前天晚上,爆肝到凌晨三点多,我告诉自己再不睡觉,天就要亮了,而且当天还得上班。还好上班一点都没犯困,下班回来,吃过饭就困的不行。

三年前,我买了一款Thinkpad笔记本,当时我们公司时不时还需要考证,都是些没用的证,譬如三级会展设计师,但是可以补助2000块,而且考试也是走走形式。而考试需要带笔记本,甭管好的坏的都行。于是我就买了个二手的。从那以后,我这台电脑就一直在吃灰了,因为我又买了个pad,基本上够用了。最近fnos不是很火嘛,这一看不得了,所有app都给我推这个视频文章之类的。所以我想折腾一下,顺便试试PVE,以前用esxi感觉不错,除了驱动有限制,用起来还是很顺手的,只是后来把我硬盘搞坏掉之后,再也不想用了。或许是我硬盘的问题,不管了。

pve和fnos一样,都是基于Debian开发的,我对Debian的印象还是不错的,我的服务器系统都是用Debian的,就是软件库的版本跟不上,相比之下,Fedora就比较新一些。

那么言归正传只有无线网卡的笔记本怎么安装pve,然后联网呢?

安装是比较顺利的,也很快。起先我以为选择无线网卡就可以像其他主机一样,可以网桥虚拟机,正常的联网呢,但是无线网卡不行。找了很多资料,配置相当复杂。我来总结记录一下。

#需要联网

额,没错,连不上网,还得需要联网,咋弄?还好我有USB网卡,插上之后,笔记本上登录pve的控制台,使用“ip a”命令可以看到你的网卡情况,这时你可以在插拔之间,看到USB网卡的名字。然后

cp /etc/network/interfaces /etc/network/interfaces.bak

备份一下/etc/network/interfaces配置,万一出问题了还能恢复。然后

nano /etc/network/interfaces

编辑配置,加上USB网卡的配置:

auto enxf01e546328eb
iface enxf01e546328eb inet dhcp
#enxf01e546328eb是你网卡名称,一般有线网卡都是en开头的

但是问题来了,我没有USB网卡怎么办?人家说手机USB也能共享网络,这个我没试过可以自行试之。就是将上面配置的网卡名称改成对应的USB即可。譬如:

auto usb0
iface usb0 inet dhcp

#安装无线网卡驱动

我这个没特别安装,或许核心自带驱动,所以跳过此步骤,我就假装我这笔记本无需另外安装网卡驱动。然而就是要特别需要安装BCM4360和RTL88x2bu网卡驱动的可以参考如下文章:

https://www.jianshu.com/p/8c684d11baf0
https://unix.stackexchange.com/questions/175810/how-to-install-broadcom-bcm4360-on-debian-on-macbook-pro

https://blog.csdn.net/lixifun/article/details/125452382

#安装wpasupplicant

apt update && apt install wpasupplicant

因为无线Wi-Fi是使用wpa/wpa2加密的,想连接这种加密的wifi需要wpasupplicant支持。然后修改/etc/network/interfaces文件,添加无线接口配置:

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

然后通过“ifup wlp4s0”命令激活连接WiFi网络。或者重启网络。

service networking restart
systemctl restart networking.service

无意外的话,应该成功连上Wi-Fi了,可以删除/etc/network/interfaces文件中usb0配置了。也可以通过分配的IP地址访问pve的web界面了。通过“ip a”可以查IP。

#安装DHCP服务器

因为无线网卡不能直接网桥,所以虚拟机不能分配到IP,需要安装DHCP服务器分配IP地址。

# 安装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 192.168.0.1, 223.5.5.5;
  option routers 10.3.3.1;
}

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

INTERFACESv4=”vmbr0″

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

#虚拟机访问外网

修改/etc/network/interfaces,设置下网络配置,使用iptables命令添加转发规则,把所有的请求都通过无线网卡转发出去。

auto lo
iface lo inet loopback
# 默认的网络
iface enp4s0 inet manual
# 如果你有有线网络,可能就像这样
auto wlp4s0
iface wlp4s0 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
# pve网桥虚拟网卡vmbr0配置
post-up iptables -t nat -A POSTROUTING -o wlp4s0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -o wlp4s0 -j MASQUERADE
# 转发流量到无线网卡

#打开系统转发的功能

这是最最最关键的一步,前面设置好,WiFi是正常的,虚拟机dhcp也是正常的,但是虚拟机访问不了外面,就是这步的问题。这相当于一个总开关,修改/etc/sysctl.conf把其中net.ipv4.ip_forward=1的注释去掉,然后执行sysctl -p使配置生效。好了,网络都正常了。

但是问题来了,我这192的局域网怎么访问10的局域网呢?

这篇文章里介绍用静态路由的方法。

第一步,在静态路由中添加一条规则,接口填LAN,目标10.3.3.0/24,网关192.168.0.110。这样当路由器下的设备访问10.3.3.0/24时,请求就会到192.168.0.110。
第二步,添加一条iptables规则就好了,还是直接上/etc/network/interfaces文件:

auto lo
iface lo inet loopback

iface enp4s0 inet dhcp

auto wlp4s0
iface wlp4s0 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 wlp4s0 -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 wlp4s0 -j MASQUERADE; iptables -t nat -D POSTROUTING -d 10.3.3.0/24 -o vmbr0 -j MASQUERADE

上面这个方法可以试试,我没试过,因为我的路由器没有静态路由的功能。所以我只能在pve里装了个win系统虚拟机。然后通过内网穿透实现互联。

参考链接:

https://www.jianshu.com/p/8c684d11baf0
https://unix.stackexchange.com/questions/175810/how-to-install-broadcom-bcm4360-on-debian-on-macbook-pro
https://blog.csdn.net/lixifun/article/details/125452382
https://cloud.tencent.com/developer/article/1374873
https://zhuanlan.zhihu.com/p/656652577
https://blog.csdn.net/hg_zhh/article/details/140734289
https://blog.skyju.cc/post/proxmox-ipv4-nat-ipv6/

17 条评论

  1. #1

    这个看着好复杂。。

    我还是用带有有线网卡安装。

  2. #2
    XIGE
    XIGE -@

    前天晚上我折腾事情5点才睡,昨天忙了一天没补觉,昨晚才补上,年龄大了熬夜有些受不了了

    • @XIGE 哇,你也是个狠人啊!现在这个年纪熬夜有些扛不住了

  3. #3

    当初刚工作时,我也买了二手的ThinkPad,它确实可以,到现在都不卡

  4. #4

    一折腾就来精力了~~

    • @obaby 哈哈,感觉就是在找牛角尖钻,是的,别人在钻牛角尖,而我在找牛角尖钻…

  5. #5

    确实牛,无线usb网卡配置。pve,起手就高。
    个人感觉还是整个pci适配的有线网卡估计简单和稳定一点。

  6. #6

    😂 我的小主机到现在都扔着,还开着机,看到这里我去把主机关机了,安装完pve,没安装穿透呢,然后就卡住了,再也没动过。

  7. #7

    小主机pve的教程,现在互联网上一大堆吧!不过硬件才是关键,cpu太拉的话,还是老老实实安装nas系统吧!毕竟也是有虚拟机的。

  8. #8

    很久以前,大概是06年,买了一台神州笔记本,在上面安装vmware,然后建个虚拟机,再虚拟机里再玩地牢围攻之类的,到现在居然已经过去了十八九年了。

    前几天想把一个系统搬迁到办公室,尝试在hyperv里安装debian,但是不知道为什么apt-update总是不行,后来只好换成centos了

  9. #9

    我现在一把年纪了,有时候还是熬夜,心里告诉自己不行不行不能熬夜,但是有时候就是熬夜。

    现在有了办法了,就是吃褪黑素,吃了褪黑素,就不会熬夜了

    • @青木 是的,其实我都困的很,但是就是想折腾一下,到最后还是一事无成。
      年纪大了,熬夜更难受了。
      十几年前的linux系统感觉没有win系统成熟,尤其是源,很多源就是更新不了。