前往
大廳
主題

讓主機及同區網內的手機連上 VirtualBox 虛擬機裡的網頁伺服器

_ | 2023-07-25 18:35:43 | 巴幣 0 | 人氣 323

我的環境
  • 電腦:win10 22H2(標題所稱「主機」,下稱「電腦」)
  • 裝在電腦的 VirtualBox 7.0.8 裡的虛擬機(下稱「虛擬機」)
    • Endeavour OS
    • Firewalld 2.0.0
    • KDE Plasma 5.27
  • 網路
    • Android 手機透過 USB 線分享 4G 網路給電腦

步驟:
  1. 到 VirtualBox 設定 > 網路 > 進階
    • 「介面卡類型」選「半虛擬化網路 (virtio-net)」,按確定
    • (上面的「附加到」用預設的「NAT」即可)
  2. 啟動虛擬機、啟動伺服器,看埠號是多少
    • 如 IP 位址是:http://10.0.2.15:5173/
      • 則埠號是 5173
  3. 到 VirtualBox 設定 > 網路 > 進階 > 連接埠轉送,按右上角 ➕
    1. 「客體連接埠」填剛剛的埠號
    2. 「客體 IP」不用填
    3. 「主機連接埠」也填剛剛的埠號
    4. 到電腦的 設定 > 網路和網際網路 > (左邊)乙太網路 > 選「已連線」的
      1. 看最下面的「IPv4 位址」(下稱「電腦 IP 位址」)
      2. 「主機 IP」填這個值,按確定
  4. 如果你的虛擬機內沒有防火牆,這時應該可以在電腦及手機的網頁瀏覽器輸入「電腦 IP 位址:剛剛的埠號」連上伺服器了
    • 例如:192.168.42.49:5173
  5. 調整虛擬機內的防火牆
    • 用命令的話:(不打 sudo 的話會有輸入密碼的視窗)
      • sudo firewall-cmd --zone=public --add-port 剛剛的埠號/tcp
      • 要永久儲存設定的話
        • sudo firewall-cmd --zone=public --add-port 剛剛的埠號/tcp --permanent && sudo firewall-cmd --reload
    • 用 GUI 的話:
      1. 按虛擬機右下方的(KDE Plasma 的)🔼(顯示隱藏圖示)
      2. 在「firewall-applet」上按右鍵 >「編輯防火牆設定」,輸入密碼
      3. 要永久儲存設定的話上面的「組態」選「永久」,並且調完設定後要按上方「選項」>「重新載入 Firewalld」才會生效
      4. 按中間偏上的「連接埠」,按下面的「加入」
      5. 輸入剛剛的埠號,按確定

這樣電腦跟手機就能連上 VirtualBox 虛擬機裡的網頁伺服器了。


參考資料:

創作回應

更多創作