VirtualBox通过Host-Only网络连接方式实现宿主机与虚拟机通信

适用情况

(1)没有联网, 不插网线

(2)宿主机直接连接宽带(无路由器)

 

情景:

宿主机 Windows 7

虚拟机 Windows XP

虚拟机安装了SQLServer2005,宿主机想连接使用虚拟机的数据库

 

参考文献:http://blog.csdn.net/w_ww_w/article/details/7348328

 

实现步骤:

1。运行VirutalBox(VirtualBox.exe),不要运行虚拟机;

2。打开寄主机的“网络连接”页面,记下“virtualbox host-only network”的网络设置(我的默认设置为(安装完VirtualBox后,网络连接就自动多了个VirtualBox Host-Only Network):IP地址为192.168.56.1,掩码为255.255.255.0);

3。启动虚拟机,将虚拟机的网络设置如下:

IP地址:192.168.56.2

掩码:255.255.255.0

网关:192.168.56.1

(我的试验发现,不需要设置DNS);

4。尝试宿主机与虚拟机互ping

如果发现ping不通,主要的可能原因是防火墙拦截了

互ping时,可以将2台计算机的防火墙先关闭,证明互ping成功后再打开防火墙

5。我的目标是宿主机连接使用虚拟机的数据库服务,SQLServer的默认端口为:1433,

因此,对虚拟机 Windows XP防火墙设置例外端口,使得宿主机可连接虚拟机,

对虚拟机 Windows XP设置如下:

开始-->控制面板-->Windows防火墙-->点击“例外”选项卡-->点击“添加端口”按钮

起一个容易记的名字,端口为:1433,单选按钮:TCP,点确定。

宿主机测试是否能连接:

在Windows 7

WIN+R-->cmd-->telnet 192.168.68.2 1433

出现新的命令窗口,命令窗口的标题是“telnet 192.168.68.2”,就证明成功了。

如果告诉你telnet不是内部命令,

依次打开“开始”→“控制面板”→“打开或关闭Windows功能”,在打开的窗口处,寻找并勾选“Telnet客户端”,然后点击“确定”。顺利安装后,再在运行下输入此命令就OK了。

 

通过Host-Only使宿主机与虚拟机通信,此时虚拟机无法访问外网。

要解决该问题,最简单的方法是:为虚拟机再设置一块网卡,连接方式为NAT

 

另外,如果有路由器,则通过桥接方式(Bridge)就可以实现既互相通信又能上网了,因为此时宿主机与虚拟机是局域网上两台平等的计算机。

你可能感兴趣的:(虚拟机)