从上次记录我的Homelab架构已超过了半年,本篇具体讲软硬件更新与遇到的问题。
硬件与基础设施
升级万兆内网和配置全屋WIFI
我的服务器和入网设备均放置于地下室,使用一根室内光纤(运营商入网常见)和一根超六类(CAT 6A)屏蔽网线从地下室拉回家里,这两根线均插入希力威视SR-ST3408F万兆交换机。

在家里安装了10G全光交换机TP-LINK ST1008F与绿联75291千兆PoE电交换机,分别插入上来的光纤与网线

光链路设备选择
在家中五个位置预留了同样的光纤到弱电箱。光模块选择了7对HUAWEI LTF2305-BH+ 10G-1270TX/1330RX-10km-SM-eSFP-BBU和HUAWEI LTF3205-BH+ 10G-1330TX/1270RX-10km-SM-eSFP-RRULC单模单芯BIDI模块
此处只有商家图片不宜展示
交换机为上述的TP-LINK ST1008F,非网管
网卡选择了希力威视SR-PT01-82599-F,使用Intel 82599芯片
全屋WIFI设备选择
五个位置也同时预留了相同的超六类网线。选择了PoE交换机(上述)+AP方案,AP选择TP-LINK TL-7AP5102HI-PoE 薄款(方)易展版 ,配置了相同的SSID与密码并开启802.11r
频段调整:
| 位置 | 2.4G | 5G |
|---|---|---|
| 阳台 | 1 | 36 |
| 主卧 | 6 | 149 |
| 次卧 | 11 | 52(DFS) |
| 客厅 | 1 | 157 |
| 书房 | 6 | 44 |
但这款AP的FAT模式仅支持802.11r,并没有802.11k和802.11v,效果并不是很优秀,没有选择AC+AP的原因是购买的TP-LINK TL-R5009PE-AC不支持交换机模式,即使用上级路由DHCP。
更换Proxmox VE 主机硬件
原本使用浪潮SA5212M4机架式服务器,但碍于两台同时工作的噪音和地下室温度,我将其更换为家用硬件和塔式机箱,当时服务重心在另一台戴尔R730XD上,我希望先转移大部分服务,最后将另一台也替换为家用硬件。

硬件列表
CPU: AMD Ryzen Threadripper 3970X
RAM: KINGBANK DDR4 3200 32G x2
GPU: NVIDIA GeForce RTX 3080 LHR
Disk: GreatWall GW3500 1TB & GreatWall GW600 1TB
配置网卡
在更换硬件后由于网卡名称更换,需要重新配置
我的主板有两块板载网卡,需要先找到插入网线的网卡名称:
# 查看所有网卡ip link
找到类似enp…或者eth…的物理网卡,我这里有enp68s0和enp70s0,下一步检查是否有网络接入:
# 使用ethtool检测ethtool enp68s0ethtool enp70s0
Link detected: yes表示有网络接入,下一步修改/etc/network/interfaces
# 编辑配置文件nano /etc/network/interfaces默认是vmbr0桥接物理网卡的,在vmbr0下更改bridge-ports为刚才有链路的网卡名称enp70s0,同样在上面修改iface enp70s0 inet manual
修复Intel 82599网卡问题
更换光网卡后光模块一直是无发光仅收光的状态,先使用命令重启临时使用:
ip link set enp33s0 down && sleep 2 && ip link set enp33s0 up然后允许网卡支持非Intel认证的模块:
echo "options ixgbe allow_unsupported_sfp=1" > /etc/modprobe.d/ixgbe.confupdate-initramfs -u软件服务与网络优化
在以前ESXi中有一台被排除代理的虚拟机,运行大部分的服务,我将这些服务迁移到了单独的LXC上。另外我以前的内网穿透方案是cloudflare tunnel,看到这篇文章Netlify、Vercel反代网站后我更改了部分服务的穿透方案。 我会展示部分服务更改回源方案和迁移的过程。
Umami迁移
我使用Docker安装并使用PostgreSQL,先进入到PostgreSQL容器备份数据库并拷贝:
# umami-db为容器名docker exec -t umami-db pg_dump -U umami umami > umami_backup.sql# 拷贝到另一个服务器scp umami_backup.sql user@new-server:/path复制compose文件到新服务器:
# 编辑compose文件nano docker-compose.yml# 启动容器以初始化数据库docker compose up -d# 删除已有的表docker exec -it umami-db psql -U umami -d umami -c "DROP SCHEMA public CASCADE; CREATE SCHEMA public;"# 关闭Umami容器防止读写数据库docker compose stop umami# 导入备份的sql文件docker exec -i umami-db psql -U umami -d umami < umami_backup.sql# 重启Umamidocker compose start umami使用lucky配置IPv6 DDNS与Acme申请证书并配置反向代理
安装可参考官方文档,这里会使用lucky配置DDNS、Acme申请证书和反向代理,最后达成回源部分也保持https加密
配置DDNS
在WebUI左侧选择动态域名-添加任务,选择对应的DNS托管商,开启{ipv6Addr},选择通过网卡获取,添加同步记录,写入你的域名:

配置Acme
左侧选择SSL/TLS证书,选择添加证书,添加方式选择ACME,选择你的DNS托管商,其他按照提示填写即可:

配置反向代理
左侧选择Web服务,添加Web服务规则,自定义端口,开启TLS(域名会自动匹配刚才的TLS证书),添加子规则,服务类型选择反向代理,前端地址填写对应域名(无需端口),后端地址填写内网Web服务的IP+端口,其余保持默认:

配置Netlify回源
参考上述文章Netlify、Vercel反代网站,注意将url改为https(上面开启了TLS)
评论