如何从另一台设备访问VirtualBox NAT网络中的虚拟机(AD实验环境场景)
如何从另一台设备访问VirtualBox NAT网络中的虚拟机(AD实验环境场景)
嘿,我完全懂你现在的困扰——手上的AD实验环境GOAD跑在Ubuntu主机(PL4YGR0UND)的VirtualBox里,笔记本(SP1RITB0X)能连上主机,却碰不到里面的虚拟机,端口转发又因为服务太多觉得麻烦。别着急,给你几个实用的方案,按需挑选就行:
方案一:改用VirtualBox桥接网络(最直接省心)
这个方法能让虚拟机直接接入和你笔记本、Ubuntu主机同一物理网络,相当于把VM变成网络里的一台独立设备,笔记本就能直接访问了。
- 操作步骤:
- 打开VirtualBox,找到你的GOAD虚拟机,进入「设置」→「网络」选项卡
- 把网络连接方式改成「桥接适配器」,然后选择Ubuntu主机当前在用的网卡(比如有线网卡
eth0或者无线网卡wlan0) - 重启虚拟机,检查VM的IP地址是否和笔记本、Ubuntu主机在同一网段,之后就能直接从笔记本访问VM上的所有服务了
- 小提醒:如果你的物理网络有DHCP限制,可能需要手动给VM设置静态IP,确保和主机网段一致,避免IP冲突或者无法获取地址的问题
方案二:Host-Only网络 + Ubuntu主机IP转发(适合不想改动原有VM网络的情况)
如果不想改变VM原本的NAT网络设置,可以给VirtualBox加一个Host-Only网络,让Ubuntu主机和VM互通,再通过主机的IP转发功能,把笔记本的流量导到VM所在的网络里。
- 操作步骤:
- 打开VirtualBox的「全局设定」→「网络」→「Host-Only网络」,点击添加按钮创建一个新的Host-Only网卡(默认会命名为
vboxnet0) - 编辑这个网卡的参数:设置子网IP(比如
192.168.56.1/24),可以选择关闭DHCP(或者保留DHCP范围专门给VM分配IP) - 给你的GOAD虚拟机添加第二个网卡,选择「Host-Only适配器」并选中刚才创建的
vboxnet0,重启VM后给这个网卡设置静态IP(比如192.168.56.10/24) - 在Ubuntu主机上开启IP转发:
- 临时生效:打开终端运行
sudo sysctl -w net.ipv4.ip_forward=1 - 永久生效:编辑
/etc/sysctl.conf文件,把net.ipv4.ip_forward=1这行的注释去掉,保存后运行sudo sysctl -p让配置生效
- 临时生效:打开终端运行
- 在笔记本上添加静态路由(以Windows为例):
- 打开管理员权限的命令提示符,运行
route add 192.168.56.0 mask 255.255.255.0 <Ubuntu主机的物理IP> - 这样笔记本就能直接访问
192.168.56.x网段的虚拟机了
- 打开管理员权限的命令提示符,运行
- 打开VirtualBox的「全局设定」→「网络」→「Host-Only网络」,点击添加按钮创建一个新的Host-Only网卡(默认会命名为
方案三:NAT网络端口转发的批量配置(备选方案)
如果你实在不想改动网络模式,其实可以针对AD常用服务批量配置端口转发,不用一个个手动加太麻烦:
- 操作步骤:
- 打开VirtualBox的「全局设定」→「网络」→「NAT网络」,找到你的VM使用的NAT网络,点击「编辑」→「端口转发」
- 批量添加AD常用服务的转发规则,比如:
- RDP服务:主机端口设为
33891,子系统端口3389,目标IP填VM的内网IP - LDAP服务:主机端口
3891,子系统端口389,目标IP填VM的内网IP - SMB服务:主机端口
4451,子系统端口445,目标IP填VM的内网IP - DNS服务:主机端口
531,子系统端口53,目标IP填VM的内网IP
- RDP服务:主机端口设为
- 配置完成后,从笔记本访问Ubuntu主机的对应端口,就会自动转发到VM的相应服务上
备注:内容来源于stack exchange,提问作者cbdRedGG
相关产品推荐
相关产品推荐

