Linux 下的DHCP server 架设基础及方法
1, DHCP server简介
DHCP(Dynamic Host Configuration Protocol, DHCP)指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码等相关信息,其次,担任DHCP服务器的计算机需要安装TCP/IP协议,并为其设置静态IP地址、子网掩码、默认网关等内容。
2LinuxDHCP server的安装(RHEL5
 首先来查看一下当前系统里是否安装了dhcprpm包:
[root@localhost ~]# rpm –qa|grep dhcp
默认情况下,DHCPRPM包是没有安装,而是我们要从第三张光盘中把dhcp-3.0.5-el5.i386.rpm包安装:
[root@localhost ~]# ls           #dhcp-3.0.5-el5.i386.rpm
[root@localhost ~]# rpm –ivh dhcp-3.0.5-el5.i386.rpm
正常情况下安装是正常的。
3, DHCP主配置文件的配置信息
 Linux下的dchp server主配置文件是/etc/dhcpd.conf文件。当dchp server正确安装后,/etc/dhcpd.conf文件时自动生成的,但是里面没有可以起作用内容但有注释。
/usr/share/doc/dhcp*/dhcpd.conf.sample文件CP /etc/dhcpd.conf 并且覆盖原来的文件:
[root@localhost ~]# cp /usr/share/doc/dhcp*/dhcpd.conf.sample  /etc/dhcpd.conf
接下来查看一下例子配置文件的内容:
[root@localhost ~]# vi /etc/dhcpd.conf
其中它包括大多的常用的配置语句,简单的介绍一下的不常见的配置语句及含义:
ddns-update-style interim     #说明了DHCP serverDNS server更新的类,是Linux下目前唯一的ddns式安全更新,是全局变量。
Option ntp-servers  a.b.c.d   #指定时间服务器的ip地址
Subnet a.b.0.0  netmask 255.255.0.0  #s是给定一个子网
Range dynamic-bootp a.b.c.129  a.b.c.254  #这个范围就是给客户的IP地址。注意千万不要和前一语句混淆。
一般情况下有{}成对出现的,就形成语句区,而每{}中的内容都对于“{”前的关键字起作用。
如果host 语句区有网关的参数时,那么首先使用该host的配置语句,如果没有,该主机将会从Subnet a.b.0.0  netmask 255.255.0.0网络中获得网关,从而使用,这个地方类似于“就进原则”。
讲理论比较容易晕人,举个的例,加以强化:
我现在的ip地址是192.168.27.248/24  网关:192.168.27.254   DNS202.103.96.112
 
那么主配置文件应该这样配置:
ddns-update-style interim;
ignore client-updates;
subnet 192.168.27.0 netmask 255.255.255.0{
option routers        192.168.27.254
option subnet-mask    255.255.255.0
range dynamic-bootp  192.168.27.1  192.168.27.128
default-lease-time     43200
max-lease-time       86400
}
这就是世界上最简单的dhcp server的主文件的配置,存盘。
4 DHCP server验证
  启动DHCP服务:
[root@localhost ~]# /etc/rc.d/init.d/dhcpd start   正常情况下是能够启动的。
 
看看是不是有DHCP 的进程在运行:
[root@localhost ~]# ps –eaf|grep dhcp        
 
Dhcp协议的默认的的监听端口是UDP -67端口,在服务器端通常由UDP-68端口回复信息 验证一下:
[root@localhost ~]# netstat –anp|grep :67
 
为了确保客服端能够收到信息,如果防火墙还没有打开UDP的端口,先打开放火墙:
[root@localhost ~]# iptables –I input –p udp –dport 67 –j accept
 
windows下配置客户端
右击“网上邻居”/属性,选择“本地连接”/属性,选择“tcp/ip”选项,将“常规”选项卡中的 “自动获得IP地址”和“自动获得DNS服务器地址”选中,然后点击“确定”按钮。那么就可以测试一下DHCP的工作情况了。如果有×××连接,同样的右击选择属性,选择“网络”标签,选择TCP/IP, 选中的 “自动获得IP地址”和“自动获得DNS服务器地址”,然后点击“确定”按钮。
 
查看“本地连接状态”可以看见相关信息,可以查看详细信息点击“详细”按钮。
一般的情况下,要有DNS 的备份,这样可以用DHCP serverIP地址。
 
Ip地址的绑定:
首先在客户机上“运行”cmd ,然后在DOS下键入”ipconfig/all”,
返回RHEL5系统,打开主配置文件
[root@localhost ~]# vi /etc/dhcpd.conf 
原有的语句不变,在host 语句块中修改如下两个语句:
Hardware etherent  客户端的物理网卡号;
Fixed-address      192.168.27.248;
记得把之前注释的“{”要取消注释
保存文档后,重启DHCP server 服务:
[root@localhost ~]# /etc/rc.d/init.d/dhcpd restart
为了可靠性 ,在客户端先把本地断开,然后再重新启用。