NAT模式

Virtualbox虚拟机如何访问宿主机的服务

这篇教程向大家介绍如何让Virtualbox虚拟机访问宿主机的服务。如果宿主机上搭建了一个网站服务器,或者安装了一个代理软件或其他服务端程序,我们可以让virtualbox的客户机访问这些服务。这篇教程假设客户机是Linux系统。宿主机的另外一个名称是物理机。 一点背景知识 打开虚拟机的设置窗口,在左侧栏选择网络(Network)标签。你可以看见,虚拟网卡的默认模式是NAT。 NAT模式让客户机可以访问互联网。在NAT模式下,宿主机与每一个客户机之间都存在一个虚拟路由器。如果你创建了两个客户机,那么就会有两个虚拟路由器。客户机正是依靠它们各自的虚拟路由器从而可以访问互联网。客户机之间不能通信,客户机可以通过虚拟路由器与宿主机通信。由于这一特点,客户机可以访问宿主机的服务。 找出虚拟路由器的IP地址 既然客户机是通过虚拟路由器与宿主机通信,那么我们就得找出虚拟路由器的IP地址。在Linux客户机里打开一个终端,运行下面的命令。 ip route show 在输出结果中的第一行中,default via后面的IP地址就是虚拟路由器的IP地址。虚拟路由器是客户机的默认网关,所以也可以称它为默认网关的IP地址。virtualbox通常将10.0.2.2设为虚拟路由器的IP。 从客户机访问宿主机的服务 假设你在宿主机上搭建了一个Nginx网站服务器,你需要在客户机的浏览器里打开宿主机的网页,那么你只需要在客户机的浏览器输入虚拟路由器的IP就行了。现在我的宿主机没有nginx服务器,所以我不能上传截图给你看看实际效果。 我的宿主机上有一个SS,我要让客户机科学上网,我不需要在客户机里安装任何其他软件,只需要打开Firfox浏览器的代理设置窗口,将SOCKS主机的IP设为虚拟路由器的IP,端口为1080不变,勾选SOCKS V5和远程DNS. 保存设置后,我就能在客户机里通过宿主机的SS来科学上网了。