DHCP:

DHCP服务器必须有固定的IP地址

[root@localhost~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:82:09:E9
ONBOOT=yes
IPADDR=192.168.10.1
NETMASK=255.255.255.0

重启network服务

[root@localhost~]# service network restart
正在关闭接口 eth0:                                        [确定]
关闭环回接口:                                             [确定]
弹出环回接口:                                             [确定]
弹出界面 eth0:                                            [确定]

安装dhcpRPM包或者直接配置yum直接yum安装

[root@localhostServer]# rpm -ivh dhcp-3.0.5-31.el5_8.1.x86_64.rpm
[root@localhost ~]# yum install -y dhcp

编辑dhcp主配置文件

[root@localhost~]# vim /etc/dhcpd.conf
# DHCP ServerConfiguration file.
#   see/usr/share/doc/dhcp*/dhcpd.conf.sample  

末行模式:读取/usr/share/doc/dhcp*/dhcpd.conf.sample文件
:r/usr/share/doc/dhcp*/dhcpd.conf.sample

读进dhcpd.conf文件内容
ddns-update-style interim;                              //配置使用过度性DHCP-DNS互动更新 
ignore client-updates;                                  //配置使用过度性DHCP-DNS互动更新 
subnet 192.168.10.0 netmask 255.255.255.0 {             //网段不能写错
       option routers                  192.168.10.254;  //网关
       optionsubnet-mask              255.255.255.0;    //子网掩码
       optiondomain-name-servers      202.106.0.20;     //DNS服务器地址
       range dynamic-bootp192.168.10.20 192.168.10.50;  //动态分配的地址范围
       default-lease-time21600;                         //默认最少连接时间
       max-lease-time 43200;                            //默认最大连接时间
       host ns {                                        //给指定主机分配固定IP地址
               next-servermarvin.redhat.com;            //设置用于定义服务器从引导文件中装入的主机名, 用于无盘工作站
               hardwareethernet 12:34:56:78:AB:CD;      //指定主机的MAC地址
               fixed-address192.168.10.88;              //分配的IP地址
       }
}

dhcp主配置文件进行测试

[root@localhost~]# service dhcpd configtest
Syntax: OK

重启服务dhcpd设为开机自启动

[root@localhost~]# service dhcpd restart
关闭 dhcpd:                                              [确定]
启动 dhcpd:                                              [确定]
[root@localhost~]# chkconfig dhcpd on

查看客户端IP地址

[root@localhost~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:FB:05:24  
         inet addr:192.168.10.50  Bcast:192.168.10.255  Mask:255.255.255.0

配置DHCP中继服务器

设置eth0IP地址

[root@localhost~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:FB:05:24
ONBOOT=yes
IPADDR=192.168.10.254
NETMASK=255.255.255.0

设置eth1IP地址

[root@localhost~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
HWADDR=00:0C:29:FB:05:2E
ONBOOT=yes
IPADDR=192.168.20.254
NETMASK=255.255.255.0

开启路由转发功能

[root@localhost~]# vim /etc/sysctl.conf
net.ipv4.ip_forward= 1
[root@localhost~]# sysctl -p

编辑dhcrelay文件,监听eth0.eth1两个网卡,DHCP服务器地址

[root@localhost~]# vim /etc/sysconfig/dhcrelay
DHCRELAYARGS=""
INTERFACES="eth0eth1"
DHCPSERVERS="192.168.10.1"

重启dhcrelay服务

[root@localhost~]# service dhcrelay restart

服务器端查看分配出去的IP地址

[root@server1 ~]#cat /var/lib/dhcpd/dhcpd.leases

dhcpd.conf配置文件的详细说明

parameters(参数):
ddns-update-style 配置DHCP-DNS互动更新模式
default-lease-time 指定缺省租赁时间的长度,单位是秒
max-lease-time 指定最大租赁时间长度,单位是秒
hardware 指定网卡接口类型和MAC地址
server-name 通知DHCP客户服务器名称
get-lease-hostnames flag 检查客户端使用的IP地址
fixed-address ip 分配给客户端一个固定的地址
authritative 拒绝不正确的IP地址的要求
 
declarations(声明):
shared-network 用来告知是否一些子网络分享相同网络
subnet 描述一个IP地址是否属于该子网
range 起始IP 终止IP 提供动态分配IP 的范围
host 主机名称 参考特别的主机
group 为一组参数提供声明
allow unknown-clients或deny unknown-client 是否动态分配IP给未知的使用者
allow bootp或deny bootp 是否响应激活查询
allow booting或deny booting 是否响应使用者查询
filename 开始启动文件的名称,应用于无盘工作站
next-server 设置服务器从引导文件中装如主机名,应用于无盘工作站
 
option(选项):
subnet-mask 为客户端设定子网掩码
domain-name 为客户端指明DNS名字
domain-name-servers 为客户端指明DNS服务器IP地址
host-name 为客户端指定主机名称
routers 为客户端设定默认网关
broadcast-address 为客户端设定广播地址
ntp-server 为客户端设定网络时间服务器IP地址
time-offset 为客户端设定和格林威治时间的偏移时间,单位是秒。