Linux操作系统已经在企业中得到广泛应用,Red Hat5在企业中的应用也逐渐取代Red Hat4,成为当今企业中应用最多的操作系统之一。它致力于解决以Internet为中心的服务应用及企业中服务的应用,特别是在网站以及安全方面,已经体现出明显的优势。
    在后序的时间里,我将会与各位Linux发烧友们,共同探讨红帽子企业版5的常见应用,其中包括DHCP服务、使用samba构建的文件服务器、使用vsftpd构建的文件传输服务器、使用bind构建的DNS服务器、构建Linux Apache PHP MySQL协同服务的企业网站应用平台以及邮件系统。
当局域网中有大量的主机时,如果逐台设置IP地址、默认网关、DNS等网络参数,显然是一个费力也未必讨好的办法;而使用DHCP方式,能够动态配置各客户机的网络地址参数,大大减轻了管理与维护的成本。这就是我们今天要说的DHCP服务。本次我们以下面的拓扑图为例,来看一下基于Red Hat5平台下的DHCP服务器及DHCP中继是如何搭建和配置的。拓扑如下:
 Linux系列-Red Hat5平台下的DHCP服务搭建_DHCP
可以看到在局域网中有三个网段:192.168.1.0/24192.168.2.0/24192.168.3.0/24DHCP服务器位于LAN1IP192.168.1.2/24,网关为192.168.1.1DHCP中继服务器(网关服务器)接口Eth0IP是:192.168.1.1/24,接口Eth1IP是:192.168.2.1/24,需要为网段为192.168.2.0/24LAN2提供中继服务;接口Eth2IP是:192.168.3.1/24,需要为网段为192.168.3.0/24LAN3提供中继服务。
第一部分:配置DHCP服务器
1.安装DHCP服务器软件
 Linux系列-Red Hat5平台下的DHCP服务搭建_Redhat_02
下面简单的概括了DHCP软件包中一些常用的文件:
/etc/dhcpd.confDHCP服务器的主配置文件;
/etc/rc.d/init.d/dhcpdDHCP服务启动脚本;
/etc/rc.d/init.d/dhcrelayDHCP中继服务启动脚本
/etc/sysconfig/dhcpdDHCP命令参数配置文件;
/usr/sbin/dhcpdDHCP服务器执行程序;
/usr/sbin/dhcrelay是中继服务器执行程序;
/var/lib/dhcpd/dhcpd.leasesDHCP服务器租约文件。
2.配置主配置文件
dhcpd服务的主配置文件位于“/etc/dhcpd.conf”,但是该文件中默认并不包含任何有效配置,需要手动建立,我们可以从/usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample里拷贝一个配置范本。如图:
 Linux系列-Red Hat5平台下的DHCP服务搭建_休闲_03
    下面看到的就是主配置文件的范本,在主配置文件dhcpd.conf中,包括声明、参数和选项三种基本类型的配置项,其中声明用来描述dhcp服务器中对网络布局的划分,是网络设置的逻辑范围。参数由配置关键字和对应的值组成,多用来确定DHCP服务的相关运行参数;选项由option引导,后面跟具体的配置关键字和对应的值,一般用于指定分配给客户端的配置参数。
 Linux系列-Red Hat5平台下的DHCP服务搭建_Linux_04
配置DHCP服务器时我们可以通过修改/etc/dhcp.conf文件来实现目的。在修改之前我们先来对这个文件中的配置信息做一个全面的了解,所谓磨刀不误砍柴工。
首先是dhcp.conf文件中的全局配置,全局配置指不包括在任何声明中的参数或选项,顾名思义它作用于整个dhcpd服务器。当某个声明中存在与全局配置部分相同的参数或选项时,在该声明作用的范围内将不采用全局配置部分设置的值。常用的几个全局配置参数和选项如下:Ddns-update-style,动态更新模式;default-lease-time,默认租约时间。max-lease-time,最大租约时间;option domain-name,默认搜索区域;option domain-name-server,DNS服务器地址。
其次,使用subnet声明设置子网属性,Subnetdhcpd.conf文件中最常用的声明,用于在某个子网中设置动态分配的地址和相关网络段属性,subnet声明中可包括其他的参数和选项。声明subnet子网属性时,通常需要设置的部分如下:使用subnet关键字指定子网的网络地址,netmask关键字指定子网掩码;使用range参数指定用于动态分配的IP地址范围;使用option subnet-mask选项指定为客户机分配的子网掩码地址;使用option routers选项指定为客户机分配的默认网关地址。
最后就是使用host声明设置主机属性。Host声明用于设置单个主机的网络属性,通常用于为其它服务器分配固定的IP地址(保留地址)。Host声明可以独立使用,也可放在某个subnet声明中。声明host主机属性时,通常需要设置的部分如下。使用host关键字指定需要分配保留地址的DHCP客户机名称;使用“hardware Ethernet”参数指定匹配主机的MAC地址;使用“fixed-address”参数指定对应的保留IP地址。
明白了上面所说的之后,是不是觉的这个文件看起来没有刚开始那么头大了啊。说是说了这么多,但实际工作中是用不着的,只想让大家更明白一些。下图就是根据拓扑中的网段数量配置出的三个作用域。
 Linux系列-Red Hat5平台下的DHCP服务搭建_Linux_05
可以看到,默认租约时间和最大租约时间以及DNS都被放在了全局配置中,这样可以降底配置的复杂性。
配置好之后,启动dhcpd服务,这台DHCP服务器就开可以开始工作了。
 Linux系列-Red Hat5平台下的DHCP服务搭建_Redhat_06
在这里需要向大家说一下命令参数配置文件/etc/sysconfig/dhcpd,默认情况下,DHCP服务器将面向可用的多个网络接口同激发开放服务,但有的公司会将可能会将DHCP服务器和防火墙跑在一台服务器上,这时,如果只需要在其中一个网络接口上提供服务,可以修改/etc/sysconfig/dhcp文件,使用“DHCPDARGS=”配置行指定参数即可。
第二部分:配置DHCP中继
    DHCP中继在大公司中不建议跑在linux服务器上,当然用别的服务器兼职也是可以的。当vlan较多时三层交换是首选。那么对于中小型企事业而言,用别的服务器兼职DHCP中继,就在好不过了。下面是配置中继的步骤:
1.开启服务器的路由转发功能
 Linux系列-Red Hat5平台下的DHCP服务搭建_职场_07
注意开启服务器的路由转发功能之前,需安装DHCP服务,然后编辑/etc/sysctl.conf文件,将“net.ipv4.ip_forward”配置项的值改为1,如图:
 Linux系列-Red Hat5平台下的DHCP服务搭建_Linux_08
执行“sysctl –p命令,使修改生效。
 Linux系列-Red Hat5平台下的DHCP服务搭建_DHCP_09
2.设置允许DHCP中继数据的接口及DHCP服务器的IP地址
编辑文件“/etc/sysconfig/dhcrelay”,分别设置“INTERFACE”、“DHCPSERVERS”配置项。
 Linux系列-Red Hat5平台下的DHCP服务搭建_职场_10
此处因为DHCP中继服务器需要为三个网段提供中继服务,所以添加了三个接口信息。
3.启动dhcrelay中继服务程序,并设置dhcrelay服务为自动启动,如图:
 Linux系列-Red Hat5平台下的DHCP服务搭建_Linux_11
通过上面的配置,现在我们分别来使用三个LAN中的主机测试.
下面是LAN1中的主机获到的网络参数(注意:LinuxDHCP服务器不同于Windows,它分配置IP时是从大到小)
 Linux系列-Red Hat5平台下的DHCP服务搭建_Redhat_12
LAN2中的主机获到的网络参数:
Linux系列-Red Hat5平台下的DHCP服务搭建_DHCP_13 
LAN3中的主机获到的网络参数:
 Linux系列-Red Hat5平台下的DHCP服务搭建_职场_14
    最后就是需要注意的地方,在启动dhcpd服务之前,应确认提供DHCP服务器的网络接口具有静态指定的IP地址,并且到少有1个网络接口的IP地址与DHCP服务器中的1subnet网段相对应。另外,DHCP服务器一般只会用来给客户机分发网络参数。虽然它也可以将MAC地址和IP地址绑定起来,使一些对象获得固定的IP,但并不适合给其它服务器分发网络参数。在企业中,服务器的IP最好使用静态的。