使用 Virtual PC 也有一段时间了,现在我的开发环境比如 vs.net 都装在这个里面的,然后把 SQL Server 装在 host 机器中。在虚拟机里面通过 ip 地址连接到 host 的数据库进行协作开发。
但是这样带来了一个问题,就是要求 host 的 ip 是不变的,否则就每次打开项目后需要修改数据库连接的地址,这样会比较麻烦。
为了解决这个问题,前一阵我采用过 Loopback Adapter 的方式配置虚拟机和宿主,让 host 和 guest 机器在一个虚拟的、固定 ip 地址的局域网里工作。比如我当时配置的是:
guest: 192.168.5.2, host: 192.168.5.1
这样的好处是不管我的机器拿到哪里,虚拟机里连接 host 所用的 ip 始终是固定的。
但是弊端就是虚拟机不能访问 host 所在的局域网,或者 internet. 所以还是很不方便。
我曾经尝试过给虚拟机配置两块网卡,一块 Loopback, 一块用 NAT 之类的。但是这样做的结果是我始终没法配置成功。
因为我的虚拟机需要访问公司局域网里的 VSS, 因此现在我设置为不使用 Loopback 了,简单的用了一个 NAT.
但是因为我的本本在公司和家里需要变 ip 地址。一个是 192.168.0.16, 一个是 192.168.1.16. 这样地址就不确定了。因此我想到了一个办法。修改虚拟机里面系统的 hosts 文件,建立静态的 ip 地址和机器名的映射:
192.168.0.16 host
192.168.1.16 host
然后开发的时候只需要用 'host' 这个机器名就能访问到宿主机器里的 SQL Server 了。
hosts 文件的路径在:
C:/WINNT/system32/drivers/etc
在修改完毕后,需要执行一下这两个命令以刷新当前的路由表里的 dns 缓存,然后 'ping host' 就可以测试是否生效了:
ipconfig /flushdns
nbtstat -R
但是这样带来了一个问题,就是要求 host 的 ip 是不变的,否则就每次打开项目后需要修改数据库连接的地址,这样会比较麻烦。
为了解决这个问题,前一阵我采用过 Loopback Adapter 的方式配置虚拟机和宿主,让 host 和 guest 机器在一个虚拟的、固定 ip 地址的局域网里工作。比如我当时配置的是:
guest: 192.168.5.2, host: 192.168.5.1
这样的好处是不管我的机器拿到哪里,虚拟机里连接 host 所用的 ip 始终是固定的。
但是弊端就是虚拟机不能访问 host 所在的局域网,或者 internet. 所以还是很不方便。
我曾经尝试过给虚拟机配置两块网卡,一块 Loopback, 一块用 NAT 之类的。但是这样做的结果是我始终没法配置成功。
因为我的虚拟机需要访问公司局域网里的 VSS, 因此现在我设置为不使用 Loopback 了,简单的用了一个 NAT.
但是因为我的本本在公司和家里需要变 ip 地址。一个是 192.168.0.16, 一个是 192.168.1.16. 这样地址就不确定了。因此我想到了一个办法。修改虚拟机里面系统的 hosts 文件,建立静态的 ip 地址和机器名的映射:
192.168.0.16 host
192.168.1.16 host
然后开发的时候只需要用 'host' 这个机器名就能访问到宿主机器里的 SQL Server 了。
hosts 文件的路径在:
C:/WINNT/system32/drivers/etc
在修改完毕后,需要执行一下这两个命令以刷新当前的路由表里的 dns 缓存,然后 'ping host' 就可以测试是否生效了:
ipconfig /flushdns
nbtstat -R
博主将开发环境装在 Virtual PC 虚拟机中,SQL Server 装在宿主机器,通过 IP 连接数据库开发。但 IP 变化带来不便,曾尝试 Loopback Adapter 配置,有不能访问局域网等弊端。最终通过修改虚拟机 hosts 文件建立静态映射,解决 IP 不确定问题,并给出刷新缓存命令。


被折叠的 条评论
为什么被折叠?



