DHCP 协议(一)

DHCP和BOOTP

名称:DHCP  - Dynamic Host Configuration Protocol  动态主机配置协议
功能:DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作.
使用场景:
1、给内部网络或网络服务供应商自动分配IP地址,主机名,DNS服务器,域名
2、配合其它服务,实现集成化管理功能。如:无人执守安装服务器
特点:
 C/S 模式
自动分配IP地址,方便管理
DHCP不会同时租借相同的IP地址给两台主机;
DHCP管理员可以约束特定的计算机使用特定的IP地址;
可以为每个DHCP作用域设置很多选项;
客户机在不同子网间移动时不需要重新设置IP地址。每次都自动获取IP地址就可以了。
DHCP缺点:
当网络上存在多服务器时,一个DHCP服务器不能查出已被其它服务器租出去的IP地址;
DHCP服务器不能跨路由器与客户机通信,除非路由器允许BOOTP协议转发。
端口:67(bootps) 68(bootpc) 。
DHCP协议由 bootp协议发展而来,是BOOTP的增强版本,bootps代表服务端端口, bootpc代表客户端端口。
所有的IP网络设定数据都由DHCP服务器集中管理,并负责处理客户端的DHCP要求;
而客户端则会使用从服务器分配下来的IP环境数据。比较BOOTP, DHCP透过“租约”的概念,有效且动态的分配客户端的TCP/IP设定,而且,作为兼容考虑,DHCP也完全照顾了BOOTP Client的需求。

bootp协议:
引导程序协议(BOOTP)。它可以让无盘工作站从一个中心服务器上获得IP地址,为局域网中的无盘工作站分配动态IP地址,并不需要每个用户去设置静态IP地址。
BOOTP缺点:
您在设定前须事先获得客户端的硬件地址,而且,MCA地址与IP的对应是静态的。换而言之,BOOTP非常缺乏“动态性 ”,若在有限的IP资源环境中,BOOTP的一对一对应会造成非常可观的浪费。

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

DHCP运行原理

获取:
客户端发送DHCP DISCOVER广播包进行查找DHCP服务器
服务器对DHCP客户端发送DHCP OFFER单播包进行响应,并且发送一些关于出租的IP地址信息
客户端再次发送REQUEST广播包,为了向多台DHCP服务器进行通过,我已经选择了其中的一个DHCP服务器
DHCP服务器收到REQUEST后,发送一个ACK信息以及详细的出租IP地址的信息。客户机收到就会将该IP地址与网卡绑定
重新登录:
DHCP客户端发送一个关于自己之前的IP地址信息给DHCP服务器,如果服务器还保留着客户端之前的IP,那么就会发送一个ack确认信息,如果不是,则发送一个nack信息,并且告知客户端需要重新获取IP地址
租约更新:
DHCP客户端在租约时间一半的时候发送一个renew进行续约。

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述

DHCP小细节

1安装:yum install -y dhcp
2主要的配置文件:/etc/dhcp/dhcpd.conf
3当我们打开主配置文件的时候,我们会发现里面只有一些提示信息
告诉我们需要去/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample找模板文件。找到模板文件后,我们需要将模板文件替换为主配置文件。当我们进行简单的配置的时候,我们用不到模板文件,我们自己就可以写一个dhcpd的配置文件。
4刚开始配置dhcp的时候,我们不能开启dchpd服务,因为dhcp服务器配置分配的网段和本地IP不符。
5开机自启动:systemctl enable dhcpd

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

模板文件
在这里插入图片描述

dhcp配置文件写入内容进行说明

和其他服务的配置文件不同的是,dhcp服务的配置文件,行末尾加分号结束。
做后面的项目需要写入的配置文件内容,在这里说明一下

subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.100 192.168.1.200;
        option domain-name-servers 192.168.1.1;
        option domain-name "xiaodu";
        option routers 192.168.1.1;
        option broadcast-address 192.168.1.255;
        default-lease-time 600;
        max-lease-time 7200;
        host break {
        hardware ethernet 06:0c:29:ee:2b:88;
        fixed-address 192.168.1.110;
        }
}

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
以上内容 说明
1 声明信息,指定作用域和子网
2 指定动态IP地址的范围
3 DNS的地址
4 DNS的名字
5 默认路由
6 广播地址
7 默认租约期限
8 最大租约时间
9 本地主机名
10 网卡绑定
11 设置网卡的固定的IP

/var/lib/dhcpd/dhcpd.leases可以在这个文件中查看我们DHCP的租约信息了,相当于房租。

下图是下面实验的结果,可以提前看一下
在这里插入图片描述
实例:DHCP分配IP地址
描述:公司有60 台计算机,IP 地址段为192.168.1.1-192.168.1.254,子网掩码是255.255.255.0,网关为192.168.1.1,192.168.1.2-192.168.1.30 网段地址给服务器配置,客户端可以使用的地址段为192.168.1.100-200,其余剩下的IP 地址为保留地址。
实验环境:
192.168.1.63 vmnet5
192.168.1.64 vmnet5

思路:服务器增加的网卡是作为DHCP服务器的网卡,实现DHCP的服务,客户端增加的网卡是通过DHCP服务器分配的新的IP

详细过程

服务器:

1分别在2台虚拟机上增加网卡。设置为自定义。自定义可以不同,但是要保证2个新增的网卡的一致。
在这里插入图片描述
临时设置网卡的IP地址。
在这里插入图片描述

2修改配置文件如下:

subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.100 192.168.1.200;
        option domain-name-servers 192.168.1.1;
        option domain-name "xiaodu";
        option routers 192.168.1.1;
        option broadcast-address 192.168.1.255;
        default-lease-time 600;
        max-lease-time 7200;
        }
}

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述
3重启DHCP的服务,并且设置为开机自启动
在这里插入图片描述
4在观察到客户端新增的网卡可以获取IP后,我们可以通过查看dhcp的租约信息
[root@break ~]# cat /var/lib/dhcpd/dhcpd.leases
在这里插入图片描述

客户端

1复制之前网卡的信息,然后修改一些内容
在这里插入图片描述
2重启新增的网卡,并查看ip,,可以发现IP已经通过dhcp获取到

[root@break network-scripts]# ifdown ens37 && ifup ens37
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/17)
[root@break network-scripts]# ifconfig ens37
ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.110  netmask 255.255.255.0  broadcast 192.168.1.255

  
  
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述
3查看网关和路由的信息

[root@break network-scripts]# cat /etc/resolv.conf 
[root@break network-scripts]# route -n 

  
  
  • 1
  • 2

在这里插入图片描述

扫描二维码关注公众号,回复: 10060558 查看本文章

在上一个实验中,如何设置,才能使得固定的网卡绑定固定的IP

将客户端获取的IP固定为192.168.1.3
1在服务器增加内容

subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.100 192.168.1.200;
        option domain-name-servers 192.168.1.1;
        option domain-name "xiaodu";
        option routers 192.168.1.1;
        option broadcast-address 192.168.1.255;
        default-lease-time 600;
        max-lease-time 7200;
        host break {
        hardware ethernet 06:0c:29:ee:2b:88;
        fixed-address 192.168.1.3;
        }
}

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

2重启dhcpd服务
systemctl start dhcpd
3客户端重启网卡
在这里插入图片描述

时间的同步,我们服务器的时间想要保持一个正确的时间,需要使用ntpf进行时间的同步。

#安装
yum install -y ntp
#一般与ntp1.aliyun.com或者time.windows.com
[root@break ~]# ntpdate ntp1.aliyun.com
14 Apr 10:22:26 ntpdate[4740]: adjust time server 120.25.115.20 offset -0.001831 sec
[root@break ~]# ntpdate time.windows.com
14 Apr 10:22:45 ntpdate[4751]: adjust time server 52.175.49.4 offset -0.000240 sec
#系统时间和BIOS时间,默认ntpdate同步时间只会同步系统时间,可以设置/etc/sysconfig/ntpdate

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

发布了51 篇原创文章 · 获赞 7 · 访问量 5600

猜你喜欢

转载自blog.csdn.net/xxx0028/article/details/104864492