banner
Kerronex

Kerronex

兴趣使然,一个随手记笔记本

當我決定入手一台小主機

當然是拿來做 All in boom 了,
PVE + OpenWrt + 黑群暉 DSM + Windwos10 + Ubuntu + Docker + HAOS
並且亡命之徒直接上 RAID0!!

安裝 PVE#

官网下载 ISO 镜像,我使用 Ventoy 来进行引导,也可以通过写盘工具直接把 ISO 写到 U 盘,这里最开始我卡 loading,原因是 Ventoy 的版本太老了,升级一下就正常了(不需要格盘)。

安裝 PVE 的教程很多,也沒什麼注意的點,IP 只要寫對就沒啥問題。

參考視頻: 利用 PVE 虛擬機,來打造屬於自己的 All In One 系統吧!

PVE 裝完後的兩個比較好用的工具:

https://bbs.x86pi.cn/thread?topicId=20

https://github.com/ivanhao/pvetools
就是改個源,去除個訂閱提示,硬盤直通可以使用 pvetools。

關於標記:點數據中心 - 選項 - 標記樣式設定 - 完整;然後去每個節點上最上面一欄加標記即可。

OpenWrt#

軟路由還是建議安裝一下,但是不推薦主力使用,做一個旁路網關就好,例如安裝魔法後解決後面 Docker 拉不到鏡像等問題。

軟路由推薦不良林的視頻,說的很清楚:https://youtu.be/JfSJmPFiL_s?si=09dZqcEKDu1anurs

下載固件:https://firmware-selector.immortalwrt.org/?version=23.05.4&target=x86%2F64&id=generic ,建議選擇 COMBINED-EFI (SQUASHFS-COMBINED-EFI.IMG.GZ)。

上傳鏡像,然後使用命令:qm importdisk 100 /var/lib/vz/template/iso/openwrt.img local-lvm 導入到虛擬機。

安裝魔法三件套,openClash、homeProxy、passwall

網卡半虛擬化不行的話就切回 E1000 。

經過測速,起碼 PVE8 是不需要 img2kvm 這個工具了,直接 qm 命令導入即可,一般情況下 2 核 1G 的配置夠用了。

不過到現在我也還是沒搞明白 OpenWrt,還是挺複雜的,後面再研究吧,現在網卡都讓我刪沒了。。。


安裝 DDNS-Go 配合路由器的端口轉發可以實現外網訪問,需要一個域名、光貓是橋接,有公網 IP。

DSM#

採用的是 GXNAS 的引導文件,或者可以看看著名的原生 RR 引導,復活版的哦 https://github.com/RROrg/rr

GXNAS 大佬的鏡像直接是支持虛擬網卡的,所以直接選半虛擬化就行,性能更好。

作為 All in boom,我這裡當然選的是 RAID0,直接拉滿,數據安全什麼的全靠我定期冷備份。

Windows/Linux#

我這裡裝的是 Win10 LTSC,Win11 有點複雜,要開 UEFI + TPM,還要登錄微軟賬號,就不想搞的那麼複雜。

PS:目前最新的 Win11 優化的也很到位了 2G 內存跑輕度任務都是很流暢的。

VirtIO 驅動鏡像可以通過訪問頁面找到download the latest stable 點擊下載,詳情移步 https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers

Win 一般肯定是通過遠程桌面使用,在計算機右鍵屬性裡打開即可,就可以使用 mstsc 進行連接了;Win10 的 LTSC 剛裝上可能會導致風扇狂轉,這是一個 bug,更新下系統重啟後就好了。


Linux 沒啥可以說的很簡單,一路下一步和實體機沒區別,我裝了個 Ubuntu Server。
Docker 安裝可以使用 [一鍵腳本](bash <(curl -sSL https://linuxmirrors.cn/docker.sh)) ,換源也有類似的 [一鍵換源腳本](bash <(curl -sSL https://linuxmirrors.cn/main.sh))。

需要允許遠程登錄的話修改 /etc/ssh/sshd_configPermitRootLogin prohibit-password 改為 PermitRootLogin yes 然後重啟服務 service ssh restart

Docker#

這裡我選擇使用 LXC 來創建一個 Docker,首先要下載一個 CT 模板,我使用的是 Ubuntu 的,因為要使用 DockerHub 這裡網關使用前面 OpenWrt 的;一定要去掉五特權容器的勾;完成後去選項裡面把功能裡的嵌套之類全勾上。

需要注意的是,LXC 虛擬雖然效率高但是不是完全的虛擬,還是會共用宿主機的一些東西或者有限制,所以 Linux 我沒用 LXC,Docker 的話感覺還是可以的。

為了保證 Docker 可以啟動,需要在 PVE 修改一下對應 LXC 的配置,在 /etc/pve/lxc/{CTID}.conf 中加入:

lxc.apparmor.profile: unconfined  
lxc.cgroup.devices.allow: a  
lxc.cap.drop:  

大部分情況下 Docker 是可以正常運行了。

使用快捷指令 bash <(curl -sSL https://linuxmirrors.cn/docker.sh) 安裝 Docker,源就不換了。

安裝完畢後先裝一個 portainer:

docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data outlovecn/portainer-cn:latest  

服務推薦:跑一個 speedtest 測速下局域網的網速,或者使用 iperf3 也可以。

HAOS#

建議使用冬瓜 HAOS,直接使用 PE 版本的 ISO,一鍵安裝。

還沒時間仔細研究,一些插件:

Tailscale#

最開始是想裝到 Docker 裡的,沒發現特別好的文章,也不想自己搞了,後來看很多都是裝 OpenWrt,有大部分是愛快裡裝的,比較簡單,但是顯然不適合我,但是有兩個項目感覺不錯:

不過很可惜的是裝完我能登錄,但是配置的子網路由無效,大概可能是和我 OpenWrt 前面折騰刪掉網口有關,最後還是放棄;

最終採用了這位大佬 的方案,使用 LXC 來安裝,和之前配置 Docker 一樣,需要在 /etc/pve/lxc/{CTID}.conf 文件中加入開啟 TUN:

# 這個 10 200 可以通過在 pve 上執行 ls -al /dev/net/tun 獲得,一般都是 10 200  
lxc.cgroup2.devices.allow: c 10:200 rwm  
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file  

還需要在 LXC 中的 /etc/sysctl.conf 開啟轉發:

net.ipv4.ip_forward=1  
net.ipv6.conf.all.forwarding=1  

# 執行生效  
# sysctl -p /etc/sysctl.conf  

然後使用官方的腳本安裝:curl -fsSL https://tailscale.com/install.sh | sh

執行 tailscale up --authkey=xxxxx --accept-routes --advertise-routes=192.168.0.0/24 開啟,記得換成自己的網段和 authkey。

配置自動啟動:

使用 systemd 來進行開啟自啟。在 /etc/systemd/system 下新建一個配置文件: tailscale.service, 文件內容如下:

Description=AutoStart tailscale  
   After=tailscale.service  
Requires=tailscale.service  
   [Service]  
   Type=oneshot  
   ExecStart=/usr/bin/tailscale up --authkey=你的authKey --accept-routes --advertise-routes=你的轉發範圍  
   ExecStop=/usr/bin/tailscale down  
   RemainAfterExit=yes  
   Restart=on-failure  
   [Install]  
   WantedBy=multi-user.target  

然後執行如下命令:

systemctl enable tailscale.service  
systemctl start tailscale.service  

LXC#

修改 LXC 的主機名:

/var/lib/lxc/容器的id編號/config  
/etc/pve/lxc/容器的id編號.conf  

只修改後面這個文件也可以,建議都改。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。