您的位置:首页 > 运维架构 > Linux

LINUX DHCP服务器在企业中的应用

2012-08-14 10:54 519 查看
DHCP[/b]协议是什么?  [/b]

   动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。
DHCP [/b]是怎么运作的?[/b]
假设多部计算机在同一个网域当中,也就是说,DHCP Server 与他的 Clients 都在同一个网段之内,可以透过软件广播的方式来达到相互沟通的状态。那么Client 藉由 DHCP Server 得到 IP 的程序为:




 ①若 Client 端计算机设定使用 DHCP 协议以取得网络参数时,则Client 端计算机在开机的时候,或者是重新启动网络卡的时候,会自动的发出 DHCPClient 的需求给网域内的每部计算机:这个时候,由于发出的讯息希望每部计算机都可以接受,所以该讯息除了网络卡的硬件地址(MAC)无法改变外,需要将该讯息的来源软件地址设定为0.0.0.0 ,而目的地址则为 255.255.255.255 ( Linux 会自动设定,无须考虑这个问题!)。网域内的其它没有提供DHCP 服务的计算机,收到这个封包之后会自动的将该封包丢弃而不回应;
  ②DHCP 主机响应讯息:如果是 DHCP 主机收到这个Client 的 DHCP 需求时,那么 DHCP 主机首先会针对该次需求的讯息所携带的 MAC与 DHCP 主机本身的设定值去比对,如果 DHCP 主机的设定有针对该 MAC 做静态IP (每次都给予一个固定的 IP )的提供时,则提供 Client 端相关的固定 IP 与相关的网络参数;而如果该讯息的MAC 并不在 DHCP 主机的设定之内时,则 DHCP 主机会选取目前网域内没有使用的IP (这个 IP 与设定值有关) 来发放给 client 端使用!此外,需要特别留意的是,在DHCP 主机发放给 Client 端的讯息当中,会附带一个『租约期限』的讯息,以告诉Client 端,IP 可以使用的期限有多长!

  ③Client 端接受来自 DHCP 主机的网络参数,并设定 Client自己的网络环境:当 Client 端接受响应的讯息之后,首先会以 ARP 封包在网域内发出讯息,以确定来自DHCP 主机发放的 IP 并没有被占用!如果该 IP 已经被占用了,那么 Client 对于这次的DHCP 信息将不接受,而将再次向网域内发出 DHCP 的需求广播封包;若该 IP 没有被占用,则client 可以接受 DHCP 主机所给的网络的参数,那么这些参数将会被使用于 client端的网络设定当中,同时, Client 端也会对 DHCP 主机发出确认封包,告诉 Server这次的需求已经确认!而 Server 也会将该信息记录下来;

  ④Client 端结束该 IP 的使用权:当 Client 开始使用这个DHCP 发放的 IP 之后,有几个情况下他可能会失去这个 IP 的使用权:

  Client 端离线:不论是关闭网络接口( ifdown)、重新开机 ( reboot )、关机 ( shutdown ) 等行为,皆算是离线状态,这个时候Server 端就会将该 IP 回收,并放到 Server 自己的备用区中,等待未来的使用;

  Client 端租约到期:前面提到 DHCP server 端发放的IP 有使用的期限, Client 使用这个 IP 到达期限规定的时间,就需要将 IP 缴回去!这个时候就会造成断线,而Client 也可以再向 DHCP 主机要求再次分配 IP!

  以上就是 DHCP 这个协议在 Server 端与 Client 端的运作状态,由上面这个运作状态来看,可以明白,只要Server 端设定没有问题,加上 Server 与 Client 在硬件联机上面确定是 OK 的,那么Client 就可以直接藉由 Server 来取得上网的网络参数,当然啦,只要我们这些管理员能够好好的、正确的管理好我们的DHCP 。

===========================================================================================

下面,我们就做个LINUX下的DHCP服务器案例

给服务器配置静态[/b]IP[/b]地址:[/b][/b]

输入命令:[root@localhost ~]# setup
出现如下界面:





选择Network configuration





选择编辑设备





选择eth0网卡





设置以上参数。
===========================================================================================

挂载[/b]REDHAT[/b]光盘:[/b][/b]
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
===========================================================================================

配置[/b]YUM[/b]客户端:[/b][/b]
[root@localhost ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo





配置命令如下:直接粘贴进去就行了[/b]
[rhel-Server]
name=Red Hat Enterprise Server $releasever - $basearch - Debug
baseurl=file:///mnt/cdrom/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[rhel-VT]
name=Red Hat Enterprise VT $releasever - $basearch - Debug
baseurl=file:///mnt/cdrom/VT
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[rhel-Cluster]
name=Red Hat Enterprise Cluster $releasever - $basearch - Debug
baseurl=file:///mnt/cdrom/Cluster
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[rhel-ClusterStorage]
name=Red Hat Enterprise ClusterStorage $releasever - $basearch – Debug
baseurl=file:///mnt/cdrom/ClusterStorage
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

然后保存,退出。
===========================================================================================

安装[/b]DHCP[/b]服务器:[/b][/b]
[root@localhost cdrom]# yum install -y dhcp





===========================================================================================

配置[/b]DHCP[/b]配置文件:[/b][/b]
[root@localhost cdrom] # vim /etc/dhcpd.conf
进入底行模式输入:-r /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample





在VIM编辑器的插入模式做以上修改。

===========================================================================================

dhcp.conf文件详解:  

/etc/dhcpd.conf通常包括三部分:parameters[/b]、declarations[/b] 、option[/b]。

  1.DHCP配置文件中的parameters(参数):表明如何执行任务,是否要执行任务,或将哪些网[/b]

  络配置选项发送给客户[/b]

  参 数 解 释

  ddns-update-style 配置DHCP-DNS 互动更新模式。

  allow/igore client-updates 允许/忽略客户端机更新DNS记录。

  default-lease-time 指定确省租赁时间的长度,单位是秒。

  max-lease-time 指定最大租赁时间长度,单位是秒。

  hardware 指定网卡接口类型和MAC地址。

  server-name 通知DHCP客户服务器名称。

  get-lease-hostnames flag 检查客户端使用的IP地址。

  fixed-address ip 分配给客户端一个固定的地址。

  authritative 拒绝不正确的IP地址的要求。

  2.DHCP配置文件中的declarations (声明):用来描述网络布局、提供客户的IP地址等[/b]

  声 明 解释[/b]

  shared-network 名称 {....} 定义超级作用域。

  subnet 网络号 netmask 子网掩码 定义作用域(或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 设置服务器从引导文件中装如主机名,应用

  于无盘工作站。

  3. DHCP配置文件中的option(选项):用来配置DHCP可选参数,全部用option关键字作为开[/b]

  始

  选 项 解 释

  subnet-mask 为客户端设定子网掩码。

  domain-name 为客户端指明DNS名字。

  domain-name-servers 为客户端指明DNS服务器IP地址。

  host-name 为客户端指定主机名称。

  routers 为客户端设定默认网关。

  broadcast-address 为客户端设定广播地址。

  ntp-server 为客户端设定网络时间服务器IP地址。

  time-offset 为客户端设定和格林威治时间的偏移时间,单位是秒。

  netbios-nade-type 为客户端指定节点类型。

  netbios-name-servers 为客户端指定WINS服务器的IP地址

  nis-servers 为客户端指定NIS域服务器的地址

  nis-domain 为客户端指定所属的NIS域的名称

  注意:如果客户端使用的是视窗操作系统,不要选择"host-name"选项,即不要为其指定主机
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息