基础服务——DHCP动态主机配置服务

一、 DHCP简述

DHCPDynamic Host Configuration Protocol,动态主机配置协议)是由Internet工作任务小组设计开发的,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议。

当局域网络中有大量主机时,如果逐个为每一台主机手动配置IP地址、默认网关、DNS服务器地址等网络参数,显然时一个费力也未必讨好的办法,而DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)服务器的应用,正好可以解决这个问题。

       DHCP的典型应用模式下,在网络中架设一台专用的DHCP服务器,负责集中分配各种网络地址参数(主要包括IP地址、子网掩码、广播地址、默认网关、DNS),其他主机作为DHCP客户机,将网卡配置为自动获取地址,即可与DHCP服务器进行通信,完成自动配置过程。

 

1.2 DHCP 的作用

 

1.2.1 使用DHCP的好处

1.减少管理员的工作量

2.避免IP地址冲突

3.当网路更改IP地址段时,不需要再重新配置每个用户的IP地址

4.提高了IP地址的利用率

5.方便客户端的配置

 

1.2.2 DHCP的分配方式

1.自动分配:分配到一个IP地址后永久使用

2.手动分配:由DCP服务器管理员专门指定IP地址

3.动态分配:使用完后释放该IP,供其它客户机使用

例:局域网当中的网络打印机,便是设置自动分配,永久使用

 

 

1.3.1 租约过程分为四个步骤

DHCP租约过程:4个步骤,discover(广播)、offer(单播)、request(广播)、ACK(单播)

 

1 客户端在网络中搜索DHCP服务器

客户端请求IP地址,在局域网内发送discover广播包,寻找DHCP服务器。

 

  1. 服务器向客户端响应服务

如果局域网内,存在DHCP服务器,服务器接收discover广播包后,服务器会向客户端发送响应请求的offer单播包,告诉局域网内的客户端,我就是DHCP服务器。

 

3)客户端向目标服务器发出服务请求

客户端接收到服务器offer单播包后,客户机选择IP地址为request广播包,IP地址为DHCP地址池中的IP范围。

4)服务器向客户端提供服务

服务器收到客户端request广播包后,向客户端发送ACK单播包,表示确认IP地址的租约时间

 

1.3.2四个过程都是广播

dicover 广播寻找提供DHCP的服务器

offer 源地址,目标地址255.255.255.255

​ 可用IP地址(确定在后面),相关的租约期限8天

request 请求确认,若是没有被用,就会返回ack,若是被别的主机占用,就会重新发送offer

ack若是同一网段内有多台DHCP服务器,谁先发送ack就用谁的IP资源池

dhcp协议:续约是在过半时就申请续约,续约的8天从此时重新计算

 

1.4 DHCP的重新获取ip的过程——重新登录时

若是之前使用的ip没有被占用,服务器就会ack确认,若是被用,就会nack否认,此时主机会重新发送第一阶段的广播discover

 

 

1.5 更新租约

1当DHCP服务器向客户机出租的IP地址租期(8天)达到50%时,就需要更新租约

2客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约

更新租约时没找到DHCP服务器时,继续使用,租约期限内继续使用,过期自动释放掉,然后获得新地址。

 

 

 

搭建DHCP动态主机配置服务

实验环境:Centos7操作系统

实验步骤

搭建DHCP动态主机配置服务

 

1、安装DHCP服务器软件并且配置:

[root@localhost ~]# cd /media/dvd/Packages/                进入rpm库目录

[root@localhost Packages]# rpm -ivh dhcp-4.2.5-47.el7.centos.x86_64.rpm       安装dhcp

warning: dhcp-4.2.5-47.el7.centos.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY

Preparing...                          ################################# [100%]

Updating / installing...

   1:dhcp-12:4.2.5-47.el7.centos      ################################# [100%]

[root@localhost Packages]# cat /etc/dhcp/dhcpd.conf         查看dhcp配置文件所在路径

#

# DHCP Server Configuration file.

#   see /usr/share/doc/dhcp*/dhcpd.conf.example

#   see dhcpd.conf(5) man page

#

复制配置文件到dhcp安装目录所在处

[root@localhost Packages]# cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf

cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y                  是否覆盖这里选择是

[root@localhost Packages]# vim /etc/dhcp/dhcpd.conf                  配置dhcp

47 subnet 192.168.0.0 netmask 255.255.255.0 {            声明那个网段,并且修改子网掩码

 48   range 192.168.0.40 192.168.0.50;                        地址池

 49   option domain-name-servers ns1.internal.example.org;            DNSIP地址,这里默认

 50   option domain-name "internal.example.org";    DHCP分发DNS解析时候的域名

 51   option routers 192.168.0.1;         网关

 52   option broadcast-address 192.168.0.255;           广播地址

 53   default-lease-time 600;                 默认连接时长

 54   max-lease-time 7200;                    最大连接时长(单位:秒)

 55 }

80 host abc {             这里是名字可以根据需要进行修改

 81   hardware ethernet 00:0c:29:8b:52:7d;                打印机的mac地址

 82   fixed-address 192.168.0.35;                 将要分配给打印机的IP地址

 83 }

[root@localhost Packages]# systemctl stop firewalld             关闭防火墙

[root@localhost Packages]# setenforce 0                关闭沙盒

[root@localhost Packages]# systemctl start dhcpd                 启动DHCP服务器

 

2、打印机完成网卡配置,并且获得IP地址

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=dhcp           类型修改为dhcp

~                                                                              

~                                                                              

~                                                                              

:x

[root@localhost ~]# systemctl restart network               重启网卡

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

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

       valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host

       valid_lft forever preferred_lft forever

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:8b:52:7d brd ff:ff:ff:ff:ff:ff

    inet 192.168.0.35/24 brd 192.168.0.255 scope global dynamic ens33

       valid_lft 596sec preferred_lft 596sec

    inet6 fe80::7e9b:c031:d8cd:3b4f/64 scope link

       valid_lft forever preferred_lft forever

3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000

    link/ether 52:54:00:43:fb:6f brd ff:ff:ff:ff:ff:ff

    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0

       valid_lft forever preferred_lft forever

4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000

link/ether 52:54:00:43:fb:6f brd ff:ff:ff:ff:ff:ff

 

3、客户机完成配置,获取随机IP地址

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=dhcp           类型修改为dhcp

~                                                                               

~                                                                              

~                                                                              

:x

[root@localhost ~]# dhclient -d ens33             获取IP地址

Internet Systems Consortium DHCP Client 4.2.5

Copyright 2004-2013 Internet Systems Consortium.

All rights reserved.

For info, please visit https://www.isc.org/software/dhcp/

 

Listening on LPF/ens33/00:0c:29:5a:cb:b2

Sending on   LPF/ens33/00:0c:29:5a:cb:b2

Sending on   Socket/fallback

DHCPDISCOVER on ens33 to 255.255.255.255 port 67 interval 5 (xid=0x5125a11c)

DHCPREQUEST on ens33 to 255.255.255.255 port 67 (xid=0x5125a11c)

DHCPOFFER from 192.168.0.20

DHCPACK from 192.168.0.20 (xid=0x5125a11c)

bound to 192.168.0.50 -- renewal in 246 seconds.          当看到这里分配出IP时候即可打断

^C

[root@localhost ~]# ip a           查看分配下的随机IP地址

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

       valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host

       valid_lft forever preferred_lft forever

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:5a:cb:b2 brd ff:ff:ff:ff:ff:ff

    inet 192.168.0.50/24 brd 192.168.0.255 scope global secondary dynamic ens33

       valid_lft 597sec preferred_lft 597sec

    inet6 fe80::c063:5ee5:29e:e0e/64 scope link

       valid_lft forever preferred_lft forever

3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000

    link/ether 52:54:00:60:48:f3 brd ff:ff:ff:ff:ff:ff

    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0

       valid_lft forever preferred_lft forever

4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000

    link/ether 52:54:00:60:48:f3 brd ff:ff:ff:ff:ff:ff

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值