CentOS系統下使用VirtualBox配置端口轉發的完整步驟
virtualbox啟動,選中目標CentOS虛擬機。TCP、SSH用TCP、視頻流用UDP等);127.0.0.1(僅宿主機本地訪問);8080、2222,需確保未被其他服務占用);80、SSH的22)。8080端口轉發到虛擬機80端口(用于Web服務),規則名稱為“WebForward”,協議TCP,主機端口8080,子系統端口80。[虛擬機名稱]、[主機端口]、[子系統端口]等參數):VBoxManage modifyvm "[虛擬機名稱]" --natpf1 "規則名稱,tcp,,[主機端口],,[子系統端口]"
示例:將虛擬機80端口轉發到宿主機8080端口,命令為:VBoxManage modifyvm "CentOS_Web" --natpf1 "WebForward,tcp,,8080,,80"
注:--natpf1表示第一個網絡適配器的規則,若需添加多個規則,可遞增為--natpf2、--natpf3。VBoxManage controlvm "[虛擬機名稱]" reset
systemctl status httpd或systemctl status sshd檢查)。http://127.0.0.1:[主機端口](如http://127.0.0.1:8080),若顯示虛擬機內的網頁內容,則轉發成功;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 [主機端口](需安裝telnet或netcat工具),若顯示“Connected”或“succeeded”,則轉發成功。8080端口被其他應用占用,可更換為8081等未用端口);~/.VirtualBox/Machines/[虛擬機名稱]/Logs),搜索“port forwarding”關鍵詞定位錯誤。/etc/sysconfig/network-scripts/ifcfg-eth0中的ONBOOT=yes是否開啟、網關是否正確)。firewall-cmd --add-port=[主機端口]/tcp --permanent(永久放行)→ firewall-cmd --reload(重新加載規則);firewall-cmd --add-service=[服務名稱] --permanent(如http、ssh)→ firewall-cmd --reload。通過以上步驟,即可在CentOS宿主機上通過VirtualBox的端口轉發功能,便捷地訪問虛擬機內的各類服務。