需求就是主機(jī)離路由器太遠(yuǎn),不想用網(wǎng)線連接砌些。本來我以為會很簡單加匈,但是配著配著發(fā)現(xiàn)真復(fù)雜,主要是無法橋接無線網(wǎng)卡纵东,我勸你還是插網(wǎng)線偎球。如果不聽勸示姿,那快樂地折騰起來吧。
配置網(wǎng)絡(luò)環(huán)境的命令很多岂傲,為了避免復(fù)雜子檀,這里所有的配置盡可能地通過修改/etc/network/interfaces
來完成,這樣可以清楚地看到我們改了什么亩进,所以先備份一下/etc/network/interfaces
缩歪。
驅(qū)動網(wǎng)卡的過程需要網(wǎng)絡(luò),所以需要有線網(wǎng)卡支持习贫,沒有的話通過手機(jī)的usb共享網(wǎng)絡(luò)分享一個千元,在使用手機(jī)的USB共享網(wǎng)絡(luò)時,直接插電腦上是不會自動配置的祟身,需要在/etc/network/interfaces
中添加
auto usb0
iface usb0 inet dhcp
然后重啟電腦物独。
去掉pve的企業(yè)軟件源,mv /etc/apt/source.list.d/pve-enterprise.list /etc/apt/source.list.d/pve-enterprise.list.bak
父款。
在用上無線網(wǎng)卡之前瞻凤,我們主要通過顯示器和鍵鼠操作命令行界面阀参。
一、驅(qū)動網(wǎng)卡
這里以兩個網(wǎng)卡為例杏瞻,其一是BCM943602CS衙荐,給黑蘋果用的網(wǎng)卡,也是我這臺機(jī)器上主要用的網(wǎng)卡砌函;其二是RTL8812bu溜族,這個是之前給R2S做無線AP買的USB網(wǎng)卡,型號是CF-812AC仍劈,這里只用做安裝驅(qū)動測試寡壮。
開始之前先了解下怎么算驅(qū)動成功呢讹弯,一個 ip a
命令就可以了闸婴,如果驅(qū)動的話會顯示相應(yīng)的網(wǎng)絡(luò)接口,否則不顯示降狠。
編譯之前需要添加pve的內(nèi)核頭文件
# 添加非訂閱源
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription
apt update
apt install pve-headers-`uname -r`
1.1 BCM4360
BCM4360的驅(qū)動有編譯好的,添加non-free源否纬,然后添加無線驅(qū)動軟件
echo '' /etc/apt/source.list
apt update
apt install broadcom-sta-dkms
modprobe wl
重啟下電腦然后使用ip a
查看一下蛋褥,是不是多了一個接口,我這里叫wlp5s0
膜廊,這樣就算驅(qū)動成功了爪瓜。
1.2 RTL88x2bu
RTL88x2bu沒有編譯好的軟件包匙瘪,只能用源碼自己編譯了,
apt install git
git clone https://github.com/morrownr/88x2bu-20210702
cd 88x2bu-20210702
bash install-driver.sh
reboot
有的驅(qū)動源碼中沒有提供安裝腳本的話薄货,一般情況都是通過make && make install
來編譯和安裝碍论。重啟后同樣使用ip a
確認(rèn)一下是否驅(qū)動成功,我這里是wlx200db046cbe5
赊瞬。
二贼涩、連接wifi
多數(shù)的wifi使用wpa/wpa2加密,想連接這種加密的wifi需要wpasupplicant
支持
apt install wpasupplicant
然后修改/etc/network/interfaces
文件遥倦,添加無線接口配置
auto wlp5s0
iface wlp5s0 inet dhcp
wpa-ssid 你的wifi名稱
wpa-psk 你的wifi密碼
如果成功連上wifi占锯,可以刪除/etc/network/interfaces
文件中usb0
配置了消略。也可以通過分配的ip地址訪問pve的web界面了瞎抛。
三桐臊、請求轉(zhuǎn)發(fā)
目前為止,咱們的無線網(wǎng)卡已經(jīng)可以讓pve上網(wǎng)了断凶,但是給虛擬機(jī)配置網(wǎng)絡(luò)的時候只能用虛擬網(wǎng)卡,正常情況下我們將無線網(wǎng)卡的網(wǎng)絡(luò)橋接給虛擬機(jī)就好了肿男,但是橋接無線網(wǎng)卡好像需要網(wǎng)卡支持monitor
模式舶沛,總之是如何都橋接不成功,那還有一個辦法就是使用轉(zhuǎn)發(fā)冠王。
開始前舌镶,先介紹一下我現(xiàn)在的網(wǎng)絡(luò)環(huán)境,路由器是OpenWRT哟楷,子網(wǎng)10.1.1.0/24,給pve分配的地址是10.1.1.3卖擅;在pve中新建了一個子網(wǎng)10.3.3.0/24墨技,vmbr0是10.3.3.1,給虛擬機(jī)分配的地址是10.3.3.x断楷。
首先崭别,打開系統(tǒng)轉(zhuǎn)發(fā)的功能恐锣,這相當(dāng)于一個總開關(guān)土榴,修改/etc/sysctl.conf
把其中net.ipv4.ip_forward=1
的注釋去掉响牛,然后執(zhí)行sysctl -p
使配置生效。
3.1 虛擬機(jī)訪問外網(wǎng)
使用iptables命令添加轉(zhuǎn)發(fā)規(guī)則呀打,也可以在/etc/network/interfaces
文件中配置聚磺,這里把所有的請求都通過無線網(wǎng)卡轉(zhuǎn)發(fā)出去就可以了瘫寝,直接附上我的/etc/network/interfaces
文件稠炬。
auto lo
iface lo inet loopback
iface enp4s0 inet dhcp
auto wlp5s0
iface wlp5s0 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 wlp5s0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -o wlp5s0 -j MASQUERADE
重啟電腦,目前暮屡,橋可以正常上網(wǎng)了毅桃,但是當(dāng)橋和虛擬機(jī)連接時虛擬機(jī)還是不能上網(wǎng),因為虛擬機(jī)并不知道目前所處網(wǎng)絡(luò)的環(huán)境莺掠,必須手動設(shè)置ip才能正常上網(wǎng)读宙,所以我們可以給虛擬橋接口配置一個dhcp服務(wù)器,這樣所有的虛擬機(jī)就可以通過dhcp客戶端自動獲得ip地址了唇兑。
3.2 外網(wǎng)訪問虛擬機(jī)
這就稍微麻煩了扎附,首先结耀,你的路由需要手動配置路由的功能针肥,把所有目的地址是10.3.3.0/24的請求路由到10.1.1.3香伴,然后,在pve中具帮,把請求轉(zhuǎn)發(fā)到虛擬網(wǎng)卡蜂厅。
第一步中,我用的OpenWRT掘猿,在網(wǎng)絡(luò)|路由|靜態(tài)IPv4路由中添加一條規(guī)則稠通,接口填LAN
买猖,目標(biāo)10.3.3.0/24
,網(wǎng)關(guān)10.1.1.3
玉控。這樣當(dāng)路由器下的設(shè)備訪問10.3.3.0/24
時,請求就會到10.1.1.3
碌识。
第二步虱而,添加一條iptables規(guī)則就好了,還是直接上/etc/network/interfaces
文件:
auto lo
iface lo inet loopback
iface enp4s0 inet dhcp
auto wlp5s0
iface wlp5s0 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 wlp5s0 -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 wlp5s0 -j MASQUERADE; iptables -t nat -D POSTROUTING -d 10.3.3.0/24 -o vmbr0 -j MASQUERADE
折騰半天突然發(fā)現(xiàn)胖烛,外網(wǎng)能ping通虛擬機(jī)佩番,可以通過瀏覽器訪問網(wǎng)絡(luò)罢杉,但是遠(yuǎn)程桌面連不上,SSH連不上赋秀。。猎莲。
四著洼、DHCP服務(wù)器
安裝dhcp服務(wù)器,安裝完會自動啟動身笤,會有些錯誤液荸,請忽略,因為咱們還沒配置呢伤柄。
# 安裝dhcp服務(wù)器
apt install isc-dhcp-server
# 備份一下默認(rèn)的配置
mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak
編輯/etc/dhcp/dhcpd.conf
文件忍弛,填入以下內(nèi)容新建一個子網(wǎng)细疚,網(wǎng)段和虛擬網(wǎng)橋的網(wǎng)段疯兼;dns是我的主路由和一個公共dns贫途;routers 是虛擬網(wǎng)橋的地址,注意虛擬網(wǎng)橋的地址設(shè)置為10.3.3.1/24
而不是10.3.3.1/32
姨裸,否則網(wǎng)絡(luò)不能經(jīng)過網(wǎng)橋轉(zhuǎn)發(fā)傀缩。
subnet 10.3.3.0 netmask 255.255.255.0 {
range 10.3.3.10 10.3.3.99;
option domain-name-servers 10.1.1.1, 8.8.4.4;
option routers 10.3.3.1;
}
給vmbr0指定dhcp服務(wù),修改/etc/default/isc-dhcp-server
文件如下赡艰,
INTERFACESv4=”vmbr0″
使用service isc-dhcp-server restart
啟動dhcp服務(wù)慷垮。
五、補(bǔ)充
無