搭建DHCP服务实现动态分配IP地址【详解】

搭建DHCP服务实现动态分配IP地址

 

一:实验内容

DHCP服务器工作原理

使用DHCP为局域网中的机器分配IP地址

使用DHCP为服务器分配固定IP地址

 

二:实验环境:

服务端:xuegod63  IP:192.168.1.70

客户端:RHEL-6.2-64-71  IP:192.168.1.71

客户端:RHEL-6.2-64-72  IP:192.168.1.72

 

三:实验步骤

第一块:概述

1:DHCP服务概述:

名称:DHCP  - Dynamic Host Configuration Protocol  动态主机配置协议

功能:DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作,

主要有两个用途:

1、 给内部网络或网络服务供应商自动分配IP地址,主机名,DNS服务器,域名

2、 配和其它服务,实现集成化管理功能。如:无人执守安装服务器

3、 特点: C/S 模式   客户端/服务端

自动分配IP地址,方便管理

DHCP不会同时租借相同的IP地址给两台主机

DHCP管理员可以约束特定的计算机使用特定的IP地址

客户机在不同子网间移动时不需要重新设置IP地址。每次都自动获取IP地址就可以了。

 

2:DHCP的缺点:

当网络上存在多服务器时,一个DHCP服务器不能查出已被其它服务器租出去的IP地址;

DHCP服务器不能跨路由器与客户机通信,除非路由器允许BOOTP协议转发

你的DHCP只能在一个局域网里工作

 

3:端口:

DHCP服务使用:端口67(bootps) 68(bootpc) 。

                     67是服务端 68是客户端

[[email protected]xuegod63~]#vim/etc/services

bootp协议:引导程序协议(BOOTP)。它可以让无盘工作站从一个中心服务器上获得IP地址,为局域网中的无盘工作站分配动态IP地址,并不需要每个用户去设置静态IP地址。

  BOOTP有一个缺点:您在设定前须事先获得客户端的硬件地址,而且,MCA地址与IP的对应是静态的。换而言之,BOOTP非常缺乏“动态性 ”,若在有限的IP资源环境中,BOOTP的一对一对应会造成非常可观的浪费。

   DHCP可以说是BOOTP的增强版本,它分为两个部分:一个是服务器端,而另一个是客户端。所有的IP网络设定数据都由DHCP服务器集中管理,并负责处理客户端的DHCP要求;而客户端则会使用从服务器分配下来的IP环境数据。比较BOOTP, DHCP透过“租约”的概念,有效且动态的分配客户端的TCP/IP设定,而且,作为兼容考虑,DHCP也完全照顾了BOOTP Client的需求。

 

4:DHCP服务运行原理:

DHCP客户端向服务端请求IP地址过程

 

                                

 

注释:

-------DHCP  DISCOVER ------->  udp 目标67  源IP0.0.0.0 目的IP:255.255.255.255

DHCP客户机寻找DHCP服务器的阶段。DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCP  discover信息来寻找DHCP服务器,即向地址255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应

<------DHCP   OFFER ----------udp  68  源IP是DHCP服务器的IP, 目的IP:  255.255.255.255,即DHCP服务器提供IP地址的阶段。在网络中接收到DHCP  discover发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的回复信息。

 

-------DHCP   REQUEST -------->udp 67 源IP0.0.0.0目的IP:255.255.255.255,即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。如果有多台DHCP服务器向DHCP客户机发来的DHCP  offer提供信息,则DHCP客户机只接受第一个收到的DHCP  offer提供信息,然后它就以广播方式回答一个DHCP  request请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP服务器所提供的IP地址。

 

<------DHCP   ACK ------------udp   68 源IP是服务器的IP 目的IP:  255.255.255.255,即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCP  request请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCP  ack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址

 

注意:

    客户端执行DHCP DISCOVER 后,如果没有DHCP 服务器响应客户端的请求,客户端会随机使用169.254.0.0/16 网段中的一个IP 地址,配置本机地址。169.254.0.0/16是windows的自动专有IP寻址范围,也就是在无法通过DHCP获取IP地址时,由系统自动分配的IP地址段。早先的Linux上并不会产生这条路由,现在有这条路由大概是为了和windows兼容

[[email protected]xuegod63 ~]# route –n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0

0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

 

5:安装软件

[[email protected]xuegod63 ~]# rpm -ivh /mnt/Packages/dhcp-common-4.1.1-25.P1.el6.x86_64.rpm

[[email protected]xuegod63 ~]# rpm -ivh /mnt/Packages/dhcp-4.1.1-25.P1.el6.x86_64.rpm

 

查看包被安装在哪里

 

/etc/dhcp/dhcpd.conf   #包的配置文件

 

Linux下的所有安装包都在/mnt/Packages/下面

[[email protected]xuegod63 ~]# vim /etc/dhcp/dhcpd.conf

 

 

[[email protected]xuegod63 ~]# vim /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample  

[[email protected]xuegod63 ~]# cp /etc/dhcp/dhcpd.conf  /etc/dhcp/dhcpd.conf.back

[[email protected]xuegod63~]#cp/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample  /etc/dhcp/dhcpd.conf

cp:是否覆盖"/etc/dhcp/dhcpd.conf"?

 

注:

当DHCP 主程序包安装好后会自动生成主配置文件的范本文件

/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample

而在/etc 目录下会建立一个空白的dhcpd.conf 主配置文件。

ls /etc/dhcp/dhcpd.conf

现在我们将范本配置文件复制到/etc 目录下替换掉空白dhcpd.conf 主配置文件。

[[email protected]3 ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample  /etc/dhcp/dhcpd.conf

 

6:服务启动关闭脚本,查看端口

[[email protected]xuegod63 ~]# /etc/init.d/dhcpd start

[[email protected]xuegod63 ~]# chkconfig dhcpd on

[[email protected]xuegod63 ~]# chkconfig --list dhcpd

dhcpd          0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭

修改其启动级别

[[email protected]xuegod63 ~]# chkconfig --level 6 dhcpd on

[[email protected]xuegod63 ~]# chkconfig --level 3 dhcpd off

[[email protected]xuegod63 ~]# chkconfig --list dhcpd

dhcpd          0:关闭1:关闭2:启用3:关闭4:启用5:启用6:启用

 

7:DHCP配置文件参数说明

说明:

   dhcp 范本配置文件内容包含了部分参数、声明以及选项的用法,其中注释部分可以放在任何位

置,并以“#”号开头,当一行内容结束时,以“;”号结束,大括号所在行除外

可以看出整个配置文件分成全局和局部两个部分。但是并不容易看出哪些属于参数,哪些属于声明和选项。

概念与协议:

作用域:可以分配IP的范围 subnet

地址池:可以分配给客户端的IP,range包括的IP

保留地址:指定某个客户端使用一个特定IP,通过host配置的

租约(时间):客户端可以使用这个IP地址的时间

配置文件:/etc/dhcp/dhcpd.conf 部分配置解释

# option definitions common to all supported networks...    #定义全局配置,通用于所有支持的网络选项.

option domain-name "example.org";    #为客户端指定所属的域

option domain-name-servers ns1.example.org, ns2.example.org;  #为客户端指定DNS服务器地址

default-lease-time number(数字)

  default-lease-time 600;     

作用:定义默认IP 租约时间,以秒为单位的租约时间。

50%:续约。(续不上继续用)

87.5%:再次续约。(续不上找别人) 

DHCP工作站除了在开机的时候发出 DHCPrequest 请求之外,在租约期限一半的时候也会发出 DHCPrequest ,如果此时得不到 DHCP服务器的确认的话,工作站还可以继续使用该IP;当租约期过了87.5%时,如果客户机仍然无法与当初的DHCP服务器联系上,它将与其它 DHCP服务器通信。如果网络上再没有任何DHCP协议服务器在运行时,该客户机必须停止使用该IP地址,并从发送一个Dhcpdiscover数据包开 始,再一次重复整个过程。要是您想退租,可以随时送出 DHCPRELEASE 命令解约,就算您的租约在前一秒钟才获得的。

4max-lease-time 7200;  (数字)

作用:定义客户端IP租约时间的最大值,当客户端超过租约时间,却尚未更新IP 时,最长可以使用该IP 的时间;

 

例:

比如,机器在开机获得IP地址后,然后关机了。这时,当时间过了default-lease-time 600秒后,没有机器向DHCP续约,DHCP会保留7200秒,保留此IP地址不用于分配给其它机器。 当超过7200秒后,将不再保留此IP地址给此机器。

注意:3)、(4)都是以秒为单位的租约时间,该项参数可以作用在全局配置中,也可以作用在局部配置中。

log-facility local7;   #定义日志类型为  local7

声明一般用来指定IP 作用域、定义为客户端分配的IP 地址池等等

 

声明格式如下:

subnet 网络号 netmask 子网掩码 {

选项或参数

}

常见声明的使用如下:

1subnet 网络号 netmask 子网掩码 {......}

作用:定义作用域,指定子网

如:

 

注意:网络号必须与DHCP 服务器的网络号相同

 

下面介绍以下每个选项的含意:

(1)range 起始IP 地址 结束IP 地址

作用:指定动态IP 地址范围

注意:可以在subnet(子网) 声明中指定多个range,但多个range 所定义IP 范围不能重复

常用选项介绍

选项通常用来配置DHCP 客户端的可选参数,比如定义客户端的DNS 地址、默认网关等等。选项

内容都是以option 关键字开始。

常见选项使用如下:

1option routers IP 地址

作用:为客户端指定默认网关

如:option routers 10.5.5.1;

3option domain-name-servers IP 地址

作用:为客户端指定DNS 服务器地址

注意:(1)(2)(3)选项可以用在全局配置中,也可以用在局部配置中。

租约数据库文件

租约数据库文件用于保存一系列的租约声明,其中包含客户端的主机名、MAC 地址、分配到的IP地址,以及IP地址的有效期等相关信息。这个数据库文件是可编辑的ASCII 格式文本文件。每

当发生租约变化的时候,都会在文件结尾添加新的租约记录。

DHCP 刚安装好后租约数据库文件dhcpd.leases 是个空文件

/var/lib/dhcpd/dhcpd.leases

DHCP 服务正常运行后就可以使用cat 命令查看租约数据库文件内容了

 

 

实例:

  1:分配IP地址

   公司有60 台计算机,IP 地址段为192.168.1.2-192.168.1.254,子网掩码是255.255.255.0,网关为192.168.1.1,保留地址段192.168.1.2-192.168.1.30 网段地址给服务器配置,客户端可以使用的地址段为192.168.1.100—192168.1.200其余剩下的IP 地址为保留地址。

 

实验环境:

    我的虚拟机使用桥接模式是否可行? 不行,因为你的局域网中有可能就有DHCP服务器,这样你就很难你的客户端是从你的DHCP服务器获得IP地址。另外,也可能造成公司局域网中其它机器因为获得了你DHCP服务器上的IP地址,而上不了网。

xuegod63.cn   :192.168.0.63     虚拟机网卡: vmnet4

xuegod64.cn   :192.168.0.64     虚拟机网卡: vmnet4

[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

[[email protected] ~]# service network restart

1):修改DHCP配置文件

[[email protected] ~]# vim /etc/dhcp/dhcpd.conf

只保留:

subnet 192.168.0.0 netmask 255.255.255.0 {

  range 192.168.0.100 192.168.0.200;

  option domain-name-servers 192.168.0.1;

  option domain-name "internal.example.org";

  option routers 192.168.0.1;

  option broadcast-address 192.168.0.255;

  default-lease-time 600;

  max-lease-time 7200;

}

2):重启dhcp服务

[[email protected] ~]# service dhcpd restart

然后xuegod64改为自动获取IP地址。

将xuegod63和xuegod64 的网卡模式改为:

 

然后xuegod64改为自动获取IP地址。

查看:

[[email protected] ~]# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:12:EC:1E  

          inet addr:192.168.0.200  Bcast:192.168.0.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fe12:ec1e/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:5084 errors:0 dropped:0 overruns:0 frame:0

          TX packets:5087 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:664380 (648.8 KiB)  TX bytes:521089 (508.8 KiB)

3)查看默认网关

[[email protected] ~]# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0

0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

 

4)查看DNS

[[email protected] ~]# cat /etc/resolv.conf

; generated by /sbin/dhclient-script

search internal.example.org com

nameserver 192.168.0.1

 

5)查看租约数据库文件

[[email protected] dhcp]# cat /var/lib/dhcpd/dhcpd.leases

# The format of this file is documented in the dhcpd.leases(5) manual page.

# This lease file was written by isc-dhcp-4.1.1-P1

server-duid "\000\001\000\001\030\233\206H\000\014)H\200\237";

 

lease 192.168.0.200 {

  starts 3 2013/01/30 07:30:16;

  ends 3 2013/01/30 07:40:16;

  cltt 3 2013/01/30 07:30:16;

  binding state active;

  next binding state free;

  hardware ethernet 00:0c:29:12:ec:1e;

}

2:IP 地址绑定

    DHCP 中的IP 地址绑定用于给客户端分配固定IP 地址。比如服务器需要使用固定IP 地址就可以使用IP 地址绑定,通过MAC 地址与IP 地址的对应关系为指定的物理地址计算机分配固定IP地址。

整个配置过程需要用到 host 声明和hardwarefixed-address 参数。

1host 主机名 {......}

作用:用于定义保留地址

2hardware 类型 硬件地址

作用:定义网络接口类型和硬件地址。常用类型为以太网(ethernet,地址为MAC 地址。

3fixed-address IP 地址

作用:定义DHCP 客户端指定的IP 地址。

[[email protected] ~]# vim /etc/dhcp/dhcpd.conf   # 找到对应的子网范围,修改成以下内容

subnet 192.168.0.0 netmask 255.255.255.0 {

  range 192.168.0.100 192.168.0.200;

  option domain-name-servers 192.168.0.1;

  option domain-name "internal.example.org";

  option routers 192.168.0.1;

  option broadcast-address 192.168.0.255;

  default-lease-time 600;

  max-lease-time 7200;

  host xuegod63 {    #这一段内容,要写在subnet字段中,和subnet配合使用。

    hardware ethernet 00:0C:29:12:ec:1e;

    fixed-address 192.168.0.251;

 }

}

时间: 2024-12-15 01:44:56

搭建DHCP服务实现动态分配IP地址【详解】的相关文章

搭建DHCP服务实现动态分配IP地址

服务介绍 DHCP服务概述: 名称:DHCP  - DynamicHost Configuration Protocol  动态主机配置协议 功能:DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途: 1.给内部网络或网络服务供应商自动分配IP地址,主机名,DNS服务器,域名 2.配和其它服务,实现集成化管理功能.如:无人执守安装服务器 3.特点: C/S 模式   客户端/服务端 DHC

2-4-搭建DHCP服务实现动态分配IP地址-NTP网络时间同步

本节所讲内容: ?DHCP服务器工作原理 ?使用DHCP为局域网中的机器分配IP地址 ?使用DHCP为服务器分配固定IP地址 ?ntpdate加计划任务同步服务器时间 -------------------------------------------------------- 扩展:查看默认的服务监听端口 cat /etc/services #所有服务默认端口都保存在这个文件中 cat /etc/services | grep ssh route -n #查看路由表信息 [[email pr

cenos修改ip地址详解

一.CentOS 修改IP地址 修改对应网卡的IP地址的配置文件 # vi /etc/sysconfig/network-scripts/ifcfg-eth0   电信 # vi /etc/sysconfig/network-scripts/ifcfg-eth0:1 网通 修改以下内容 DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0 BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别

linux下搭建dhcp服务器及部署中继代理详解

搭建DHCP服务器,本机eth0网卡IP为1.1.1.18/24,网关为1.1.1.20 yum install -y dhcp  安装dhcp rpm软件包 cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample  /etc/dhcpd.conf vim /etc/dhcpd.conf,主要修改以几行: subnet 1.1.1.0 netmask 255.255.255.0 {              #设置子网段 option routers    

Windows Azure IP地址详解

Windows Azure上的IP地址有以下几种: 公网IP地址 VIP ILPIP Reserved IP 内网IP地址 DIP Static IP VIP是动态分配的公网IP,VIP可以被分配到云服务.负载均衡器.VPN网关和应用网关等实例.当实例(云服务.负载均衡器.VPN网关和应用网关)被销毁后,VIP即刻被回收.用户不能永久有用某个特定的VIP.因此务必不用将域名解析的A记录指向到VIP,也尽量不要使用VIP来访问云服务.理论上只要用户不销毁重建实例,VIP就不会发生改变.但是,如果遇

如何设置CentOS 7开机自动获取IP地址详解

本例中以CentOS 7举例说明如何设置Linux开机自动获取IP地址和设置固定IP地址. 自动获取动态IP地址 1.输入"ip addr"并按回车键确定,发现无法获取IP(CentOS 7默认没有ifconfig命令),记录下网卡名称(本例中为ens33,下图黄色框内). 2.输入"cd /etc/sysconfig/network-scripts/"按回车键确定,继续输入"ls"按回车键查看文件. 3.输入"vi ifcfg-ens

【科普】IP地址详解-你,是谁?(二)

我听见了你的声音也藏着颗不敢见的心薛之谦--<我好像在哪见过你> IP这个单词随着互联网的发达而被人们熟知,但其中还藏着诸多内容不被人所熟知,那么今次接着上回详解的内容往下讲,同时在这里也要向为这篇文章提出意见和鼓励的知友们真挚的道声谢,感谢你们的支持和鼓励,祝好. 1. IP地址分为有类和无类 1.1 简介 在我们的实现生活IP地址分为有类和无类. 有类(主类)IP地址:主要分为A.B.C类,每种类型固定的掩码. 无类IP地址:无论哪种类型的IP地址都没有固定掩码. 1.2 什么是掩码(子网

IP地址详解-你,是谁?

一.简介 在生活中我们使用具有上网功能的电子设备都有IP地址,就跟每个人都有自己的名字一样.IP地址分为IPV4 IPV6,我们所说的的IP地址指的是IPV4的地址. 只要记住你的名字 不管你在世界的哪个地方 我一定会,去见你. --新海诚<你的名字> IPV4( Internet Protocol Version 4 ) 互联协议版本4,有版本V4之前就有IPV1 IPV2 IPV3,同样有IPV5 IPV6,IPV5在实验中已经夭折,替代IPV4的将是IPV6.(IPV4地址比如:192.

IP地址详解

IP地址 一.查看IP地址:ipconfig /all查看本地计算机地址详细信息: IP地址:192.168.25.13 子网掩码:255.255.255.0 网关:192.168.25.1 DNS:61.139.2.69 二.什么是IP地址? IP地址是计算机在网络中的一个位置: 一台计算机在网络中标识的位置使用IP地址来表示: 三.IP地址的表示方式: IP地址以点分十进制,四个字节32个位来标识: 位:一位二进制树 字节:八位二进制表示一个字节 8bit=1byte 四.IP地址 最大的I