| 关键词: 域名 服务器 系统 脚本 本里 服务 一个 如果 地址 bind |
局域网在当今的组织系统里已经是必不可少的了。通常在局域网里会放一些web服务器、ftp服务器等等,但网管们却很少部署一个可以负担本地域名解析任务的dns服务器。我想,无论网络拓扑多么简单,使用赤裸裸的ip地址来跑应用的做法都是很不好的。既不方便记忆,也不利于各类应用的扩展或变更。 最简单的例子,假如原来是把web服务和ftp服务放在同一台服务器上的,后来由于应用的扩张,需要各自单独部署一个服务器,如果没有域名系统支持,原来凡是用ip地址来寻址的各类应用都需要修改。但是如果原来就有一套域名系统,则只需要稍稍变更一下域名解析文件就一切ok了。比较现实的情况是,如果哪一天组织想打算把ipv4升级到ipv6,所有使用域名系统的应用可以一点也不用修改,反之,您就有的是事情可干了。 总之,在应用的层面里,应该让ip地址彻底消失,应用只应该对应域名,这是最合理的做法。另外,本地域名解析系统的部署还有一个附加的好处,就是对公网的访问起到某种控制的作用。例如你可以把某些你不想被访问到的域名用本地域名解析服务屏蔽掉等等。 部署域名服务并不复杂,如果是windows 2003服务器,可以直接使用它内置的dns服务,在“控制面板->管理工具”里就有dns服务,windows 2003的dns服务通过完全图形用户界面进行设置操作,不用具备多少域名解析知识,稍稍研究一下就可以完成。这也是目前我见到过的唯一一套通过完全的窗口交互操作就可以搞定域名解析的dns系统,微软在用户界面方面下的功夫令人钦佩。 也许域名解析这套东东太过专业,除了微软之外,没人认为普通用户会去倒腾它。所以,主流的dns解析系统都是需要比较专业的脚本撰写方式来完成。而这套脚本的编写有一个事实上的标准,就是脱胎于unix系统的bind系统脚本的语法。其实,windows 2003的域名解析设置也是保存到一套与bind完全兼容的脚本里的。 bind是目前使用最为广泛的开放式域名解析服务系统,目前的最新版本是v9。相关资料可以在bind的官网(http://www.bind.com/)上查到。bind是一套开放源代码的系统,有各种平台的版本,如各种linux版本,也有win32版的。在bind官网上可以下载相应平台的可执行代码。 通常,在局域网环境里,大多喜欢使用一台跑windows xp或者linux系统的电脑来做服务器。如果是这样,我们就不能享受windows 2003带来的内置dns解析服务以及由此带来的图形界面的方便。只好使用bind这样的系统来手工编写解析脚本。 安装好bind后,接下来就面临一堆的脚本编写任务。具体不在这里详述,大概要编写一个全局的配置脚本,然后为每个你想要解析的域名(子域名也一样)编写两个脚本(一个用来正向解析,一个用来反向解析),其中,还需要一个根域名解析脚本,这个是由Internet NIC创建和维护的,只需要下载下来使用就行了。 脚本编写好以后让bind以系统服务的方式自动运行起来。然后把每台局域网电脑的dns服务器地址设置成这个本地的域名服务器的ip地址,本地的域名解析服务就部署好了。凡通过这个域名解析服务器解析域名的电脑,如果需要解析的域名在本地得到匹配,就由本地直接返回在解析脚本里定义的ip地址。假设你在本地解析的脚本里有个baidu.com的解析,那么,在局域网里访问的baidu.com将是你定义那个ip地址,而不是互联网上的那个baidu.com。 如果域名在本地dns服务器里得不到匹配,则会由那个根域名脚本来处理,当然,也可以在全局脚本里定义一个转发(forwarders)列表,把本地不能解析的域名转发给这个列表里的地址(如:8.8.8.8,8.8.4.4)去解析。 通过本地域名解析服务器的部署,还可以进行很多重要的工作,比如你可以非常方便的在web服务器上定义多个基于域名的虚拟主机(在iis里用“机头”来设置,在apache里用虚拟主机配置脚本来设置)。如果没有启用域名系统,恐怕就只好用晦涩而无厘头的基于端口的虚拟主机来配置了。 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|