DHCP 介绍及 H3C 配置 DHCP
1.DHCP 引入
(1)简介
DHCP(动态主机设置协议)是一个局域网的网络协议, 使用 UDP 协议工作, 主要作用是集中的管理, 分配 IP 地址, 使网络环境中的主机动态的获得 IP 地址, Gateway 地址, DNS 服务器地址等信息, 并能够提升地址的使用率.
(2)功能
a. 保证任何 IP 地址在同一时刻只能由一台 DHCP 客户机所使用.
b. DHCP 应当可以给用户分配永久固定的 IP 地址.
c. DHCP 应当可以同用其他方法获得 IP 地址的主机共存(如手工配置 IP 地址的主机).
d. DHCP 服务器应向现有的 BOOTP 客户端提供服务!
(3)分配方式
自动分配方式: DHCP 服务器为主机指定一个永久性的 IP 地址, 一旦 DHCP 客户端第一次成功从 DHCP 服务器端租用到 IP 地址后, 就可以永久性的使用该地址.
动态分配方式: DHCP 服务器给主机指定一个具有时间限制的 IP 地址, 时间到期或主机明确表示放弃该地址时, 该地址可以被其他主机使用.
3)手工分配方式: 客户端的 IP 地址是由网络管理员指定的, DHCP 服务器只是将指定的 IP 地址告诉客户端主机.
(4)三个端口
a. UDP67: DHCP Server 服务端口
b. UDP68: DHCP Client 服务端口
c. UDP546: 用于 DHCPv6 Client, 而不用于 DHCPv4, 是为 DHCP failover 服务, 这是需要特别开启的服务, DHCP failover 是用来做 "双机热备" 的.
(5)DHCP 优缺点
a. DHCP 协议主机配置方式最重要的特征就是整个配置过程自动实现, 而且所有配置信息在一个地方集中控制, 这就是 DHCP SERVER 的作用.
b. 最初的 DHCP 协议是在同一个物理子网中使用广播方式实现的, 无法穿越路由器扩展到不同的物理子网中, 也就是要使用 DHCP 协议的每一个网络 (广播域) 中必须配置一台 DHCP 服务器, 为了克服这一缺陷, 采用了 DHCP RELAY(DHCP 中继服务器)的方式使得 DHCP 协议能够穿越路由器实现.
c. DHCP 协议一般采用终端的硬件地址来唯一标识一个终端设备.
d. DHCP 协议通过设置 IP 地址使用租期, 可以达到 IP 地址的分时复用效果, 解决 IP 地址资源短缺的问题.
e. DHCP 协议基本上是一个单向驱动协议, SERVER 完全是被动的, 其动作, 行为基本完全由 CLIENT 的请求行为而激发, 即 SERVER 端无法主动控制 CLIENT 端. 因此其交互性和安全性就没有 PPP 协议那么完善, 这是 DHCP 协议的一个安全风险点.
2. 简单理解
3.DHCP 报文类型
DHCP Discover
DHCP 客户端请求地址时, 并不知道 DHCP 服务器的位置, 因此 DHCP 客户端会在本地网络内以广播方式发送请求报文, 这个报文成为 Discover 报文, 目的是发现网络中的 DHCP 服务器, 所有收到 Discover 报文的 DHCP 服务器都会发送回应报文, DHCP 客户端据此可以知道网络中存在的 DHCP 服务器的位置.
DHCP Offer
DHCP 服务器收到 Discover 报文后, 就会在所配置的地址池中查找一个合适的 IP 地址, 加上相应的租约期限和其他配置信息(如网关, DNS 服务器等), 构造一个 Offer 报文, 发送给用户(可以广播, 也可以单播), 告知用户本服务器可以为其提供 IP 地址.(注意, 只是告诉 client 可以提供, 是预分配, 还需要 client 通过 ARP 检测该 IP 是否重复)
DHCP Request
客户端会在两种情况下发送 DHCP Request
1) DHCP 客户端可能会收到来自 DHCP 服务器的很多 Offer, 所以必须在这些回应中选择一个. Client 通常选择第一个回应 Offer 报文的服务器作为自己的目标服务器, 并回应一个广播 Request 报文, 通告选择的服务器. 注意,"Client 通常选择第一个回应 Offer 报文的服务器作为自己的目标服务器" 这里存在一个安全问题, 如果我们的伪 DHCP 服务器能比原始 DHCP 服务器先发送 Offer 数据包, 就能达到欺骗的目的, 从而劫持目标用户的流量
2) 获取 DHCP 客户端成功获取 IP 地址后, 在地址使用租期过去 1/2 时, 会向 DHCP 服务器发送单播 Request 报文续延租期, 如果没有收到 DHCP ACK 报文, 在租期过去 3/4 时, 发送广播 Request 报文续延租期.
DHCP ACK
DHCP 服务器收到 Request 报文后, 根据 Request 报文中携带的用户 Mac 来查找有没有相应的租约记录(即之前的预分配过程中登记的那个 Mac), 如果有则发送 ACK 报文作为回应, 通知用户可以使用分配的 IP 地址.
DHCP NAK
如果 DHCP 服务器收到 Request 报文后, 没有发现有相应的租约记录或者由于某些原因无法正常分配 IP 地址, 则发送 NAK 报文作为回应, 通知用户无法分配合适的 IP 地址.
DHCP Release
当用户不再需要使用分配 IP 地址时, 就会 "主动" 向 DHCP 服务器发送 Release 报文, 告知服务器用户不再需要分配 IP 地址, DHCP 服务器会释放被绑定的租约(在数据库中清除某个 Mac 对某个 IP 的租约记录, 这样, 这个 IP 就可以分配给下一个请求租约的 Mac)
. DHCP Decline
DHCP 客户端收到 DHCP 服务器回应的 ACK 报文后, 通过地址冲突检测发现服务器分配的地址冲突或者由于其他原因导致不能使用, 则发送 Decline 报文, 通知服务器所分配的 IP 地址不可用, 我们在手工设置静态 IP, 或者 DHCP 分配中有时会遇到 "检测到 IP 冲突" 的提示就是因为客户端利用 ARP 机制来在当前内网中确认当前指定的 IP 是否已经被占用
DHCP Inform
DHCP 客户端如果需要从 DHCP 服务器端获取更为详细的配置信息, 则发送 Inform 报文向服务器进行请求, 服务器收到该报文后, 将根据租约进行查找, 找到相应的配置信息后, 发送 ACK 报文回应 DHCP 客户端
4.H3C 配置 DHCP
(1)DHCP 服务器基本配置
--- 启动 DHCP 服务
[Router]dhcp enable
--- 创建 DHCP 地址池
[Router]dhcp server ip-pool pool-name
--- 配置动态分配的地址范围
[Router-dhcp-pool-0]network network-address [mask-length | mask mask]
--- 配置为 DHCP 客户端分配的网关地址
[Router-dhcp-pool-0]gateway-list ip-address &
(2)DHCP 服务器可选配置
--- 配置为 DHCP 客户端分配的 DNS 服务器地址
[Router-dhcp-pool-0]dns-list ip-address &
--- 配置 DHCP 地址池中不参与分配的 IP 地址
[Router]dhcp server sforbidden-ip start-ip-address [end-ip-address]
--- 配置动态分配的 IP 地址的租用有效期限
[Router-dhcp-pool-0]expried {day day [hour hour [minute minute [second second]]] | unlimited }
(3)DHCP 服务器基本配置实例
- [Router] dhcp enable
- [Router] dhcp server forbidden-ip 192.168.1.10
- [Router] dhcp server forbidden-ip 192.168.1.254
- [Router] dhcp server ip-pool 0
- [Router-dhcp-pool-0] network 192.168.1.0 mask 255.255.255.0
- [Router-dhcp-pool-0] gateway-list 192.168.1.10
- [Router-dhcp-pool-0] expried day 5
来源: http://www.bubuko.com/infodetail-3112734.html