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 [email protected] 連線時,就能連線到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