DHCP管理与配置

一、DHCP工作原理

DHCP(Dynamic HostConfiguration Protoco,动态主机配置协议)

1、DHCP分配方式

  • 在 DHCP 的工作原理中, DHCP 服务器提供了三种 IP 地址分配方式:自动分配(AutomaticAllocation)、手动分配和动态分配(Dynamic Allocation)
    • 自动分配是当 DHCP 客户机第一次成功地从 DHCP 服务器获取到一个 IP 地址后,就永久地使用这个 IP 地址
    • 手动分配是由 DHCP 服务器管理员专门指定IP 地址
    • 动态分配是当 DHCP 客户机第一次从 DHCP 服务器获取到 IP 地址后,并非永久地使用该地址,而是在每次使用完后,DHCP客户机就会释放这个IP地址,供其他客户机使用

2、DHCP租约过程

(1)客户端在网络中搜索服务器(客户机请求IP地址)

                当一个 DHCP 客户机启动时,客户机还没有IP地址,所以客户机要通过 DHCP 获取一个合法的地址,此时 DHCP 客户机以广播方式发送 DHCP Discover 发现信息来寻找DHCP 服务器

(2)服务器向客户端响应服务(服务器响应)

                当 DHCP 服务器接收到来自客户机请求 IP 地址的信息时,它就在自己的 IP 地址池中查找是否有合法的IP 地址提供给客户机,如果有,DHCP服务器就将此IP地址做上标记,加入到 DHCP Ofer 的消息中,然后 DHCP 服务器就广播一则 DHCP Offer 消息

(3)客户端向服务器发出服务请求(客户机选择IP地址)

                DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的 DHCF服务器将该地址保留,这样该地址就不能再分配给另一个 DHCP 客户机,之后 DHCP 客户机会向服务器发送 DHCP Request 消息

(4)服务器向客户端提供服务(服务器确定租约)

                DHCP 服务器接收到 DHCP Request 消息后,以 DHCPACK 消息的形式向客户机广播,成功确认,该消息包含有IP地址的有效租约和其他可配置的信息。当客户机收到 DHCP ACK消息时,它就配置了 IP 地址,完成 TCP/IP 的初始化

(5)重新登录

        DHCP 客户机每次重新登录网络时,不需要再发送 DHCP Discover 信息,而是直接发送包含前一次所分配的IP 地址的 DHCP Request 请求信息

(6)更新租约

        当 DHCP 服务器向客户机出租的IP 地址租期达到 50%时,就需要更新租约。客户机直接向提供租约的服务器发送 DHCP Request 包,要求更新现有的地址租约

二、使用DHCP动态分配主机地址

主要包括:网卡IP地址、子网掩码;对应的网络地址、广播地址;默认网关地址;DNS 服务器地址;......

二.1配置DHCP服务器

        1、安装DHCP服务器软件
[root@localhost ~]# rpm -q dhcp            //查看系统是否已经安装dhcp软件包
[root@localhost ~]# yum -y install dhcp (dhcp-4.2.5-47.el7.centos.x86 64.rpm)
[root@localhost ~]# mount /dev/cdrom /media/cdrom
mount: block device /dev/sro is write-protected, mounting read-only
[root@localhost ~]#rpm -ivh /media/cdrom/Packages/dhcp-4.2.5-47.el7.centos.x86_64.rpm
        2、建立主配置文件dhcpd.conf
#dhcpd 服务的主配置文件是/etc/dhcp/dhcpd.conf,但是该文件中默认不包含任何有效配置,需要管理员手动建立
[root@localhost ~]# cat /etc/dhcp/dhcpd.conf 
# 
# DHCP Server Configuration file. 
#     see /usr/share/doc/dhcp*/dhcpd.conf.example 
#     see dhcpd.conf(5) man page 
# 
备注:
dhcp服务自带的配置文件没有任何参数,可以复制安装包提供的模板,方便配置
[root@localhost~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

(1)/etc/dhcp/dhcpd.conf 文件的配置构成

  • 声明:用来描述 dhcpd 服务器中对网络布局的划分,是网络设置的逻辑范围。较常见的声明是 subnet、host,其中 subnet 声明用来约束一个网段,host 声明用来约束一台特定的主机
  • 参数:由配置关键字和对应的值组成,总是以“;”(分号)结束,一般位于指定的声明范围之内,用来设置所在范围的运行特性(如默认租约时间、最大租约时间等)
  • 选项:由“option”引导,后面跟具体的配置关键字和对应的值,也是以“;”结束,用于指定分配给客户机的各种地址参数(如默认网关地址、子网掩码、DNS 服务器地址等)

(2)dhcpd 服务的全局配置

  • 为了使配置文件的结构更加清晰,全局配置通常会放在配置文件 dhcpd.conf 的开头部分,可以是配置参数,也可以是配置选项
    • option domain-name-servers,DNS 服务器地址。为客户机指定解析域名时使用的 DNS 服务器地址,该配置选项同样将体现在客户机的/etc/resolv.conf 配置文件中(如“nameserver202.106.0.20”)。需设置多个 DNS 服务器地址时,以逗号进行分隔
    • option domain-name,默认搜索区域。为客户机指定解析主机名时的默认搜索域,该配置选项将体现在客户机的/etc/resolv.conf 配置文件中,如“search benet.com”
    • max-lease-time,最大租约时间。单位为秒,表示允许 DHCP 客户端请求的最大租约时间,当客户端未请求明确的租约时间时,服务器将采用默认租约时间
    • default-lease-time,默认租约时间。单位为秒,表示客户端可以从 DHCP 服务器租用某个 IP 地址的默认时间
    • ddns-update-style,动态 DNS 更新模式。用来设置与 DHCP 服务相关联的 DNS数据动态更新模式。在实际的 DHCP 应用中很少用到该参数,将值设为“none”即可
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
#调整全局配置
ddns-update-style none;         //禁用 DNS 动态更新 
default-lease-time 21600;         //默认租约为 6 小时 
max-lease-time 43200;         //最大租约为 12 小时 
option domain-name "kgc.com";      //指定默认搜索域 
option domain-name-servers 114.114.114.114,8.8.8.8;      //指定 DNS 服务器地址

(3)subnet 网段声明

[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.10.0 netmask 255.255.255.0 {        //声明网段地址
  range     192.168.10.200 192.168.10.250;        //设置地址池范围,可以有多个
  option domain-name-servers 8.8.8.8;            //设置DNS
  option routers     192.168.10.254;            //指定默认网关地址
  option broadcast-address 192.168.10.255;
        //广播地址
}
备注:
至少有一个网络接口的 IP 地址与 DHCP 服务器中的一个 subnet 网段相对应,否则将无法正常启动 dhcpd 服务

(4)host主机声明(可选)

                host 声明通过 host 关键字指定需要使用保留地址的客户机名称,并使用“hardwareethernet"参数指定该主机的 MAC 地址,使用“fixed-address”参数指定保留给该主机的 IP 地址

[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
host prtsvr { 
    hardware ethernet 00:c0:c3:22:46:81; 
    fixed-address 192.168.10.211; 
}
备注:
注意mac地址的书写格式
3、启用dhcpd服务
[root@localhost ~]# systemctl start dhcpd 
[root@localhost ~]# netstat -anp | grep dhcpd
或
[root@localhost ~]# netstat -anpu | grep dhcpd
udp        0        0 0.0.0.0:67        0.0.0.0:*        5684/dhcpd

二.2、使用DHCP客户端

[root@localhost ~]# vi /etc/sysconfigInetwork-scripts/ifcfg-ens33DEVICE=ens33
ONBOOT=yes
BOOTPROTO=dhcp
[root@localhost ~]# ifdown ens33 ;ifup ens33

用dhclient来测试dhcp服务器,为ens33获取新的IP地址
[root@localhost ~]# dhclient -d ens33
释放网卡ens33获取的IP租约
[root@localhost ~]# dhclient -r ens33

查看租约文件
[root@localhost ~]# cat /var/lib/dhcpd/dhcpd.leases
lease 192.168.10.200 {
    starts 4 2023/03/23 03:01:12;  # 分配地址的时间
    ends 4 2023/03/23 09:01:12;  # 租约到期时间
    tstp 4 2023/03/23 09:01:12;  # 租约到期时间
    cltt 4 2023/03/23 03:01:12;  # 客户端最后访问时间
    binding state active;  # 租约绑定状态 状态分别是 free 和 active
    next binding state free;    #租约的下一个绑定状态
    rewind binding state free;
    hardware ethernet 00:0c:29:3d:70:62;  # 客户端mac地址
    uid "\0010:dP-2"; # 客户端识别id
    client-hostname "DESKTOP-83TIERM";    ##被声明主机的主机名
}

二.3、使用DHCP客户端

1、DHCP中继
    • 当企业内部网络规模比较大时,通常通过 VLAN 将网络规划为多个不同的子网。但是在该情况下一台 DHCP 服务器无法为不同网段的客户机同时提供服务,因为 DHCP 协议使用广播,而 VLAN 能隔离广播
          • DHCP 中继的配置命令:ip helper-address DHCPsrv-IPAddress
          • 在三层交换机上配置 DHCP 中继转发:首先需要保证交换机上各 VLAN 之间网络通信正常,然后依次在不包含 DHCP 服务器的 VLAN 上进行 DHCP 中继配置
SW-3L(config)# interface vlan 2
SW-3L(config-if)# ip helper-address 192.168.100.100

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值