Linux网络中DHCP和DNS服务快速整合
在日常的网络维护,特别是校园网维护中,管理数百台机器的IP地址是比较令系统管理员疼的一件事。现实情况一,校园网的Internet的连接采用代理服务器或路由器模式,为保证各工作站能正常访问Internet,必须在每个客户端添加网关设置;情况二,学校的校园网发布,一般都分为对校内网和对外网,考虑到校内师生之间计算机访问的方便,需提供校内域名解析(例如我们某学校对内使用www.britepic.org,对外www.avnads.cn),因此要在每个客户端计算机添加校内DNS服务器设置。
一般来说,校园网里都会提供DHCP服务和DNS服务。DHCP称为动态主机配置协议。DHCP服务允许工作站连接到网络并且自动获取一个IP地址。DHCP 在快速发送客户网络配置方面很有用场。当配置客户系统时,管理员可以选择DHCP,并不必输入 IP 地址、子网掩码、网关、或 DNS 服务器。客户从 DHCP 服务器中检索这些信息。DHCP 在管理员想改变大量系统的 IP 地址时也大有用途。与其重新配置所有系统,管理员只需编辑服务器上的一个 DHCP 配置文件即可获得新 IP 地址集合。如果某机构的 DNS 服务器改变了,这种改变只需在 DHCP 服务器上而不必在 DHCP 客户上进行。一旦客户的网络被重新启动(或客户重新引导系统),改变就会生效。 除此之外,如果便携电脑或任何类型的可移计算机被配置使用 DHCP,只要每个办公室都有一个允许它联网的 DHCP 服务器,它就可以不必重新配置而在办公室间自由移动。
DNS服务器主要用来主IP地址和主机名机之间的解析。通常的,我们的校园网的Internet服务提供商(ISP),例如电信,会提供DNS服务器,我们还可以在校园网中提供自己的DNS服务器,作为解析我们网内主机到ISP DNS服务器地址缓存之用。那么我们内网之间的计算机如何互相解析呢?ISP的DNS服务器当然不会有我们内网计算机主机的列表。大多数DNS服务器也做不到这点,除非我们动态的更新IPS的DNS服务器列表或者使用静态IP地址,Windows使用NBNS协议可以做到(NetBIOS名称服务器(NBNS = NetBIOS Name Service)协议是TCP/IP上的NetBIOS (NetBT)协议族的一部分,它在基于NetBIOS名称访问的网络上提供主机名和地址映射方法。)。 如果我们的校园网里存在大量的UNIX/Linux主机,这些UNIX/Linux主机之间将是无法互相解析的,因为UNIX/Linux不支持NBNS协议,每台UNIX/Linux主机的IP地址也是动态分配的。通常的DNS服务器只能解析外部的URL地址或静态IP地址主机,除非我们动态更新或者使用静态IP地址,所以我们不得不在校园网内架设自己的DNS服务器来解决这个问题,使得校园网网内UNIX/Linux主机之间可以互相解析、能访问内部的URL,最佳的解决方法是整合Linux服务器的DHCP和DNS服务,使得两者能随时保持数据同步,这样就可以解决内网中动态IP下的UNIX/Linux主机之间无法相互解析访问的问题了。
一次性为每个客户机添加网关和DNS解析地址并不难。但问题是,提供服务的各服务器地址不能变。否则因故要调整网关或校内DNS解析地址,工作量可想而知。那能不能把这些所有的服务固化在一台机器上呢?实际上,我们平时使用的DHCP(动态主机配置协议)服务本身就有客户机网关配置和DNS服务指向功能。而我们平时只注意到DHCP动态地址分配功能,而把其他服务忽视了。
根据以上问题,我们需要这样的解决方法。在校园网中有一台运行正常的基于Linux操作系统的DHCP服务器,其地址为192.168.1.1,各客户机器采用动态分配地址,并且整个网络状态良好。现在要求以代理模式实现各客户机与Internet互联以及提供学校内部DNS解析。以我们学校为例,代理服务器地址为192.168.1.254,DNS服务器地址为192.168.1.1,与DHCP相同。为了快速捆绑、整和这两项服务,我们需要使用一个非常实用的应用程序--Dual DHCP DNS Server。Dual DHCP DNSServer是为SOHO网及小型局域网所设计的DHCP/DNS服务整合程序。具有功能强大、运行方便和系统资源占用率低的特点。
1、下载及安装
1)到http://freshmeat.net/redir/dualdhcpdnsserver/60635/url_homepage/dhcp-dns-server下载dualserverV2.1.tar压缩包,使用
#tar xzvf dualserverV2.1.tar 命令解压缩
2) 在root的权限下,通常使用如下命令运行dualserver
/dualserver –v
Dualserver的运行有两种模式,Debug模式和Daemon模式,一般我们使用-v选项即可完成
dualserver 的运行,有详细的过程显示。如果我们想要在Linux系统启动的时候自动运行
Dualserver,可以在/etc/rc.d/rc.local 或者/etc/inittab文件中添加Dualserver。