DHCP服务器的架设
DHCP- 是Dynamic Host Configuration Protocol 动态主机分配协议的缩写,但是它的前身是BOOTP。该协一般应用在大的网络配置中,可以省去管理员为每个主机配置的ip地址,以及在配置中出现ip地址冲突。
1 先确认要作为DHCP服务器的主机上的DHCP 的rpm包是否安装,
# rpm -qa dhcp
如果没有安装则需要挂载本地光盘,并安装dhcp rpmbao
#mkdir /media/cdrom
#mount /dev/cdrom /media/cdrom
#cd /media/cdrom/Server
2在redaht 5.4 上提供的是dhcp-3.0.5-21.el5.i386.rpm
#rpm –vhi dhcp-3.0.5-21.el5.i386.rpm
warning: dhcp-3.0.5-21.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:dhcp ########################################### [100%]
3 在安装完dhcp的rpm包后,可以查看系统自动为之安装的文件
Dhcp的主配置文:etc/dhcpd.conf 但是在redhat 5.4 上是个空文件,在配置前需要拷贝模板文件, /usr/share/doc/dhcp*/dhcpd.conf.sample
服务脚本文件是:/etc/rc.d/init.d/dhcpd
Dhcp中继器的脚本文件:/etc/rc.d/init.d/dhcrelay
Dhcp执行参数文件:/etc/sysconfig/dhcpd
Dhcp 中继器的执行参数文件:/etc/sysconfig/dhcrelay
Dhcp 的租钥文件/var/lib/dhcpd/dhcpd.leases/
Dhcp服务器的监听端口是68 而dhcp中继器服务器的监听端口是67
4 dhcp客户端向dhcp服务器发送请求的过程分为四个阶段
Dhcpdiscovery ;dhcpoffer ; dhcprequest ;dhcpack
5 因为dhcp的主配置文件默认是空的 ,所以 在配置dhcp服务器是,应先拷贝主配置文件
[root@freehat ~]# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
subnet 192.168.0.0 netmask 255.255.255.0 {
注:subnet是指的会dhcp 服务器中的地址池的ip地址所在的网络,但是注意的是dhcp服务器的ip地址必须在该网络内,不然,dhcp服务启动不了,显然netmask 是子网掩码
# --- default gateway
option routers 192.168.0.1;
注:这是dhcp客户端在获取IP地址时自动获得的网关
option subnet-mask 255.255.255.0;
注:dhcp客户端,获得到的子网掩码
option nis-domain "domain.org";
注: 为dhcp客户端在获取地址的同时自动为之配置nis服务器的域名、
option domain-name "domain.org";
注 在dhcp获得地址的同时也有获得域名
option domain-name-servers 192.168.1.1;
注:为客户指向dns服务器
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
该项是指的网络时间服务器
# option netbios-name-servers 192.168.1.1;
该项指的是,wins服务器
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range 192.168.0.10 192.168.0.20
当然在配置dhcp服务器是这是最关键的,应为只是dhcp的地址池,当客户端发送请求,服务器端在接到请求是会自动的在地址池中找未用的ip地址,但是Linux 上的dhcp服务器是按照从大到小的顺序为客户端分配ip地址的
default-lease-time 21600;
该项是指的是dhcp的默认的租用期限
max-lease-time 43200;
该项是指dhcp的最大热租用期限
注:dhcp 客户端在获得到ip地址 后,当使用的时间达到租期的一半是就会就会向DHCP服务器续约,当续约不成功时,dhcp客户端就会在租约的87%,还会继续续约,如果还不能成功是,则客户端还会继续使用当足月到期时,就会释放该ip地址,但是在续约是库胡端使用的是单播;dhcp客户端就会发送DHCPDISCOVER包,
# we want the nameserver to appear at a fixed address
当然有时,也会为一些主机绑定ip地址,因此就可以用下面的host,为某些主机
绑定ip地址
Hardware ethernet:该项是指的要绑定主机的mac地址
Fixed-address :是指的是要绑定的ip地址
例如 host ns {
;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 192.168.1.2;
}
}
7 这里我们配置个完整的dhcp服务器的过程,当然在配置dhcp先安装dhcp软件包,这里就不在重复上面的过程了
值得注意的是: dhcp服务器的ip地址 必须在该地址池中,否则dhcp服务不能启动
在subnet的网络号必须和rang中的地址池相对应
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.1;
option domain-name-servers 192.168.2.1;
# option ntp-servers 192.168.2.1;
# option netbios-name-servers 192.168.2.1;
range 192.168.2.2 192.168.2.25;
host ns {
next-server marvin.redhat.com;
fixed-address 207.175.42.254;
当然我这里指是个例子,仅供参考
8 启动dhcp服务,并 把该服务加入到开机启动队列中
# service dhcpd start
# chkconfig dhcpd on
9 接下来可以验证刚才的实验是否成功,如果用的是虚拟机做的实验,则可以在开启一台虚拟主机,并让其的网卡类型在同一个通道中,并让其网开的设置成自动获取的方式,当获取成功是,如果是Windows,可以在dos窗口中执行命令: ipconfig /all
来查看其获得ip地址及dns 网关,等其他信息
如果是Linux的客户端时则可以,执行
[root@freehat ~]# dhclient –d 可以查看其获取ip地址的过程
~
执行ifconfig 查看器获取的ip地址
DHCP 中继服务器
1有时考虑其他的因素,不能在两个网络中同时配置两台DHCP服务器,但是有时有的路由器符合RFC1542 的协议是,则 不需要配置中继代理,但是有时有些路由器支持中继代理的,价格比较昂贵,所以有是会考虑; 用Windows server或者Linux主机来配置dhcp中继代理服务,当然这里的配置是用linux来配置的。
2 当然,我们还需要配置dhcp服务器,在这里就略过,但是在配置dhcp是必须指出默认网关,不然,需要中继的网络不能获得ip地址
3 在配置dhcp中继代理是同样需要安装dhcp 的rpm 包,但是需要配置/etc/sysconfig/dhcrelay
Vim /etc/sysconfig/dhcrelay
INTERFACES=""
该项是dhcp代理服务器监听的网卡,如果有多快网卡则在填写多快网开并用“,”分开
DHCPSERVERS=""
该项是指明dhcp服务器的ip地址
4 关闭dhcp代理服务器的dhcp服务,并启用dhcrelay 服务,并加入到开机启动列队中
[root@freehat ~]# service dhcrelay stop
[root@freehat ~] chkconfig dhcpd off
[root@freehat ~]# service dhcrelay start
[root@freehat ~] chkconfig dhcrelay on
5 当然也需要验证,该服务是否配置成功
在客户端执行:
本文转自 freehat08 51CTO博客,原文链接:,如需转载请自行联系原作者