不久以前,我用无线路由器刷DD-WRT + Wiwiz做了几个收费Wifi热点,并赚了些钱,感觉挺不错。

现在需要帮朋友的咖啡厅弄一个带认证的Wifi。其实,他的咖啡厅原来就有无线网络,是两个无线路由器,只不过用的是普通的WEP加密的方式。现在希望改成Web认证,Wiwiz的电子招待券的那种,也就是限制让只有消费的顾客才能上网。而且顾客还需要用手机接收短信进行验证,目的是为了手机顾客手机号,发送咖啡厅的活动信息什么的。我正好手头有Wiwiz的专业版账号,就送给他一个热点。咖啡厅原来的无线路由器不能刷DD-WRT,所以就准备用虚拟机的方法,虚拟机就装在他们咖啡厅银台的电脑里(有线连接到路由器)。

我下载的是Wiwiz官网的虚拟机镜像文件,参考官网的安装指南进行配置。有一点不同的是,Wiwiz虚拟机里的虚拟网卡eth1的默认地址是 192.168.1.250,而我朋友咖啡厅的无线路由器的地址是192.168.0.*,所以就在虚拟机的Linux环境里先用setup命令改了一下 IP设置,修改eth1的地址为192.168.0.250,其他的都没变。

开始的时候,我下载的网上的绿色精简版的VMWare。执行“/usr/local/hsbuilder/hsbuilder_setup.sh setup”命令之后,设置到最后的时候遇到了这个错误:
HSBuilder Utility Running Failed!
Error Code: 4
Message: Server is not reachable.


我在虚拟机里ping外网网站的地址,都ping不通,也就是说虚拟机根本连不上外网。我估计可能是VMWare的NAT服务设置的问题。一检查吓一跳,果然是绿色精简版,宿主机里压根就没有安装NAT服务,也没有NAT的虚拟网卡。

于是,我就去下了一个正版的VMWare Player,估计问题就可以解决了。可是重新安装之后还是报同样的错,也依然不能从虚拟机里ping通外网。而且郁闷的是在百度里搜了很久也没找到这个错误的说明。怎么折腾还是ping不通。我只好再仔细看一遍安装指南。

果然,我发现我之前看漏了这么一句话:如你改变了虚拟机原来的网络设置,那么请执行“service network restart”,以使新的设置立即生效。

我就执行了这个命令,居然马上就可以Ping通外网了。然后就重新设置Wiwiz程序,果然没有报错了,一切都顺利完成。

总结起来,Wiwiz虚拟机里不能连接外网的原因就是两个:
1. 绿色精简版的VMWare没有NAT服务,不能用这个版本。一定要用正版的VMWare。其实,正版的VMWare Player是免费的,所以根本没必要用绿色精简版。
2. 如果改变了Wiwiz虚拟机镜像原来的IP设置,之后一定要执行“service network restart”,这样设置才能生效,否则还是不能通外网的。


这里写出来分享给大家,希望自己的这点教训经验对大家有帮助。