DHCP原理及配置

目录

一.DHCP

1.1 优势

1.2 DHCP的模式与分配方式

1.2.1 典型的C/S模式

1.2.2 DHCP的分配方式

二.DHCP工作原理

2.1 四次回话

三.操作DHCP服务

3.1 DHCP局部配置并且测试

3.2 使用DHCP实现不同网段获取地址

3.2.1 问题 

3.2.2 分析DHCP 

3.2.3  两种方法解决


一.DHCP

专门用于为 TCP/IP网络中的计算机自动分配TCP/IP参数的协议,是一个应用层协议,使用UDP的67和68端口。DHCP的前身是BOOTP协议(BootstrapProtocol),BOOTP被创建出来为连接到网络中的设备自动分配地址,后来被DHCP取代了,DHCP比BOOTP更加复杂,功能更强大。(如果使用wireshark抓包过滤协议是用bootp而不是dhcp)

1.1 优势

减少管理员的工作量。 
避免输入错误的可能。 
避免 IP 地址冲突。 
当网络更改 IP 地址段时,不需要再重新配置每个用户的 IP 地址。
提高了 IP 地址的利用率。
方便客户端的配置。

DHCP 服务避免了因手动设置 IP 地址所产生的错误,同时也避免了把一个 IP 地址分配给多台工作站所造成的地址冲突。DHCP 提供了安全、可靠且简单的 TCP/IP 网络设置,降低了配置 IP 地址的负担

1.2 DHCP的模式与分配方式

1.2.1 典型的C/S模式

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

DHCP 是 C/S 模式,DHCP 服务端和客户端需要保持通信,DHCP 基于 UDP 协议,双方都有可能会主动向对方发起通信,因此双方都需要监听端口。
Server 端:DHCP Server(运行 dhcp 服务)
UDP 服务:监听端口 67(bootps)
Client 端:DHCP Client(运行 dhcp 程序)
UDP 服务:监听端口 68 (bootpc)
DHCP协议采用UDP作为传输协议,主机发送请求消息到DHCP服务器的68号端口,
DHCP服务器回应应答消息给主机的67号端口。这两个端口是正常的DHCP服务端口,可以理解为一个发送,一个接收

1.2.2 DHCP的分配方式

自动分配是当 DHCP 客户机第一次成功地从 DHCP 服务器获取到一个 IP 地址后, 就永久地使用这个 IP 地址。
手动分配是由 DHCP 服务器管理员专门指定 IP 地址。
动态分配是当 DHCP 客户机第一次从 DHCP 服务器获取到 IP 地址后,并非永久地使用该地址,而是在每次使用完后,DHCP 客户机就会释放这个 IP 地址,供其他客户机使用

二.DHCP工作原理

广播进行,先到先得 一个网络中只能有一个DHCP

2.1 四次回话

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

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

(3)客户机选择 IP 地址 DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP 服务器将该地址保留,这样该地址就不能再分配给另一个 DHCP 客户机。之后 DHCP 客户 机会向服务器发送 DHCP Request 消息。
(4)服务器确定租约 DHCP 服务器接收到 DHCP Request 消息后,以 DHCP ACK 消息的形式向客户机广播成功确认,该消息包含有 IP 地址的有效租约和其他可配置的信息。当客户机收到 DHCP ACK 消息时,它就配置了 IP 地址,完成 TCP/IP 的初始化。

三.操作DHCP服务

1、yum安装dhcp服务

2、配置dhcp配置文件

模板拷贝

cp -fp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf 

3、启动服务

systemctl start dhcpd

4、查看端口

5、验证服务

3.1 DHCP局部配置并且测试

subnet 网段声明
一台DHCP服务器可以为多个网段提供服务,因此subnet网段声明必须有而且可以有多个。
注意别少了每行结尾的分号。

编辑配置文件

vim /etc/dhcp/dhcpd.conf

subnet 192.168.100.0 netmask 255.255.255.0 {
  range 192.168.100.110 192.168.100.200;
  option broadcast-address 192.168.100.255;
  option routers 192.168.100.100
  option domain-name-servers 114.114.114.114;
}

客户端验证:
ipconfig /release
ipconfig /renew

dhcp默认日志记录在/var/log/messages

客户机预留指定的固定ip地址

编辑配置文件

vim /etc/dhcp/dhcpd.conf

添加配置信息然后保存退出

重启服务器

host 主机声明,作用于单个主机
#hardware ethernet 参数:指定对应主机的 MAC 地址
#fixed-address        参数:指定为该主机保留的IP地址 

在服务器端可以通过查看租约文件来了解服务器的 IP 地址分配情况,具体操作如下:

less /var/lib/dhcpd/dhcpd.leases
该租约文件中记录了分配出去的每个IP地址信息(租约记录), 包括IP地址、客户端的MAC 地址、租用的起始时间和结束时间等
该文件初始为空,且无需管理员手工配置,但管理员可以浏览此文件查看DHCP服务器的运行情况
文件包含租期声明,每次一个租期被获取,更新或释放,它的新值就被记录到文件的末尾 

客户端需要通过dhclient命令释放获取的IP租约时,可以结合“-r”选项。此时再通过执行ifconfig 命令就看不到分配的IP地址了
dhclient -r ens33

3.2 使用DHCP实现不同网段获取地址

3.2.1 问题 

同网段可以通过广播消息来通信,来可以查找主机,那不同网段呢,不同网段不能广播吧,这个时候是不是可以使用DHCP中继这个服务吧,也就是使用中继的技术,你们之前是不是使用过华为的中继嘛,你配一个路由器或者配一个三层交换,然后呢,可以做个DHCP中继指向DHCP服务器,不就是能完成获取DHCP服务吗,就算不在同一网段我通过中继服务器转发不就可以了吗

3.2.2 分析DHCP 

DHCP中继原理
当企业内部网络规模比较大时,通常通过 VLAN 将网络规划为多个不同的子网。但是在该情况下一台DHCP服务器无法为不同网段的客户机同时提供服务,因为DHCP协议使 用广播,而VLAN能隔离广播。

3.2.3  两种方法解决

(1)为每个网段安装一台DHCP服务器,但这种方式的弊端是:资源浪费与不利于管理

(2)在连接不同网段的设备上开启DHCP中继功能,将DHCP这种特殊的广播信息在VLAN 之间发,让其他VLAN的客户机也能从DHCP服务器获取IP地址

  • 20
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值