起因是家裡人要看電視,我就把電信幾年前送我的一個IPTV機頂盒給裝上去了,結果發現這B垃圾盒子裡面明明有無線功能但就是不讓你用,送的那根網線又不夠長。 。
差一條能用的網線,所以我就把原本插到Proxmox的網線給這個IPTV盒子用了。現在我的Proxmox就沒網了,咋辦呢。 。
這Proxmox內開了幾個小雞,跑了PLEX平時拿來看小姐姐,還跑了個udp2raw+tinyfecvpn用來搭梯子玩冒險島,還有一堆亂七八糟的東西都在裡面,所以還是得整好才行。 。
突然想到家裡還有一個之前買的USB無線網卡,所以我首先就想到能不能讓小雞的網路直接橋到這個無線網卡上面,配置之後發現這根本就行不通
目前有幾個解決方法:
1.硬體支援WDS,很明顯我這個USB無線網卡不支持,放棄。
2.NAT,配置之後發現這根本不符合我的需求,放棄。
3.ProxyARP,最簡單方便的方法。
這裡記錄一下關於Proxmox ProxyARP的配置,理論上這個配置在Debian10也是可用的。
安裝需要用到的軟體包:
apt -y update apt -y install wpasupplicant parprouted
啟用ipv4轉送:
nano /etc/sysctl.conf
加入下面的配置:
net.ipv4.ip_forward = 1
使其生效:
sysctl -p
proxmox預設不重命名網卡接口,這樣會導致usb無線網卡插上去後wpasupplicant識別不到。
正常情況下應該會顯示wlan0這類介面名,沒有重新命名的話會顯示wlx後面是以mac位址結尾的介面名稱。
要使用wlan0這類介面名稱需要更改grub設定檔:
nano /etc/default/grub
在GRUB_CMDLINE_LINUX_DEFAULT內加入以下配置:
GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 biosdevname=0"
更新grub配置.
接下來編輯interfaces:
nano /etc/network/interfaces
iface eth0 inet manual auto vmbr0 iface vmbr0 inet static address 192.168.0.6 netmask 255.255.255.0 gateway 192.168.0.1 bridge_ports eth0 bridge_stp off bridge_fd 0
必須要這樣改動,剛才配置的net.ifnames=0 biosdevname=0不單單只是重新命名usb無線網路卡介面的名字,有線介面的名字也會一起重新命名。
如果你的原始介面名稱不是enp2s0,依照此規則就可以換算出來:enpXsX = ethX
做完改動之後重開機.
設定wifi連線:
wpa_passphrase ssid password > /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
啟動wpa_supplicant:
systemctl start [email protected] systemctl enable [email protected]
再次編輯interfaces:
iface eth0 inet manual auto vmbr0 iface vmbr0 inet static address 192.168.0.6 netmask 255.255.255.0 bridge_ports none auto wlan0 iface wlan0 inet static address 192.168.0.6 netmask 255.255.255.0 gateway 192.168.0.1 post-up /usr/sbin/parprouted vmbr0 wlan0
現在的網路就和之前用有線橋接時是一模一樣的了。配置不需要做任何改動,還是和之前一樣保持預設橋接到vmbr0就行。