linux基础第6节 ----配置与管理DHCP服务器(1)

目录

一.DHCP相关知识

1 .DHCP 服务概述

2.DHCP的工作过程

 (1). DHCP客户机发送IP租约请求

(2). DHCP服务器提供IP地址

(3). DHCP客户机进行IP租用选择

(4).DHCP服务器IP租用认可

3.DHCP服务器分配给客户端的IP地址类型

 Ⅰ.动态IP地址

Ⅱ.静态IP地址

二.项目设计及准备

1.项目设计

2.项目需求准备

3.项目实施

Ⅰ.安装DHCP相关软件

 Ⅱ.熟悉DHCP主配置文件

三.配置DHCP的应用案例

Ⅰ.案例需求

Ⅱ.网络环境搭建

 服务端:redhat 8相关配置

客户端1.centos7

客户端2.centos8

Windows客户端配置

在服务端查看租约数据库文件


       在一个计算机比较多的网络中,如果要为整个企业的上百台机器逐一进行IP地址的配置,绝不是一个轻松的工作。为了方便,快捷的完成这些工作,很多时候会采用动态主机协议(Dynamic Host Configuration Protocol,DHCP)来自动为客户端配置IP地址,默认网关等信息。

一.DHCP相关知识

1 .DHCP 服务概述


        DHCP是一个局域网的网络协议,使用UDP工作,主要有两个用途:一是用于内部网或网络服务供应商自动分配IP地址;二是给用户用于内部网管理员作为对所有计算机作中央管理的手段。

       DHCP基于客户/服务器模式,当DHCP客户端启动时,它会自动与DHCP服务器通信,要求提供自动分配IP地址的服务,而安装了DHCP服务软件的服务器则会响应要求。

        DHCP是一个简化主机IP地址分配管理的TCP/IP标准协议,用户可以利用DHCP服务器管理动态的IP地址分配及其他相关的环境配置工作,如DNS服务器,WINS服务器,Gateway(网关)的设置。
        在DHCP机制中可以分为服务器和客户端两个部分服务器使用固定的IP地址,在局域网中扮演着给客户端提供动态IP地址、DNS配置和网管配置的角色。客户端与IP地址相关的配置,都在启动时由服务器自动分配。

2.DHCP的工作过程

 (1). DHCP客户机发送IP租约请求


      当客户端启动网络时,由于在IP网络中的每台机器都需要有一个地址,所以此时的计算机TCP/IP地址与0.0.0.0绑定在一起。它会发送一个“DHCP Discover ( DHCP发现)”广播信息包到本地子网。该信息包发送给UDP端口67,即DHCP/BOOTP服务器端口的广播信息包。

(2). DHCP服务器提供IP地址

       本地子网的每一个 DHCP服务器都会接收“DHCP Discover”信息包。每个接收到请求的DHCP服务器都会检查它是否有提供给请求客户端的有效空闲地址,如果有,则以“DHCPOffer ( DHCP提供)”信息包作为响应。该信息包包括有效的IP地址、子网掩码、DHCP服务器的IP地址、租用期限,以及其他的有关DHCP范围的详细配置。所有发送“DHCP Offer”信息包的服务器将保留它们提供的这个IP地址(该地址暂时不能分配给其他的客户端)。“DHCP Offer” 信息包广播发送到UDP端口68,即DHCP/BOOTP客户端端口。响应是以广播的方式发送的,因为客户端没有能直接寻址的IP地址。

(3). DHCP客户机进行IP租用选择


       客户端通常对第一个提议产生响应,并以广播的方式发送“DHCP Requst( DHCP请求)信息包作为回应。该信息包告诉服务器“是的,我想让你给我提供服务。我接收你给我的租用期限。另外,一旦信息包以广播方式发送,网络中所有的DHCP服务器都可以看到该信息包,那些提议没有被客户端承认的DHCP服务器将保留的IP地址返回给它的可用地址池。客户端还可利用DHCP Request询问服务器其他的配置选项,如DNS服务器或网关地址。

(4).DHCP服务器IP租用认可


       当服务器接收到“DHCP Request信息包时,它以一个“DHCP Acknowledge (DHCP确认)”信息包作为响应。该信息包提供了客户尚请求的任何其他信息,并且也是以广播方式发送。该信息包告诉客户端"一切准备好。 记住你只能在有限时间内租用该地址, 而不能永久占据好了,以下是你询问的其他信息”。
 

3.DHCP服务器分配给客户端的IP地址类型

      在客户端向DHCP服务器申请IP时,服务器并不是总给ta一个动态的IP地址,而是根据实际情况决定。

 Ⅰ.动态IP地址

       客户端从DHCP服务器那里取得的IP地址一般都不是固定的,而是每次都可能不一样。在IP地址有限的单位内,动态ip地址可以最大化的达到资源的有效利用。

Ⅱ.静态IP地址

       静态分配IP地址是指给每一台计算机都分配一个固定的IP地址,优点是便于管理。根据每一台计算机的MAC地址分配一个固定的IP地址。

提问:怎么查看Mac地址?

主机mac地址:ipconfig -all

远程主机mac地址:ping ip地址 //查看主机是否开机

                               arp -a IP地址  //使用ARP地址解析协议

 扩展:地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;

二.项目设计及准备

1.项目设计

       部署DHCP之前应该先进行规划,明确哪些IP地址用于自动分配给客户端(即作用域中应包含的IP地址),哪些IP地址用于手工指定给特定的服务器。

例如,在项目中IP地址要求如下。

①适用的网络是192.168.10.0/24,网关为192.168.10.254。

②192.168.10.1~192.168.10.30网段地址是服务器的固定地址。

客户端可以使用的地址段为12.168.10.31~192 168.10.200,但192.168.0.10  192. 168.10.107为保留地址。

注意:用于手工配置的IP地址,一定要排除掉保留地址,或者采用地址池之外的可用IP地址,否则会造成IP地址冲突。

2.项目需求准备

部署DHCP服务应满足下列需求

①安装Linux服务端,用作DHCP服务器

②DHCP服务器的IP地址,子网掩码,DNS服务器等TCP/IP参数必须手工指定,否则将不能为客户端分配IP地址

③DHCP服务器必须要拥有一组有效的IP地址,以便自动分配给客户端

3.项目实施

Ⅰ.安装DHCP相关软件

[root@localhost ~]# rpm -qa | grep dhcp   //检测系统是否安装了DHCP相关软件

 [root@localhost ~]# yum -y install dhcp   //安装DHCP软件

发现没有找到匹配的参数,我们检查一下是不是yum仓库没有配置

[root@localhost ~]# yum repolist 

 这个时候说明yum仓库没有问题,下面我们在yum仓库找一下有关dhcp的软件

 我们注意到:dhcp-server.x86_64是DHCP服务器

[root@localhost ~]# yum -y install dhcp-server.x86_64   //安装这个软件

 [root@localhost ~]# rpm -qa | grep dhcp   //检测系统是否安装了DHCP相关软件

 Ⅱ.熟悉DHCP主配置文件

基本的DHCP服务器搭建流程如下。

(1)编辑主配置文件/etc/dhep/dhepd.conf指定IP作用域(指定一个或多 个IP地址范围

(2)建立租约数据库文件。

(3)重新加载配置文件或重新启动dhcpd服务使配置生效。

DHCP的工作流程



(1)客户端发送广播向服务器申请IP地址。

(2)服务器收到请求后查看主配置文件dhcpd.conf,先根据客户端的MAC地址查看是否为客户端设置了固定IP地址。

(3)如果为客户端设置了固定IP地址,则将该IP地址发送给客户端。如果没有设置固定IP地址,则将地址池中的IP地址发送给客户端。

(4)客户端收到服务器回应后,客户端给予服务器回应,告诉服务器已经使用了分配的IP地址

(5)服务器将相关租约信息存入数据库

A.主配置文件dchpd.conf

a.复制样例文件到主配置文件。

默认主配置文件(/etc/dhcp/dhcpd.conf)没有任何实质内容,打开查阅会发现有一句话" see /usr/share/doc/dhcp-server/dhcpd.conf.example
".我们以样例文件为例讲解主配置文件

 b.dhcpd.conf主配置文件的组成部分

  • parameters(参数)
  • declarations(声明)
  • option(选项)

c.dhcpd.conf主配置文件的整体框架

dhcpd.conf包括全局配置和局部配置

格式:

#全局配置

参数或选项;   #全局生效

#局部配置

声明{

参数或选项; #局部生效

}

B.常用参数介绍

DHCP服务程序配置文件中使用的常见参数及其作用

参数 作用 ddns-update-style[类型] 定义dns服务动态更新的类型,类型包括none(不支持动态更新),interim(互动更新模式)与ad-hoc(特殊更新模式) [allow|ignore]client-updates 允许/忽略客户端更新DNS记录 dafault-lease-time 600 默认超时时间,单位是s max-lease-time 7200 最大超时时间,单位是s option domain-name-servers 192.168.10.1 定义DNS服务器地址 option domain-name "domian.org" 定义DNS域名 range 192.168.80.10 192.168.10.100 定义用于分配的IP地址池 option subnet-mask 255.255.255.0 定义客户端的子网掩码 option routers 192.168.10.254 定义客户端子网掩码 broadcase-address 192.168.10.255 定义客户端广播地址 ntp-server 192.168.10.1 定义客户端的网络事件服务器(NTP) nis-server 192.168.10.1 定义客户端的NIS域服务器的地址

Hardware 00:0c:29:03:34:02

定义网卡接口的类型和MAC地址

server-name mydhcp.smile.com 向DHCP客户端通知DHCP服务器的主机名 fixed-address 192.168.10.105 将某个固定的IP地址分配给指定主机 time-offset [偏移误差] 指定客户端与格林尼治时间的偏移差

C.常用声明介绍

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

声明一般如下:

声明{

选项或参数:

}

常见的声明如下:

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

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

例:subnet 192.168.10.0 netmask 255.255.255.0{

.......

}

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

b.range dynamic-bootp 起始IP地址 结束IP地址

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

例:range dynamic-bootp 192.168.10.100 192.168.10.200

注意:可以在subnet声明中指定多个range,但多个range的IP范围不能重复

D.常用选项介绍

  a.option router IP 地址

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

option router 192.168.10.254

  b.option subnet-mask 子网掩码

作用:设置客户端的子网掩码

option subnet-mask 255.255.255.0

  c.option domain-name-severs IP地址

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

option domian-name-server 192.168.10.1

注意:a,b,c可以用在全局配置中,也可以用在局部配置中

E.IP地址绑定

在DHCP中的IP地址绑定用于给客户端分配固定IP地址。

整个配置过程需要用到host声明和hardware,fixed-address参数

a.host 主机名 {......}

作用:用于定义保留地址。

host computer1

注意:该选项通常与subnet搭配使用

b.hardware类型硬件地址

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

hardware ethernet 3a:b5:cd:32:65:12

c.fixed-address IP地址

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

fixed-address 192.168.10.105

注意:bc只能用于host声明中

F.租约数据库文件

租约数据库文件用于保存一系列的租约声明,其中包含客户端的主机名,MAC地址,分配到的IP地址,以及IP地址的有效期等相关信息。这个数据库文件是可编辑的ASCII格式文本文件。每当租约变化的时候,都会在文件结尾添加新的租约记录。

查看租约数据库文件

cat /var/lib/dhcpd/dhcpd.leases

三.配置DHCP的应用案例

Ⅰ.案例需求

1.技术部有60台计算机、各计算机的IP地址要求如下。


(1) DHCP服务器和DNS服务器的地址都是192.168.56.1/24.有效IP地址段为192.168.56.1~192.16856.254,子网掩码是255.255.255.0 网关为192.168.56.254

(2) 192. 168.56.1~192.168.56.30网段地址是服务器的固定地址

(3 )客户端可以使用的地址段为192. 168.56.31~192.168.56.200、但192.168.10.105、192.168.10.107为保留地址,其中192.168.10.105 保留给Client2。

(4)客户端Clientl模拟所有的其他客户端、采用自动获取方式配置IP等地址信息。

Ⅱ.网络环境搭建

Linux服务器和客户端的地址及Mac信息如表

Linux服务器和客户端的地址和MAC信息
主机名称操作系统IP地址MAC地址
DHCP服务器:Redhat 8Redhat 8192,168.56.100:0c:29:10:8e:13
DHCP客户端1:centos 7centos 7自动获取00:0C:29:22:D8:E9
DHCP客户端2:centos 8centos 8保留地址00:0c:29:79:de:58

打开虚拟机网络编辑器,选择VMnet1或VMnet8,去掉对应的DHCP服务启用选项

 服务端:redhat 8相关配置

 编辑虚拟机设置

网络适配器选择VMnet1

 配置IP地址,子网掩码,默认网关和DNS

[root@localhost ~]# nmcli connection modify ens160 ipv4.method manual ipv4.addresses 192.168.56.1/24 ipv4.gateway 192.168.56.254 ipv4.dns 192.168.56.1 connection.autoconnect yes
[root@localhost ~]# nmcli connection down ens160 
[root@localhost ~]# nmcli connection up ens160 

 查询服务端的IP地址,子网掩码,默认网关和DNS还有MAC地址

[root@localhost ~]#ip a  //查询IP地址

[root@localhost ~]#ip r  //查询默认网关

[root@localhost ~]#cat  /etc/resolv.conf  //查询DNS

 配置服务端

Ⅰ.定制全局配置和局部配置,局部配置需要把192.168.56.0/24网段声明出来,然后在该声明中指定一个IP地址池,范围为192.168.56.31~192.168.56.200,但要去掉192.168.56.105和192.168.56.107,其他分配给客户端使用。注意:range的写法!

Ⅱ.要保证使用固定IP地址,就要在subnet声明中嵌套host声明,目的是要单独为客户端2设置固定IP地址,并在host声明中加入IP地址和MAC地址绑定的选项以申请固定IP地址

保存退出。启动dhcpd服务,发现启动失败

启动失败的原因:

A:配置文件有问题

a:内容不符合语法结构,如少个分号

b:声明的子网和子网掩码不符合

B:主机IP地址和子网掩码不符合

C:主机没有配置IP地址

D:配置文件路劲出问题。

 可以使用dhcpd进行排错。

 发现错误更改过来,再次重启

附上配置文件内容:

ddns-update-style none;
log-facility local7;
subnet 192.168.56.0 netmask 255.255.255.0{
range 192.168.56.31 192.168.56.104;
range 192.168.56.106 192.168.56.106;
range 192.168.56.108 192.168.56.200;
option domain-name-servers 192.168.56.1;
option domain-name "myDHCP.smile.com";
option routers 192.168.56.254;
option broadcast-address 192.168.56.255;
default-lease-time 600;
max-lease-time 7200;
}
host Client2{
hardware ethernet 00:0C:29:79:DE:58;                             ------客户端Client2 网卡MAC地址
fixed-address 192.168.56.105;                                          -------保留IP地址
}
~         

客户端1.centos7<centos6/7/8,redhat6/7/8皆可>

第一步:

 打开虚拟机网络编辑器,选择VMnet1或VMnet8,去掉对应的DHCP服务启用选项

 第二步:选择网络适配器为VMnet1

第三步:点击有线设置--"齿轮"--ipv4--自动(DHCP)--应用--关闭网卡--开启网卡--"齿轮"

 这个时候客户端1成功获取到了DHCP服务器地址池的一个地址。

客户端2.centos8<centos6/7/8,redhat6/7/8皆可>

同样的步骤再来一遍。

第一步:选择VMnet1

第二步:点击有线设置--"齿轮"--ipv4--自动(DHCP)--应用--关闭网卡--开启网卡--"齿轮"

 

 

Windows客户端配置

①Windows客户端比较简单,在TCP/IP属性中设置自动获取

②通过Windows命令提示符,利用ipconfig -all 

 

在服务端查看租约数据库文件

[root@localhost~]#cat /var/lib/dhcpd/dhcpd.leases

 

  • 19
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值