溫馨提示×

CentOS如何使用VirtualBox進行端口轉發

小樊
43
2025-10-04 19:58:30
欄目: 智能運維

CentOS系統下使用VirtualBox配置端口轉發的完整步驟

1. 準備工作

  • 確保已安裝VirtualBox且CentOS虛擬機處于關閉狀態(避免配置沖突);
  • 確認虛擬機網絡模式為NAT(默認模式,支持端口轉發;若未設置,后續步驟會詳細說明)。

2. 配置VirtualBox端口轉發規則

方法一:圖形界面配置(推薦新手)

  1. 打開VirtualBox管理器
    雙擊桌面圖標或在終端輸入virtualbox啟動,選中目標CentOS虛擬機。
  2. 進入虛擬機設置
    點擊頂部菜單欄「設置」→ 選擇「網絡」選項卡。
  3. 開啟端口轉發功能
    • 在「網絡」選項卡中,確認「連接方式」為NAT;
    • 點擊「高級」→ 展開「端口轉發」(部分版本需點擊「端口轉發規則」按鈕)。
  4. 添加轉發規則
    點擊右側「添加新規則」(+號圖標),依次填寫以下信息:
    • 名稱:自定義規則標識(如“WebServer”“SSH_Port”),便于后續識別;
    • 協議:選擇服務對應的協議(HTTP用TCP、SSH用TCP、視頻流用UDP等);
    • 主機IP:留空(表示宿主機所有IP均可訪問)或填寫127.0.0.1(僅宿主機本地訪問);
    • 主機端口:宿主機監聽的端口(如8080、2222,需確保未被其他服務占用);
    • 子系統IP:留空(NAT模式下自動指向虛擬機IP)或填寫虛擬機靜態IP(若虛擬機使用靜態IP);
    • 子系統端口:虛擬機內服務的端口(如Apache/Nginx的80、SSH的22)。
      示例:將宿主機8080端口轉發到虛擬機80端口(用于Web服務),規則名稱為“WebForward”,協議TCP,主機端口8080,子系統端口80。
  5. 保存并退出
    點擊「確定」保存規則,再點擊「確定」關閉虛擬機設置窗口。

方法二:命令行配置(適用于自動化場景)

  1. 打開終端
    在CentOS宿主機上打開終端(Terminal)。
  2. 執行VBoxManage命令
    輸入以下命令(替換[虛擬機名稱]、[主機端口]、[子系統端口]等參數):
    VBoxManage modifyvm "[虛擬機名稱]" --natpf1 "規則名稱,tcp,,[主機端口],,[子系統端口]"
    
    示例:將虛擬機80端口轉發到宿主機8080端口,命令為:
    VBoxManage modifyvm "CentOS_Web" --natpf1 "WebForward,tcp,,8080,,80"
    
    注:--natpf1表示第一個網絡適配器的規則,若需添加多個規則,可遞增為--natpf2、--natpf3。
  3. 重啟虛擬機
    執行以下命令使規則生效:
    VBoxManage controlvm "[虛擬機名稱]" reset
    

3. 驗證端口轉發是否成功

  1. 啟動虛擬機
    在VirtualBox管理器中啟動CentOS虛擬機,確保虛擬機內服務(如Apache、SSH)已正常運行(可通過虛擬機終端執行systemctl status httpdsystemctl status sshd檢查)。
  2. 測試連接
    在CentOS宿主機上使用以下命令驗證:
    • HTTP服務:打開瀏覽器訪問http://127.0.0.1:[主機端口](如http://127.0.0.1:8080),若顯示虛擬機內的網頁內容,則轉發成功;
    • SSH服務:在終端執行ssh -p [主機端口] [虛擬機用戶名]@127.0.0.1(如ssh -p 2222 root@127.0.0.1),輸入密碼后若能登錄,則轉發成功;
    • 通用工具:使用telnet 127.0.0.1 [主機端口]nc -zv 127.0.0.1 [主機端口](需安裝telnetnetcat工具),若顯示“Connected”或“succeeded”,則轉發成功。

4. 常見問題排查

  • 規則不生效
    • 檢查虛擬機網絡模式是否為NAT(若為橋接模式,需改用橋接網絡的IP配置);
    • 確認主機端口未被占用(如8080端口被其他應用占用,可更換為8081等未用端口);
    • 查看VirtualBox日志(位于~/.VirtualBox/Machines/[虛擬機名稱]/Logs),搜索“port forwarding”關鍵詞定位錯誤。
  • 虛擬機無法訪問外網
    NAT模式下虛擬機默認可訪問外網,若無法訪問,需檢查虛擬機內網絡配置(如/etc/sysconfig/network-scripts/ifcfg-eth0中的ONBOOT=yes是否開啟、網關是否正確)。
  • 防火墻攔截
    若宿主機或虛擬機開啟了防火墻,需放行對應端口:
    • 宿主機(CentOS):執行firewall-cmd --add-port=[主機端口]/tcp --permanent(永久放行)→ firewall-cmd --reload(重新加載規則);
    • 虛擬機(CentOS):執行firewall-cmd --add-service=[服務名稱] --permanent(如http、ssh)→ firewall-cmd --reload。

通過以上步驟,即可在CentOS宿主機上通過VirtualBox的端口轉發功能,便捷地訪問虛擬機內的各類服務。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女