DHCP
一, DHCP 简介
1. 什么是 DHCP
DHCP(Dynamic Host Configuration Protocol, 动态主机配置协议) 是一种用户简化计算机 IP 地址管理的标准;
2.DHCP 优缺点
优点: 不需要手工分配 IP, 可以设定保留地址的客户及参数, 安全可靠, 客户机移动回释放旧的 IP, 路由器可以转发 DHCP 请求
缺点: 不能发现非 DHCP 用户正在使用的 IP
3. 租约过程: DHCP 协议使用 UDP 端口 67(服务端口) 和 UDP 端口 68(客户端) 进行通信, DHCP 协议通信使用广播
1.IP 地址租约申请阶段:
客户端发起 DHCPDISCOVER 广播消息, 使用 0.0.0.0 作为源 ip, 请求中包含客户端的 Mac 地址和计算机名, 用于 DHCP 服务器的识别
2.IP 地址租约提供阶段:
接收到 DHCPDISCOVER 广播的服务器检测自己配置, 如果有有效的 DHCP 作用于和富裕的 IP, 则发起 DHCPOFFER 广播来回应发起 DHCPDISCOVER 的客户端
3.IP 地址租约选择阶段:
如果多台 DHCP 服务器返回 DHCPOOFFER, 则 DHCP 客户端只接受第一个收到的 DHCPOFFER 提供的信息, 以广播的方式回答一个 DHCPREQUEST 请求
DHCPREQEST 中包含 DHCP 客户端向它所选定的 DHCP 服务器请求 IP 的内容, 之所以以广播回答, 是为了通知所有 DHCP 服务器, DHCP 客户端将选择某台 DHCP 服务器提供的 IP
4.IP 地址租约确认阶段
提供的租约被接受的 DHCP 服务器在接收到 DHCP 客户端发起的 DHCPREQUEST 广播后, 会发送最后的 DHCPACK 广播消息进行最后的确认;
4. 相关术语
1. 作用域: 是一个完整连续的可用 IP 地址范围
2. 地址池: 包含可以分配给计算机使用的 IP 地址范围
3. 租约: DHCP 服务器指定的时间长度, 再次租约期内, 客户端可以使用分配给它的 IP, 如果租约到期, 客户端必须更新 IP 租约
4. 保留地址: 将提供一个动态地址和其 Mac 地址相关联的手段, 用于保证次网卡长期使用某个 IP
5. 选项类型: 其他参数, 如: 网管, DNS 服务器等
6. 超级作用域: 可以对多个作用域统一管理, 包含多个作用域
二, 安装和配置
1. 所需安装包
- dhcp
- dhcp-common
2./etc/dhcp/dhcpd.conf 文件详解
1. 复制模板文件: cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf /etc/dhcp/dhcpd.conf
3. 配置实例:
1. 要求如下
1分配地址池: 192.168.9.60 ~ 192.168.9.160
2子网掩码: 255.255.255.0
3网关地址: 192.168.9.1
4DNS 服务器: 192.168.9.2
5默认租约有效期: 1 天 (86400 秒)
6最大租约有效期: 7 天 (604800 秒)
7给主机名为 Windows 的客户机 (Mac 地址为: 00:0C:29:51:AF:B8), 保留使用 192.168.9.150
8支持 DNS 动态更新模式
9忽略客户机更新 DNS 记录
10DNS 域名: p-pp.cn
2. 配置步骤
1. 复制模板: cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf /etc/dhcp/dhcpd.conf
2. 修改 / etc/dhcp/dhcpd.conf
- ddns-update-style interim; # 支持动态更新 DNS
- ignore client-updates; # 忽略客户机更新 DNS 记录
- subnet 192.168.9.6 netmask 255.255.255.0 {
- option routers 192.168.9.1; # 网关
- option subent-mask 255.255.255.0; # 子网掩码
- option domain-name "p-pp.cn"; # DNS 域名
- option time-offset -18000; # 格林威治时间的偏移时间, 默认为秒
- option domain-name-servers 192.168.9.2; # DNS 服务器
- range 192.168.9.60 192.168.9.160; # 服务器分配地址的范围
- default-lease-time 86400; # 默认租约有效天
- max-lease-time 604800; # 最大租约有效期
- }
- host Windows {
- # Windows 只是一个名字
- hardware ethernet 00-0C-29-51-AF-B8; # 保留地址的 Mac 地址
- fixed-address 192.168.9.150; # 为计算机分配的 IP 地址
- }
三, 客户端获取 IP 地址
- 1.Linux
- 1.dhclient -d eth0
2./etc/sysconfig/network-scripts/ifcfg-eth0 修改配置文件, 改为自动获取
2.Windows
1. 设置自动获取 IP, 自动获取 DNS
2. 打开命令终端
- ipconfig /renew # 申请 IP
- ipconfig /all # 查看 IP 地址
- ipconfig /release # 释放 IP
四, 查看租约
1./var/lib/dhcpd/dhcpd.leases 存放着 DHCP 地址租约数据库, 租约数据库使用的格林威治标准时间
五, DHCP 中继代理
1.DHCP 代理简介
在大型网络中, 存在多个子网, 客户机通过广播获取 IP, 但是广播不能跨子网的, 因此, 如果 DHCP 服务器和客户端存在不同子网, 就无法获取 IP 地址
2.DHCP 中继配置实例
公司内部有两个子网, 分别是, 192.168.9.0 和 192.168.30.0,DHCP 位于 192.168.9.0 的子网上, 通过配置 DHCP 中继, 使 192.168.30.0 的子网客户机可以获取 IP
公司环境如图所示:
3. 配置步骤
1. 编辑 / etc/dhcp/dhcpd.conf 文件
- shared-network 0-1 {
- # 用来告知一些子网是否分享相同网络, 也就是超级域
- subnet 192.168.9.0 netmask 255.255.255.0 {
- option routers 192.168.9.1;
- option subnet-mask 255.255.255.0;
- option broadcast-address 192.168.9.255;
- option domain-name "p-pp.cn";
- option time-offset -18000;
- option domain-name-servers 192.168.9.2;
- range 192.168.9.60 192.168.9.160;
- default-lease-time 86400;
- max-lease-time 604800;
- }
- subnet 192.168.30.0 netmask 255.255.255.0 {
- option routers 192.168.30.1;
- option subnet-mask 255.255.255.0;
- option broadcast-address 192.168.30.255;
- option domain-name "p-pp.cn";
- option time-offset -18000;
- option domain-name-servers 192.168.30.2;
- range 192.168.30.60 192.168.30.160;
- default-lease-time 86400;
- max-lease-time 604800;
- }
- }
2. 重启 dhcpd 服务
3. 配置路由转发功能
1. 配置 IP 地址: ifconfig ens37 192.168.3.50/24
2. 安装 dhcp
3. 编辑 / etc/sysctl.conf 文件在文件添加一行内容为:
"net.ipv4.ip_forward=1"
开启路由转发功能
sysctl -p: 立即生效
4. 配置 dhcp 中继
1.dhcrelay DHCP 服务器的 IP
- 2. netstat -tunlp |grep dhcrelay
来源: http://www.bubuko.com/infodetail-2981318.html