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的端口转发功能,便捷地访问虚拟机内的各类服务。