新闻资讯

VirtualBox 端口转发是什么?核心作用有哪些?

2025-11-24

VirtualBox 端口转发是将宿主机(物理电脑)的端口与虚拟机的端口建立映射的功能,本质是让外部请求通过宿主机端口 “跳转” 到虚拟机内对应服务。其核心作用体现在三方面:一是本地访问虚拟机服务,如通过宿主机 5022 端口连接虚拟机 22 端口实现 SSH 登录;二是局域网内跨设备访问,让同一局域网的其他电脑访问虚拟机中的 Web 服务;三是外网远程访问,搭配公网 IP 与域名解析工具可实现外网访问虚拟机服务。当虚拟机需对外提供服务且宿主机无固定公网 IP 时,可搭配花生壳解决动态 IP 问题,从官网https://hsk.oray.com/download 下载软件后,即可通过动态域名稳定访问 VirtualBox 端口转发后的服务。
图片alt

哪些网络模式支持 VirtualBox 端口转发?该选哪种?

VirtualBox 的网络模式中,NAT 模式和NAT 网络模式是端口转发的常用场景,两者适配不同需求:
- NAT 模式:默认网络模式,虚拟机共享宿主机 IP 上网,端口转发规则仅对宿主机生效,适合本地访问虚拟机服务(如 SSH 登录、本地调试 Web 服务)。
- NAT 网络模式:需先创建全局 NAT 网络,多个虚拟机可加入同一 NAT 网络并互相通信,端口转发规则可实现局域网访问,适合多虚拟机协同场景。
- 桥接模式:虚拟机直接获取局域网 IP,无需端口转发即可被局域网访问,但暴露在公网环境下安全性较低,且不支持动态 IP 的便捷适配。
日常本地开发选 NAT 模式即可,若需局域网内其他设备访问或多虚拟机联动,优先选 NAT 网络模式,搭配 VirtualBox 端口转发与花生壳,可兼顾便捷性与访问稳定性。

NAT 模式下,如何用图形化界面配置 VirtualBox 端口转发?

1. 查看虚拟机 IP 与服务端口
先启动虚拟机,以 Linux 系统为例,执行ip addr命令获取虚拟机 IP(如 10.0.2.15),确认需转发的服务端口(如 SSH 的 22 端口、Web 服务的 80 端口)。
2. 进入 VirtualBox 端口转发配置界面
关闭虚拟机后,右键点击虚拟机名称→选择 “设置”→切换到 “网络” 选项卡→在 “连接方式” 中选择 “网络地址转换(NAT)”→点击右侧 “端口转发” 按钮,打开规则配置窗口。
3. 添加端口转发规则
点击 “添加” 按钮(+ 号图标),按以下格式填写规则:
-名称:自定义规则名称(如 “SSH 转发”“Web 转发”),便于区分。
-协议:根据服务类型选择 TCP 或 UDP(SSH、Web 服务选 TCP)。
-主机 IP:填写宿主机 IP,本地访问填 127.0.0.1,局域网访问填宿主机局域网 IP(如 192.168.1.100)。
-主机端口:宿主机上用于映射的端口(如 5022,需避免与宿主机已用端口冲突)。
-子系统 IP:填写虚拟机 IP(如 10.0.2.15)。
-子系统端口:虚拟机上的服务端口(如 22)。
以 SSH 转发为例,填写完成后点击 “确定” 保存规则,启动虚拟机即可生效。
4. 验证端口转发是否生效
在宿主机打开终端或命令提示符,执行ssh 用户名@127.0.0.1 -p 5022,若能成功登录虚拟机,说明 VirtualBox 端口转发规则配置正确。若需局域网访问,其他设备执行ssh 用户名@宿主机局域网IP -p 5022即可。

NAT 网络模式下,VirtualBox 端口转发配置有何不同?

1. 先创建全局 NAT 网络
打开 VirtualBox 主界面→点击 “管理”→选择 “全局设定”→切换到 “网络” 选项卡→点击 “添加” 创建 NAT 网络(默认名称为 NatNetwork),可自定义网段(如 10.0.3.0/24),点击 “确定” 保存。
2. 配置虚拟机网络为 NAT 网络
进入虚拟机 “设置”→“网络”→“连接方式” 选择 “NAT 网络”→在 “名称” 中选择刚创建的 NatNetwork,点击 “确定”。
3. 配置虚拟机静态 IP(关键步骤)
启动虚拟机,编辑网络配置文件(CentOS 系统为/etc/sysconfig/network-scripts/ifcfg-enp0s3),修改以下参数:
BOOTPROTO=static # 设为静态IP模式
ONBOOT=yes # 开机自启动网卡
IPADDR=10.0.3.10 # 静态IP,需在NAT网络网段内
GATEWAY=10.0.3.1 # NAT网络网关,默认为网段首个IP
NETMASK=255.255.255.0
DNS1=8.8.8.8 # DNS服务器地址
执行service network restart重启网卡,用ip addr确认 IP 配置生效。
4. 添加端口转发规则
后续步骤与 NAT 模式一致,进入 “端口转发” 界面添加规则,主机 IP 填宿主机局域网 IP,子系统 IP 填虚拟机静态 IP(如 10.0.3.10)。配置完成后,局域网内设备可通过宿主机 IP + 主机端口访问虚拟机服务,搭配花生壳可进一步实现外网访问。

如何用命令行快速配置 VirtualBox 端口转发?

对于无图形化界面的服务器环境,可通过 VBoxManage 命令配置 VirtualBox 端口转发,以 NAT 模式为例:
1. 查看虚拟机名称
执行VBoxManage list vms获取虚拟机准确名称(如 “CentOS-9”)。
2. 添加端口转发规则
添加 SSH 转发规则(宿主机 5022 端口映射到虚拟机 10.0.2.15 的 22 端口):
VBoxManage modifyvm "CentOS-9" --natpf1 "SSH转发,tcp,,5022,,10.0.2.15,22"
命令解析:--natpf1表示配置第 1 块网卡的 NAT 端口转发,参数顺序为 “规则名,协议,主机 IP, 主机端口,子系统 IP, 子系统端口”,主机 IP 或子系统 IP 留空表示默认适配。
3. 查看已配置规则
VBoxManage showvminfo "CentOS-9" --machinereadable | grep natpf1
4. 删除无用规则
VBoxManage modifyvm "CentOS-9" --natpf1 delete "SSH转发"
命令行配置更适合自动化场景,规则生效需确保虚拟机处于关闭状态,修改后启动虚拟机即可使用 VirtualBox 端口转发功能。

VirtualBox 端口转发失败?常见问题及解决办法

1. 端口冲突导致规则无效:执行netstat -tuln(Linux)或netstat -ano(Windows)查看宿主机已占用端口,更换未被占用的主机端口(如将 5022 改为 5023)。
2. 虚拟机 IP 动态变化:在 NAT 模式下,虚拟机重启可能导致 IP 变动,需重新配置端口转发规则。解决办法是将虚拟机 IP 设为静态,或搭配花生壳用域名访问,无需依赖固定 IP。
3. 防火墙拦截流量:宿主机防火墙可能阻断转发端口,Linux 系统执行iptables -A INPUT -p tcp --dport 5022 -j ACCEPT放行端口,Windows 需在防火墙高级设置中添加入站规则。
4. 外网访问无法连接:宿主机无固定公网 IP 时,打开已安装的花生壳客户端,将动态域名绑定宿主机,外网通过 “花生壳域名:主机端口” 访问,无需修改 VirtualBox 端口转发规则。


拓展阅读

1. VirtualBox 端口转发中的 “主机 IP” 留空和填 127.0.0.1 有何区别?
留空表示该端口转发规则对宿主机所有网卡 IP 生效(包括局域网 IP 和公网 IP),支持外部设备访问;填 127.0.0.1 仅允许宿主机本地访问,安全性更高,适合纯本地开发场景。

2. 花生壳如何解决 VirtualBox 端口转发的外网访问难题?
花生壳的动态域名解析功能可将宿主机变动的公网 IP 与固定域名绑定,外网通过域名替代 IP 访问;若宿主机在内网无公网 IP,花生壳内网穿透可直接穿透局域网,无需配置复杂的端口转发与路由,操作更便捷。

3. VirtualBox 端口转发与 iptables 端口转发有何关联?
两者均实现端口映射,但层级不同:VirtualBox 端口转发是虚拟机软件层面的转发,仅作用于虚拟机与宿主机之间;iptables 端口转发是 Linux 系统层面的转发,可实现宿主机与外网、内网设备的流量跳转,两者可配合使用,实现 “外网→宿主机(iptables 转发)→虚拟机(VirtualBox 转发)” 的完整链路。

新闻资讯
热门专题
最新专题
友情链接