文章目录
一、DHCP服务概述
- DHCP(Dynamic host Configuration Protocol )中文名为动态主机配置协议
- 用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议
- 属于UDP协议,协议端口为客户机67号端口、服务器68号端口
1.1 使用DHCP的好处
- 减少管理员的工作量
- 避免输入错误的可能
- 避免IP地址冲突
- 当更改IP地址段时,不需要重新配置每个用户的IP地址
- 提高了IP地址的利用率
- 方便客户端的配置
1.2 DHCP的分配方式
- 自动分配
分配到一个IP地址后永久使用 - 手动分配
有DHCP服务器管理员专门指定IP地址 - 动态分配
使用完后释放该IP,供其它客户机使用
1.3 DHCP可分配的地址信息主要包括
- 网卡的IP地址、子网掩码
- 对应的网络地址、广播地址
- 默认网关地址
- DNS服务器地址
1.4 DHCP的租约过程
客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程
1.4.1 租约过程的步骤
1. DHCP客户端在网络中搜索服务器
- 当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址
- 此时DHCP客户机以广播形式发送DHCP Discover发送信息来寻找DHCP服务器
2. DHCP服务器向客户端相应服务
- DHCP服务器接收到来自客户机请求IP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机
- 如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播一则DHCP Offer消息
3. DHCP客户端向目标服务器发出服务请求
- DHCP客户机从收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机
4. DHCP服务器向客户端提供服务
- DHCP服务器接收到DHCP Request消息后,以DHCP ACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息
- 当客户及收到DHCP ACK消息时,配置IP地址,完成TCP/IP的初始化
5. DHCP客户机重新登录
- DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息
6. DHCP服务器更新租约
- 当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约
- 客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约
二、DHCP服务配置
2.1 DHCP服务安装前准备
- CentOS 光盘中的dhcp-4.2.5-e17.centos.x86_64.rpm
- DHCP软件包的主要文件
主配置文件: /etc/dhcp/dhcpd.conf
执行程序: /usr/sbin/dhcpd、/usr/sbin/dhcrelay
2.2 DHCP配置流程
1. 安装dhcp
yum -y install dhcp
2. 修改dhcp配置文件
#vi /etc/dhcp/dhcpd.conf
ddns-update-style none;
default-lease-time 86400;
max-lease-time 259200;
subnet 192.168.20.0 netmask 255.255.255.0 {
range 192.168.20.100 192.168.20.200;
option routers 192.168.20.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 8.8.8.8, 100.100.100.100;
}
3. 开启dhcp服务并验证
systemctl start dhcpd ## 开启dhcp服务
- windows系统验证dhcp服务开启情况
首先需要关闭服务器和windows客户机的防火墙及核心防护
验证客户机已经成功获取dhcp分配的地址。
- CentOS系统验证dhcp服务开启情况
-
首先也是需要关闭防火墙和核心防护
-
然后将网络适配器设置成仅主机模式,与服务器同步
vi /etc/sysconfig/network-scripts/ifcfg-ens33 BOOTPROTO=dhcp ## 修改为dhcp获取地址
上述说明CentOS系统也获取到了dhcp地址
4. 服务器查询下发地址与地址保留
less /var/lib/dhcpd/dhcpd.leases ## 服务器查询已下发地址
- 对dhcp地址进行保存
-
DHCP的地址获取和释放的命令
dhclient -d ens33 ## linux中获取dhcp地址命令 dhclient -d ens33 ## linux中释放dhcp地址命令 ipconfig/release ## windows命令模式中获取dhcp命令 ipconfig/renew ## windows命令模式中释放dhcp命令
三、DHCP中继
3.1 三层交换机直接dhcp分配地址
3.1.1 拓扑图
3.1.2 要求
- 通过三层交换机为不同VLAN的主机分配不同网段的ip地址
- VLAN10 分配192.168.10.0/24网段的地址,VLAN20分配192.168.20.0/24网段的地址
3.1.3 命令配置
-
LSW1上的配置
# vlan batch 10 20 # interface Ethernet0/0/1 port link-type access port default vlan 10 # interface Ethernet0/0/2 port link-type access port default vlan 20 # interface GigabitEthernet0/0/1 port link-type trunk port trunk allow-pass vlan 2 to 4094 #
-
LSW2上的配置与LSW1上的相同
-
LSW3上的配置
# vlan batch 10 20 # interface GigabitEthernet0/0/1 port link-type trunk port trunk allow-pass vlan 2 to 4094 # interface GigabitEthernet0/0/2 port link-type trunk port trunk allow-pass vlan 2 to 4094 # ip pool dhcp1 gateway-list 192.168.10.1 network 192.168.10.0 mask 255.255.255.0 lease day 6 hour 0 minute 0 dns-list 2.2.2.2 3.3.3.3 # ip pool dhcp2 gateway-list 192.168.20.1 network 192.168.20.0 mask 255.255.255.0 lease day 7 hour 0 minute 0 dns-list 2.2.2.2 4.4.4.4 # interface Vlanif10 ip address 192.168.10.1 255.255.255.0 dhcp select global # interface Vlanif20 ip address 192.168.20.1 255.255.255.0 dhcp select global #
3.1.4 结果
使用DHCP选项配置ipv4地址,每台主机上获得的DHCP的IP地址为:
3.1.5 结论
使用dhcp服务可以自行配置不同vlan的不同ip地址
3.2 DHCP中继服务
使用中继服务对不同VLAN的主机配置不同的DHCP的ip地址
3.2.1 拓扑图
3.2.2 要求
由R1为客户端分配不同VLAN的不同ip地址,三层交换机在中间起着中继的角色
3.2.3 配置命令
-
LSW3上面的配置
vlan batch 10 20 100
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 2 to 4094interface GigabitEthernet0/0/3
port link-type access
port default vlan 100dhcp enable
interface Vlanif10
ip address 192.168.10.1 255.255.255.0
dhcp select relay
dhcp relay server-ip 10.10.10.1interface Vlanif20
ip address 192.168.20.1 255.255.255.0
dhcp select relay
dhcp relay server-ip 10.10.10.1interface Vlanif100
ip address 10.10.10.10 255.255.255.0 -
R1上面的配置
# interface GigabitEthernet0/0/0 ip address 10.10.10.1 255.255.255.0 dhcp select global # dhcp enable # ip pool dhcp1 gateway-list 192.168.10.1 network 192.168.10.0 mask 255.255.255.0 lease day 5 hour 0 minute 0 dns-list 2.2.2.2 6.6.6.6 # ip pool dhcp2 gateway-list 192.168.20.1 network 192.168.20.0 mask 255.255.255.0 lease day 7 hour 0 minute 0 dns-list 2.2.2.2 7.7.7.7 # ip route-static 192.168.10.0 255.255.255.0 10.10.10.10 ip route-static 192.168.20.0 255.255.255.0 10.10.10.10 #
3.2.4 结果
3.2.5 结论
DHCP中继能实现不同VLAN获取不同网段dhcp地址的功能。