适用情况
(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 成功后再打开防火墙. 这个很关键, 一般一头可以 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) 就可以实现既互相通信又能上网了, 因为此时宿主机与虚拟机是局域网上两台平等的计算机.
来源: http://www.bubuko.com/infodetail-3034369.html