我的環(huán)境
- 電腦:win10 22H2(標(biāo)題所稱「主機(jī)」,下稱「電腦」)
- 裝在電腦的 VirtualBox 7.0.8 裡的虛擬機(jī)(下稱「虛擬機(jī)」)
- Endeavour OS
- Firewalld 2.0.0
- KDE Plasma 5.27
- 網(wǎng)路
- Android 手機(jī)透過 USB 線分享 4G 網(wǎng)路給電腦
步驟:
- 到 VirtualBox 設(shè)定 > 網(wǎng)路 > 進(jìn)階
- 「介面卡類型」選「半虛擬化網(wǎng)路 (virtio-net)」,按確定
- (上面的「附加到」用預(yù)設(shè)的「NAT」即可)
- 啟動(dòng)虛擬機(jī)、啟動(dòng)伺服器,看埠號(hào)是多少
- 如 IP 位址是:http://10.0.2.15:5173/
- 則埠號(hào)是 5173
- 到 VirtualBox 設(shè)定 > 網(wǎng)路 > 進(jìn)階 > 連接埠轉(zhuǎn)送,按右上角 ?
- 「客體連接埠」填剛剛的埠號(hào)
- 「客體 IP」不用填
- 「主機(jī)連接埠」也填剛剛的埠號(hào)
- 到電腦的 設(shè)定 > 網(wǎng)路和網(wǎng)際網(wǎng)路 > (左邊)乙太網(wǎng)路 > 選「已連線」的
- 看最下面的「IPv4 位址」(下稱「電腦 IP 位址」)
- 「主機(jī) IP」填這個(gè)值,按確定
- 如果你的虛擬機(jī)內(nèi)沒有防火牆,這時(shí)應(yīng)該可以在電腦及手機(jī)的網(wǎng)頁瀏覽器輸入「電腦 IP 位址:剛剛的埠號(hào)」連上伺服器了
- 例如:192.168.42.49:5173
- 調(diào)整虛擬機(jī)內(nèi)的防火牆
- 用命令的話:(不打 sudo 的話會(huì)有輸入密碼的視窗)
- sudo firewall-cmd --zone=public --add-port 剛剛的埠號(hào)/tcp
- 要永久儲(chǔ)存設(shè)定的話
- sudo firewall-cmd --zone=public --add-port 剛剛的埠號(hào)/tcp --permanent && sudo firewall-cmd --reload
- 用 GUI 的話:
- 按虛擬機(jī)右下方的(KDE Plasma 的)??(顯示隱藏圖示)
- 在「firewall-applet」上按右鍵 >「編輯防火牆設(shè)定」,輸入密碼
- 要永久儲(chǔ)存設(shè)定的話上面的「組態(tài)」選「永久」,並且調(diào)完設(shè)定後要按上方「選項(xiàng)」>「重新載入 Firewalld」才會(huì)生效
- 按中間偏上的「連接埠」,按下面的「加入」
- 輸入剛剛的埠號(hào),按確定
這樣電腦跟手機(jī)就能連上 VirtualBox 虛擬機(jī)裡的網(wǎng)頁伺服器了。
參考資料: