linux上DHCP服务在企业网中的应用

一,DHCP概述

1,动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。DHCP是实现主机IP地址DNS等动态配置的网络协议. (1)DHCP可以在多种操作系统中实现,包括最常用的LINUX系统和WINDOWS系统。 (2)DHCP网络服务的结构中具有服务器和客户机两个角色。 (3)DHCP服务器用于为网络中所有的DHCP客户机提供网络配置信息,在同一网络中, DHCP服务器通常是唯一存在在。 (4)网络中的任何主机都可以配置成为DHCP客户机,向DHCP服务器发出配置请求并按照服务器返回的信息进行网络配置。

2,DHCP服务器能够提供的网络配置信息 (1).网络接口的IP地址和子网掩码. (2).网络接口的IP地址对应的网络地址和广播地址 (3).默认网关地址 (4).DNS服务器地址

3,严格来说,在DHCP的正式标准中支持3种不同方式来指定客户端的IP地址信息:

(1) 手动指定IP地址(Manual):管理者必须为每个客户端指定一个固定的IP地址,然后在客户端计算机要求租用IP地址时,通过DHCP服务器将此IP地址分配给客户端;

(2) 自动指定IP地址(Automatic):IP地址的指定工作完全交给DHCP服务器来决定,而不需要经过管理员的手动输入;

(3) 动态指定IP地址(Dynamic):管理员在DHCP服务器中设置一个IP地址范围,然后在客户端提出IP地址租用的要求后,自动指派一个IP地址给客户端,但与前面两种方式不同的是指派给客户端的IP地址并非是无限制的使用,而客户端使用的时间完全由管理者自行决定。

4,DHCP的优点是:

(1) 可避免在计算机上手动设置状态时所造成的错误,可有效防止地址冲突;

(2) 可大大节省用于设置IP状态的时间。

二,DHCP工作原理

寻找 Server

当 DHCP 客户端第一次登录网络的时候,也就是客户发现本机上没有任何 IP 数据设定,它会向网络发出一个 DHCP DISCOVER 封包。因为客户端还不知道自己属于哪一个网络,所以封包的来源地址会为 0.0.0.0 ,而目的地址则为 255.255.255.255 ,然后再附上 DHCP discover 的信息,向网络进行广播。在 Windows 的预设情形下,DHCP discover 的等待时间预设为 1 秒,也就是当客户端将第一个 DHCP discover 封包送出去之后,在 1 秒之内没有得到响应的话,就会进行第二次 DHCP discover 广播。若一直得不到响应的情况下,客户端一共会有四次 DHCP discover 广播(包括第一次在内),除了第一次会等待 1 秒之外,其余三次的等待时间分别是 9、13、16 秒。如果都没有得到 DHCP 服务器的响应,客户端则会显示错误信息,宣告 DHCP discover 的失败。之后,基于使用者的选择,系统会继续在 5 分钟之后再重复一次 DHCP discover 的过程。

提供 IP 租用地址

当 DHCP 服务器监听到客户端发出的 DHCP discover 广播后,它会从那些还没有租出的地址范围内,选择最前面的空置 IP ,连同其它 TCP/IP 设定,响应给客户端一个 DHCP OFFER 封包。由于客户端在开始的时候还没有 IP 地址,所以在其 DHCP discover 封包内会带有其 MAC 地址信息,并且有一个 XID 编号来辨别该封包,DHCP 服务器响应的 DHCP offer 封包则会根据这些资料传递给要求租约的客户。根据服务器端的设定,DHCP offer 封包会包含一个租约期限的信息。

接受 IP 租约

如果客户端收到网络上多台 DHCP 服务器的响应,只会挑选其中一个 DHCP offer 而已(通常是最先抵达的那个),并且会向网络发送一个DHCP request广播封包,告诉所有 DHCP 服务器它将指定接受哪一台服务器提供的 IP 地址。同时,客户端还会向网络发送一个 ARP 封包,查询网络上面有没有其它机器使用该 IP 地址;如果发现该 IP 已经被占用,客户端则会送出一个 DHCPDECLIENT 封包给 DHCP 服务器,拒绝接受其 DHCP offer ,并重新发送 DHCP discover 信息。事实上,并不是所有 DHCP 客户端都会无条件接受 DHCP 服务器的 offer ,尤其这些主机安装有其它 TCP/IP 相关的客户软件。客户端也可以用 DHCP request 向服务器提出 DHCP 选择,而这些选择会以不同的号码填写在 DHCP Option Field 里面。

租约确认

当 DHCP 服务器接收到客户端的 DHCP request 之后,会向客户端发出一个 DHCPACK 响应,以确认 IP 租约的正式生效,也就结束了一个完整的 DHCP 工作过程。 DHCP 发放流程第一次登录之后:一旦 DHCP 客户端成功地从服务器那里取得 DHCP 租约之后,除非其租约已经失效并且 IP 地址也重新设定回 0.0.0.0 ,否则就无需再发送 DHCP discover 信息了,而会直接使用已经租用到的 IP 地址向之前的 DHCP服务器发出 DHCP request 信息,DHCP 服务器会尽量让客户端使用原来的 IP 地址,如果没问题的话,直接响应 DHCPack 来确认则可。如果该地址已经失效或已经被其它机器使用了,服务器则会响应一个 DHCPNACK 封包给客户端,要求其重新执行 DHCP discover。

三,案例

案例一:DHCP单作用域

650) this.width=650;” >

配置命令:

安装DHCP软件包

[root@localhost ~]rpm -ivh dhcp-3.0.5-13.el5.i386.rpm

[root@localhost ~]yum instal –y dhcp

[root@localhost ~]lchkconfig vsftpd on

[root@localhost ~]service dhcpd start

编辑文件

[root@station2 Server]# vim /etc/dhcpd.conf

650) this.width=650;” >

650) this.width=650;” >

配置后保存退出重启dhcp服务

[root@localhost ~]service dhcpd restart

测试

选择动态获取主机地址

650) this.width=650;” >

另一台客户端做静态绑定

[root@station2 Server]# vim /etc/dhcpd.conf

650) this.width=650;” >

650) this.width=650;” >

案例二:DHCP超级作用域

超级作用域概念:

超级作用域是由多个DHCP作用域组成的作用域,单个DHCP作用域只能包含一个固定的子网,而超级作用域可以包含多个DHCP作用域,从而包含多个子网。超级作用域主要用于解决以下问题:

当前单个DHCP作用域中的可用地址几乎耗尽,而且网络中将添加更多的计算机,需要添加额外的IP网络地址范围来扩展同一物理网段的地址空间;

DHCP客户端必须迁移到新作用域,例如重新规划IP网络编号,从现有的活动作用域中使用的地址范围迁移到使用另一IP网络地址范围的新作用域;

希望使用两个DHCP服务器在同一物理网段上管理分离的逻辑IP网络。

配置信息

[root@station2 Server]# vim /etc/dhcpd.conf

650) this.width=650;” >

650) this.width=650;” >

保存退出重启服务后测试:

650) this.width=650;” >

650) this.width=650;” >

案例三:DHCP中继

中继概念:

DHCP Relay 简介

DHCPRelay(DHCPR)DHCP中继 也叫做DHCP中继代理

如果DHCP客户机与DHCP服务器在同一个物理网段,则客户机可以正确地获得动态分配的ip地址。如果不在同一个物理网段,则需要DHCP Relay Agent(中继代理)。用DHCP Relay代理可以去掉在每个物理的网段都要有DHCP服务器的必要,它可以传递消息到不在同一个物理子网的DHCP服务器,也可以将服务器的消息传回给不在同一个物理子网的DHCP客户机。

650) this.width=650;” >

实验拓扑:

650) this.width=650;” >

服务器配置信息:

[root@station2 Server]# vim /etc/dhcpd.conf

650) this.width=650;” >

650) this.width=650;” >

保存退出并重启服务

三层交换配置信息:

650) this.width=650;” >

配置eth0 ip地址192.168.220.254

eth1 ip地址 192.168.10.254

eth2 ip地址 192.168.20.254

650) this.width=650;” >

开启ipv4功能

[root@station ~]# vim /etc/sysctl.conf

650) this.width=650;” >

开启三层交换机转发数据功能

[root@station ~]# sysctl –p

650) this.width=650;” >

开启中继服务(三层设备) [root@station ~]# mkdir /mnt/cdrom [root@station ~]# mount /dev/cdrom /mnt/cdrom/ [root@station ~]# cd /mnt/cdrom/Server/ [root@station Server]# rpm -ivh dhcp-3.0.5-21.el5.i386.rpm [root@station Server]# vim /etc/sysconfig/dhcrelay

650) this.width=650;” >

开启服务

[root@station Server]# service dhcrelay start [root@station Server]# chkconfig dhcrelay

测试:

650) this.width=650;” >

650) this.width=650;” >

心欲无痕

希望你灰暗的心情在此刻明亮起来,去迎接美好的明天!

linux上DHCP服务在企业网中的应用

相关文章:

你感兴趣的文章:

标签云: