小阿轩yx-DHCP原理与配置
DHCP工作原理
了解DHCP服务
- DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)
- 由 Internet 工作 任务小组设计开发的
- 专门用于为 TCP/IP 网络中的计算机自动分配 TCP/IP 参数的协议
使用DHCP的好处
- 减少管理员的工作量
- 避免输入错误的可能
- 避免IP地址冲突
- 当更改IP地址段时,不需要重新配置每个用户的IP地址
- 提高了 IP 地址的利用率
- 方便客户端的配置
- 降低了配置IP地址的负担
- 提供了安全、可靠且简单的 TCP/IP 网络设置
DHCP的分配方式
- 自动分配:当 DHCP 客户机第一次成功地从 DHCP 服务器获取到一个 IP 地址后, 就永久地使用这个 IP 地址。
- 手动分配:由 DHCP 服务器管理员专门指定 IP 地址。
- 动态分配:当 DHCP 客户机第一次从 DHCP 服务器获取到 IP 地址后,并非永久地使用该地址,而是在每次使用完后,DHCP 客户机就会释放这个 IP 地址,供其他客户机使用
DHCP的租约过程
客户端从 DHCP 服务器获取IP地址的过程称之为 DHCP 租约过程
![](https://img-blog.csdnimg.cn/direct/081ea505b35d484a96cedf6189bf2dfc.png)
- 客户端在网络中搜索服务器
- 服务器向客户端响应服务
- 客户端向服务器发出服务请求
- 服务器向客户端提供服务
客户机请求IP地址
- 客户机要通过 DHCP 服务器获取一个合法的地址的租约过程
- 此时 DHCP 客户机以广播方式发送 DHCP Discover 发现信息来寻找 DHCP 服务器
服务器响应
- DHCP 服务器接收到来自客户机请求 IP 地址的信息时,它就在自己的 IP 地址池中查找是否有合法的 IP 地址提供给客户机
- 如果有, DHCP服务器就将此IP 地址做上标记, 加入到 DHCP Offer的消息中,然后 DHCP 服务器就广播一则 DHCP Offer消息
客户机选择IP地址
- DHCP客户机从接收到的第一个 DHCP Offer消息中提取IP地址,发出IP地址的DHCP 服务器将该地址保留,这 样该地址就不能再分配给另一个 DHCP客户机
服务器租约
- DHCP服务器接收到 DHCP Request消息后,以 DHCPACK消息的形式向客户机广播成功确认,该消息包含有 IP 地址的有效租约和其他可配置的信息
- 当客户机收到 DHCP ACK 消息时,它就配置了 IP 地址,完成 TCP/IP 的初始化
重新登录
- DHCP 客户机每次重新登录网络时,不需要再发送 DHCP Discover 信息,而是直接发送包含前一次所分配的 IP 地址的 DHCP Request 请求信息
更新租约
- 当 DHCP 服务器向客户机出租的 IP 地址租期达到 50%时,就需要更新租约。客户机直接向提供租约的服务器发送 DHCP Request 包,要求更新现有的地址租约
使用DHCP动态配置主机地址
DHCP服务
- 为大量客户机自动分配地址并提供集中管理
- 能够减轻管理和维护成本、提高网络配置效率
可分配的地址信息包括:
- 网卡的 IP 地址、子网掩码
- 对应的网络地址、广播地址
- 默认网关地址
- DNS 服务器地址
安装DHCP服务器
安装软件的命令(注:任选其一即可)
rpm -ivh Packages/dhcp-
#或者
yum -y install dhcp
- CentOS光盘中的 dhcp-4.2.5-47.el7.centos.x86_64.rpm
- DHCP软件包的主要文件
- 主配置文件:/etc/dhcpd.conf
- 执行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay
dhcpd.conf 的内容构成
vim /etc/dhcp/dhcpd.conf
option domain-name "kgc.cn";
option domain-name-servers 192.168.254.2, 114.114.114.114;
default-lease-time 21600;
max-lease-time 43200;
subnet 192.168.254.0 netmask 255.255.255.0 {
range 192.168.254.12 192.168.254.254;
option routers 192.168.254.2;
option broadcast-address 192.168.254.255;
}
host printsvr {
hardware ethernet 00:0C:29:20:84:EC;
fixed-address 192.168.254.250;
}
option:全局设置,作用于整个 DHCP 服务器
- default-lease-time:设置默认租约时间为 21600 秒(6小时)
- max-lease-time:设置最大租约时间为 43200 秒(12小时)
Subnet:网段声明,作用于整个子网段
- range:设置用于分配的 IP 地址池
- option routers:设置客户机的默认网关地址
- option broadcast-address:设置客户机的广播地址
host:主机声明,作用于单个主机
- hardware ethernet:指定对应主机的 MAC 地址
- fixed-address:指定为该主机保留的 IP 地址
host 主机声明,作用于单个主机
- hardware ethernet 参数:指定对应主机的 MAC 地址
- fixed-address 参数:指定为该主机保留的 IP 地址
启动 DHCP 服务
[root@localhost ~]# systemctl start dhcpd
[root@localhost ~]# netstat -anpu | grep ":67"
udp 0 0 0.0.0.0:67 0.0.0.0:* 5684/dhcpd
查看租约文件 /var/lib/dhcpd/dhcpd.lease
[ root@localhost ~]# less /var/lib/dhcpd/dhcpd.leases
lease 192.168.4.131 {
starts 4 2017/05/11 17:27:15;
ends 4 2017/05/11 23:27:15;
cltt 4 2017/05/11 17:27:15;
binding state active;
hardware ethernet 00:0c:29:3b:ff:76;
}
DHCP 客户端的使用
使用 DHCP 客户端
修改网卡配置文件(如 ifcfg-ens33) BOOTPROTO=dhcp
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=dhcp
[root@localhost ~]# ifdown ens33 ; ifup ens33
使用dhclient命令
dhclient [-d] [网络接口名]
[root@localhost ~]# dhclient -d ens33
……
Listening on LPF/ens33/00:0c:29:3b:ff:76
Sending on LPF/ens33/00:0c:29:3b:ff:76
Sending on Socket/fallback
DHCPDISCOVER on ens33 to 255.255.255.255 port 67 interval 5 (xid=0x608095ef)
DHCPREQUEST on ens33 to 255.255.255.255 port 67 (xid=0x608095ef)
DHCPOFFER from 192.168.4.11
DHCPACK from 192.168.4.11 (xid=0x608095ef)
bound to 192.168.4.131 -- renewal in 8669 seconds.
……
DHCP中继原理与配置
原理
- 当企业内部网络规模比较大时,通常通过 VLAN 将网络规划为多个不同的子网。但是在该情况下一台 DHCP 服务器无法为不同网段的客户机同时提供服务,因为 DHCP 协议使用广播,而 VLAN 能隔离广播
- DHCP 服务器在 VLAN 100 中,就只有 VLAN 100 内的客户机能从 DHCP 服务器那里获取 IP 地址
如果 VLAN 2 或 VLAN 3 的客户机就无法通过这台 DHCP 服务器来获取 IP 地址
两种解决方案:
- 为每个网段安装一台 DHCP 服务器,但这种方式的弊端是:资源浪费与不利于管理;
- 在连接不同网段的设备上开启DHCP中继功能,将DHCP这种特殊的广播信息在VLAN之间转发,让其他 VLAN 的客户机也能从 DHCP 服务器获取 IP 地址
DHCP中继配置
ip helper-address DHCPsrv-IPAddress
# DHCPsrv-IPAddress 为DHCP服务器的IP地址
在三层交换机上配置
DHCP
中继转发:首先需要保证交换机上各
VLAN
之间网络通信
正常,然后依次在不包含 DHCP
服务器的
VLAN
上进行
DHCP
中继配置
SW-3L(config)#interface vlan 2
SW-3L(config-if)#ip address 192.168.2.1 255.255.255.0
SW-3L(config-if)#ip helper-address 192.168.100.100
SW-3L(config-if)#no shutdown
SW-3L(config)#interface vlan 3
SW-3L(config-if)#ip address 192.168.3.1 255.255.255.0
SW-3L(config-if)#ip helper-address 192.168.100.100
SW-3L(config-if)#no shutdown
SW-3L(config)#interface vlan 100
SW-3L(config-if)#ip address 192.168.100.1 255.255.255.0
SW-3L(config-if)#no shutdown
DHCP 服务部署实战
安装 DHCP 服务器
# 安装 dhcp 软件
[root@localhost ~]# mkdir /media/cdrom
[root@localhost ~]# mount /dev/cdrom /media/cdrom/
[root@localhost ~]# cd /media/cdrom/Packages/
[root@localhost Packages]# dhcp-4.2.5-47.el7.centos.x86_64.rpm
# 系统镜像不同,安装 dhcp 版本不同,使用 tab 补全
修改 DHCP 配置文件
vim /etc/dhcp/dhcpd.conf
# 从模板文件中导入 :r /usr/share/doc/dhcp*/dhcpd.conf.example
# 将 * 替换为安装的 DHCP 版本号 tab 补全
option domain-name "kgc.cn";
option domain-name-servers 192.168.254.2, 114.114.114.114;
default-lease-time 21600;
max-lease-time 43200;
subnet 192.168.254.0 netmask 255.255.255.0 {
range 192.168.254.12 192.168.254.254;
option routers 192.168.254.2;
option broadcast-address 192.168.254.255;
}
host printsvr {
hardware ethernet 00:0C:29:20:84:EC;
fixed-address 192.168.254.250;
}
option:全局设置,作用于整个 DHCP 服务器
- default-lease-time:设置默认租约时间为 21600 秒(6小时)
- max-lease-time:设置最大租约时间为 43200 秒(12小时)
Subnet:网段声明,作用于整个子网段
- range:设置用于分配的 IP 地址池
- option routers:设置客户机的默认网关地址
- option broadcast-address:设置客户机的广播地址
host:主机声明,作用于单个主机
- hardware ethernet:指定对应主机的 MAC 地址
- fixed-address:指定为该主机保留的 IP 地址
host 主机声明,作用于单个主机
- hardware ethernet 参数:指定对应主机的 MAC 地址
- fixed-address 参数:指定为该主机保留的 IP 地址
启动 DHCP 服务
[root@localhost ~]# systemctl stop dhcpd
[root@localhost ~]# systemctl start dhcpd
[ root@localhost ~]# less /var/lib/dhcpd/dhcpd.leases
# 查看DHCP服务器的租用日志
客户端 CentOS7
修改网卡配置文件:BOOTPROTO=dhcp
- 重启网卡服务:service network restart
- 查看网卡服务:ifconfig eth0
- 释放IP地址:dhclient -r eth0
- 获取IP地址:dhclient -d
或者先禁用再启用网卡
# 启用
ifconfig downee eth0
ifdown eth0
# 禁用
ifconfig up eth0
ifup eth0
客户端 Windows 10
- 重新获取 IP 地址:ipconfig/renew
- 重新获取 dhcp 服务请求
- 释放当前 IP 地址:ipconfig/release
- 查看 IP 地址详细信息:ipconfig/all
小阿轩yx-DHCP原理与配置