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 {
# --- default gateway
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;
option nis-domain "domain.org";
option domain-name "domain.org";
option domain-name-servers 192.168.2.1;
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.2.1;
# option netbios-name-servers 192.168.2.1;
# --- 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.2.2 192.168.2.25;
default-lease-time 21600;
max-lease-time 43200;
# we want the nameserver to appear at a fixed address
host ns {
next-server marvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD;
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
当然也需要验证,该服务是否配置成功
在客户端执行:
[root@freehat ~]# dhclient –d
可以查看其获取
ip
地址的过程
~
转载于:https://blog.51cto.com/freehat/282292