QUOTE(沧海一声啸 @ 2007年04月12日 Thursday, 10:53 AM)
因为使用 Windows 暂时还不会造成侵权,毕竟用 Windows 已经那么多年了。
[snapback]1723124[/snapback]
更正一下“因为微软暂时还没有追究我们的侵权责任,毕竟用 Windows 已经那么多年了。”
呵呵,现在还能抽出空,继续我的宣传写作。
================================================================
FreeBSD 中的“监狱”
从主帖中的贴图可以看到,BSD 中可以使用虚拟机软件来安装运行其他的操作系统,那么是不是一台服务器可以当两台或多台服务器使用呢?
当然可以。比如,我现在安装的 Windows 2000 操作系统一样可以连接到网络上,其他人可以从网络上访问我的 Windows 2000 操作系统,它和独立的单机没有什么两样。这就是虚拟服务器技术。BSD 上除了 VMware 之外,较有名的还有 Qemu,这是一个完全免费的虚拟机。
但我不会用这种形式来做虚拟服务器。为什么?众所周知,图形界面会占用大量的内存,还会占用大量的 CPU 开销,作为服务器,有必要花费大量的资源来支持图形界面吗?
我们公司的 FreeBSD 服务器没有键盘鼠标,也没有显示器,其中一台服务器的显示卡我都拔下来了(因为它坏了)。我们的服务器不需要图形界面,只需要专注于提供我们需要的服务,这就够了。
FreeBSD 早就有了类似的功能。大概在 4.x 版本的时候,FreeBSD 就推出了一个 jail 功能,jail 的英文原意就是 监狱 的意思,它确实就是一个“监狱”。你可以把某些服务关到“监狱”里面去。
比如,DNS 服务器 BIND 经常会发现漏洞,可能我们还来不及升级,别人就利用了这个漏洞来控制了我们的机器。BIND 非常优秀,不用非常可惜,再说也找不到更好的替代产品;但偶尔会发生安全问题,用吧总让人吃不香睡不好:每天醒来第一时间连接服务器,看看我们的服务器是不是已经被人家黑了。前段时间一家著名的域名服务商的服务器就被人黑了。
FreeBSD 可以安全地提供不安全的服务。你可以把 BIND 关进“监狱”里,在“监狱”里面的人看来,他拥有的是一个完整的操作系统,但在我们看来,它只不过是一个小“房间”,你在“监狱”里面再闹腾,对监狱外没有任何影响。这样,即使黑客通过 BIND 控制了你的机器,他对你的操作系统还是毫无办法。当然,如果“监狱”出了漏洞,就是另一回事了。
FreeBSD 不但可以将一个服务关进“监狱”里,它还可以将整个操作系统关进“监狱”里:一个监狱就是一个完整的操作系统!你可以在这个监狱里面安装一个操作系统应安装的各种应用程序。有意思的是“监狱”里面的程序和宿主机的程序几乎是一样的,它的性能和宿主机的应用程序的性能没有多大的差别。你完全可以像对待一台主机那样对待一个“监狱”。比如,我可以远程登录我的“监狱”,我可以通过监狱提供各种各样的服务:WWW 服务、MySQL 数据库服务、SSH 远程登录、FTP 等等……它就是一台完整的服务器!唯一的不足是它不能关机,只能重新启动。
我们公司网站(电白县自来水公司 www.dbzls.cn/www.dbzls.com,做个不赚钱的广告)的服务器就是用这种方式提供服务的。我们提供域名解析,域名服务器是关在 jail 里面的;我们提供 WWW 服务,Apache 也是关在 jail 里面的。当然,我们还运行 MySQL 服务器,它被关在防火墙里面。