如何在Ubuntu VirtualBox中进行端口转发
导读:如何在Ubuntu VirtualBox中进行端口转发 端口转发是VirtualBox中常用的网络配置功能,允许宿主机(Host,如你的电脑)通过特定端口访问虚拟机(Guest,如Ubuntu系统)内的服务(如SSH、Web服务器)。以下是...
如何在Ubuntu VirtualBox中进行端口转发
端口转发是VirtualBox中常用的网络配置功能,允许宿主机(Host,如你的电脑)通过特定端口访问虚拟机(Guest,如Ubuntu系统)内的服务(如SSH、Web服务器)。以下是详细操作步骤:
1. 准备工作
- 确保已安装VirtualBox及Ubuntu虚拟机,并正常启动虚拟机。
- 确认Ubuntu虚拟机内需要转发的服务(如SSH)已安装并运行(例如,SSH服务可通过
sudo apt update & & sudo apt install openssh-server
安装,启动命令为sudo systemctl start ssh
)。
2. 配置虚拟机网络模式
端口转发需基于**NAT(网络地址转换)**模式,该模式下虚拟机共享宿主机IP,同时支持端口映射。
- 打开VirtualBox管理器,选中目标Ubuntu虚拟机,点击顶部设置。
- 在左侧菜单选择网络选项卡。
- 将“连接方式”设置为NAT(默认模式)。
3. 添加端口转发规则
NAT模式下,端口转发规则需通过“端口转发”功能配置。
- 在“网络”选项卡的高级区域,点击端口转发按钮(或直接勾选“端口转发”复选框)。
- 在弹出的“端口转发规则”窗口中,点击添加新规则(+号图标)。
- 填写规则详情(以“SSH端口转发”为例):
- 名称:自定义规则标识(如“SSH-Forward”),便于后续识别。
- 协议:选择服务对应的协议(SSH用TCP,HTTP用TCP,视频流用UDP等)。
- 主机端口:宿主机上用于接收请求的端口(如
2222
,需避免与宿主机已有服务端口冲突)。 - 子系统端口:Ubuntu虚拟机内服务的端口(如SSH默认
22
,HTTP默认80
)。 - 子系统IP:虚拟机的IP地址(NAT模式下可留空,VirtualBox会自动分配虚拟机IP)。
4. 保存并启动虚拟机
- 点击“确定”保存端口转发规则,再点击VirtualBox设置窗口的“确定”应用网络配置。
- 启动(或重启)Ubuntu虚拟机,确保服务正常运行(如SSH服务状态可通过
sudo systemctl status ssh
查看)。
5. 验证端口转发是否成功
通过宿主机访问转发端口,确认服务可达:
- SSH服务验证:在宿主机终端输入
ssh -p 2222 用户名@127.0.0.1
(替换“用户名”为Ubuntu虚拟机的登录用户名),若能登录则说明转发成功。 - HTTP服务验证:若转发Web服务(端口80),可在宿主机浏览器输入
http://127.0.0.1:8080
(假设主机端口为8080),查看是否能访问虚拟机内的网页。
注意事项
- 端口冲突:确保宿主机的“主机端口”未被其他应用占用(如2222端口未被其他SSH服务使用),可通过
netstat -tuln | grep 2222
(Linux/macOS)或netstat -ano | findstr 2222
(Windows)检查。 - 防火墙设置:若宿主机或虚拟机开启了防火墙,需允许对应端口通过(如Ubuntu防火墙用
sudo ufw allow 2222/tcp
放行端口2222)。 - 静态IP需求:若虚拟机使用静态IP,需确保“子系统IP”填写正确(可通过
ip addr show
命令查看虚拟机IP)。
通过以上步骤,即可完成Ubuntu VirtualBox中的端口转发配置,实现宿主机与虚拟机之间的服务访问。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Ubuntu VirtualBox中进行端口转发
本文地址: https://pptw.com/jishu/719498.html