端口映射
(您的阅读是我的荣幸,如有不满之处请留言指正!)------正在修正中。。。。已解决的大哥给我留言,求解啊
这篇是我在遇到物理机无法访问虚拟机中服务时搜集的,亲身试验,OK!
1、NAT模式+端口映射
将虚拟机某端口映射到物理机的某端口,这样外部机器(包括你的哦~)就可以访问虚拟机上的服务了
(在命令行模式下,先到VirtualBox的安装目录下面,否则找不到命令)
进入安装目录会有→
vboxmanage setextradata win7 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/Protocol" TCP
vboxmanage setextradata win7 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/HostPort" 8000
vboxmanage setextradata win7 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/GuestPort" 80
vboxmanage setextradata win7 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/HostPort" 8000
vboxmanage setextradata win7 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/GuestPort" 80
命令解释:
VBoxManage setextradata "win7" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/Protocol"
VBoxManage:VBOX提供的一个强大的设置工具,利用它我们可以进行一系列的设置。
setextradata:是在虚拟机的记录文档中加入后面的信息。
"win7":引号中的文字代表你需要修改的虚拟机的名称,示例中使用的是名称为“win7”的虚拟机。
VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/Protocol:
这行代码中,“pcnet”代表的是虚拟机的型号带有pcnet的网卡,如果你选中的是intel的网卡,请将“pcnet”换成“e1000”,如果是Paravirtualized Network的话请替换成“virtio-net”。
同样地,如果你为虚拟机配置了n个网卡,则要把/0/换成相应的序列。
/http/:即我们需要给使用“http”服务进行端口映射,如果你需要其他的服务,请将其替换成相应服务的名称,服务名称请自定义,没有限制。
“Protocol、GuestPort、HostPort”对应就是“协议、虚拟机需要映射的端口、主机映射的端口”。通常协议使用的是TCP,而 IIS中默认使用的端口是80,如果有换成别的请将后面的数字替换成你的端口号。同样地,主机中映射的端口请使用未占用的端口,不然会造成无法访问。
VBoxManage setextradata "win7" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/Protocol"
VBoxManage:VBOX提供的一个强大的设置工具,利用它我们可以进行一系列的设置。
setextradata:是在虚拟机的记录文档中加入后面的信息。
"win7":引号中的文字代表你需要修改的虚拟机的名称,示例中使用的是名称为“win7”的虚拟机。
VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/Protocol:
这行代码中,“pcnet”代表的是虚拟机的型号带有pcnet的网卡,如果你选中的是intel的网卡,请将“pcnet”换成“e1000”,如果是Paravirtualized Network的话请替换成“virtio-net”。
同样地,如果你为虚拟机配置了n个网卡,则要把/0/换成相应的序列。
/http/:即我们需要给使用“http”服务进行端口映射,如果你需要其他的服务,请将其替换成相应服务的名称,服务名称请自定义,没有限制。
“Protocol、GuestPort、HostPort”对应就是“协议、虚拟机需要映射的端口、主机映射的端口”。通常协议使用的是TCP,而 IIS中默认使用的端口是80,如果有换成别的请将后面的数字替换成你的端口号。同样地,主机中映射的端口请使用未占用的端口,不然会造成无法访问。
红色部分需要在虚拟机设置里查看虚拟机名相应改变,我的操作过程如下:
以上操作请小心进行,如写入出错的话会导致虚拟机启动出错,结果是我们需要到任务管理器中Kill掉VBOX的两个进程才可以重新操作。如实在不能启动,可删除相应虚拟 机后重新建立,只要虚拟硬盘文件安好就可以。
命令完成就要设置一下网络连接方式为:NAT,控制芯片为pCnetxxx