文章目录
引言:在网络地址配置中,当主机比较多的时候,为每台机器配置静态IP时,工作量过于庞大,这个时候我们就需要设置一个动态的获取IP地址方式,也就是今天所说的DHCP。
一.DHCP服务
1.1什么是DHCP
DHCP动态主机配置协议:是专门为TCP/IP网络中计算机自动分配TCP/IP参数的协议
DHCP采用C/S架构,C-client(客户机),S-server(服务器)
DHCP服务采用传输层UDP协议,因为是C/S架构,所以客户机端口号是67,服务器端口号是68
1.2DHCP的好处
使用动态主机配置协议。可以减少网络管理员的工作量;避免手动配置时的错位配置;避免IP地址冲突;当更改IP网段时,不需要重新分配每个用户的IP地址;可以提高IP地址使用率;方便客户端的配置。
1.3DHCP分配方式
1.自动分配:分配一个IP地址后永久使用
2.手动分配:由网络管理员指定IP地址
3.动态分配:使用完后释放该IP,供其它客户机使用
二.DHCP工作原理
DHCP客户端向DHCP服务端请求IP地址的过程,我们称为租约过程
2.1DHCP租约过程
1.客户机向DHCP请求IP地址
当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址,此时DHCP客户机以广播方式发送DHCP Discover发现信息来寻找DHCP服务器;
2.
DHCP服务器接收到来自客户机请求lP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机。如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后以广播方式发送DHCP Offer消息
DHCP offer 消息中,包含DHCP服务器的IP地址、子网掩码和提供给客户端的合法IP地址
3.
客户机收到DHCP offer消息后,将从中提取DHCP服务器提供的IP地址等信息。并以广播的方式发送DHCP request信息,回复DHCP服务器,提供的IP地址客户机将使用。
4.
DHCP服务器收到客户机的DHCP request信息后,将以广播方式发送DHCP ACK消息,该消息包含有IP地址的有效租约和其他可配置的信息 ;当客户机收到DHCP ACK消息时,配置IP地址,完成TCP/IP的初始化
2.2DHCP更新租约
当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约; 客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约。
2.3重新登录
DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息。如果次IP地址未被使用,则DHCP服务端发送DHCP ACK确认信息,让客户机继续使用该IP。
若该IP地址被其它客户机使用,DHCP服务端会发送DHCP Nack否认信息。让客户机重新发送DHCP Discover请求,进行新的租约请求。
三.DHCP配置
3.1DHCP服务安装
Linux系统默认是没有DHCP服务的,需要我们自行进行安装
安装DHCP服务:
1.检查并安装dhcp服务
[root@xiayan ~]# rpm -q dhcp //检查系统是否有dhcp服务
未安装软件包 dhcp
[root@xiayan ~]# yum install dhcp -y //安装dhcp
2.配置dhcp配置文件
[root@xiayan ~]# cat /etc/dhcp/dhcpd.conf //程序刚安装完,没有配置文件信息要将配置文件模板拷贝过来
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example //配置文件模板位置
# see dhcpd.conf(5) man page
#
[root@xiayan ~]# cp -fp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf //拷贝配置文件3.2DHCP全局配置
vim /etc/dhcp/dhcpd.conf 编辑配置文件
6 # option definitions common to all supported networks...
7 option domain-name "example.org"; //指定默认搜索域,本地域名
8 option domain-name-servers ns1.example.org, ns2.example.org; //指定DNS服务器地址,多台用“,”分割
9
10 default-lease-time 600; //默认租约为600秒
11 max-lease-time 7200; //默认最大租约为7200秒,即2小时
12 全局配置一般为默认设置,不进行修改
3.3DHCP局部配置
一台DHCP服务可以为多个网段提供服务,因此subnet网段声明必须有而且可以有多个。
每行命令的结尾为==“;”==别忘记分割
vim /etc/dhcp/dhcpd.conf 编辑配置文件
# This is a very basic subnet declaration. //子网声明
subnet 192.168.100.0 netmask 255.255.255.0 { //声明网段地址
range 192.168.100.150 192.168.100.180; //设置地址池
option routers 192.168.100.100; //指定默认网关地址
option domain-name-servers 114.114.114.114; //定义DNS服务器
}
更改完配置信息,需要重启dhcp服务
systemctl restart dhcpd.service
3.4预留指定IP配置
vim /etc/dhcp/dhcpd.conf 编辑配置文件
host fantasia { //主机名
81 hardware ethernet 08:00:07:26:c0:a5; //主机网卡地址
82 fixed-address fantasia.fugue.com; //预留IP地址
83 }
host w10 {
81 hardware ethernet 08:00:07:26:c0:a5;
82 fixed-address 192.168.100.2;
83 }
更改完配置信息,需要重启dhcp服务
systemctl restart dhcpd.service
3.5DHCP信息查询
1.DHCP租约日志:/var/lib/dhcpd/dhcpd.leases
2.dhclient -d +网卡名 查看租约请求过程
四.DHCP中继设置
当企业内部网络规模比较大时,通常通过 VLAN 将网络规划为多个不同的子网。但是 在该情况下一台 DHCP 服务器无法为不同网段的客户机同时提供服务,因为 DHCP 协议使用广播,而VLAN能隔离广播。
DHCP中继原理:
用一个三层交换,将DHCP服务器以中继连接到交换机上,由交换机进行转发,实现不同网段通过中继服务器转发获取IP地址。
模拟三个网段,用同一DHCP服务自动配置IP地址
各配置如下图
4.1DHCP配置
vim /etc/sysconfig/network-scripts/ifcfg-ens33 配置网卡信息
systemctl restart network 配置完重启服务
IPADDR=192.168.100.100 #此IP地址为DHCP接口地址
GATEWAY=192.168.100.1 #网关IP
NETMASK=255.255.255.0vim /etc/dhcp/dhcpd.conf 配置DHCP
systemctl restart dhcpd 重启dhcp服务


windows虚拟网卡vm1设置
4.2ENSP配置
首先配置Cloud1,配置完后再接入网络
二层交换机sw1设置
[SW1]vlan batch 10 20 100 //添加vlan 10 20 100
[SW1]int g/0/0/1
[SW1-GigabitEthernet0/0/1]port link-type trunk //设置中继
[SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan all //所有vlan口都可通过
[SW1]int e0/0/2
[SW1-Ethernet0/0/2]port link-type access
[SW1-Ethernet0/0/2]port default vlan 10
[SW1-Ethernet0/0/2]int e0/0/3
[SW1-Ethernet0/0/3]port link-type access
[SW1-Ethernet0/0/3]port default vlan 20
[SW1-Ethernet0/0/3]int e0/0/4
[SW1-Ethernet0/0/4]port link-type access
[SW1-Ethernet0/0/4]port default vlan 100
[SW1-Ethernet0/0/4]int e0/0/1
[SW1-Ethernet0/0/5]port link-type access
[SW1-Ethernet0/0/5]port default vlan 100三层交换机sw2设置
[SW2]dhcp enable //开启dhcp
[SW2]vlan batch 10 20 100
[SW2]int vlanif 10
[SW2-Vlanif10]ip add 192.168.10.1 24
[SW2-Vlanif10]dhcp select relay //基于DHCP中继
[SW2-Vlanif10]dhcp relay server-ip 192.168.100.100 //去192.168.100.100请求DHCP服务
[SW2-Vlanif10]int vlanif 20
[SW2-Vlanif20]ip add 192.168.20.1 24
[SW2-Vlanif20]dhcp select relay
[SW2-Vlanif20]dhcp relay server-ip 192.168.100.100
[SW2]int g/0/0/1
[SW2-GigabitEthernet0/0/1]port link-type trunk //设置中继
[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan all PC主机配置
4.3获取IP地址
windows系统中IP获取命令
ipconfig //查看网卡信息
ipconfig /release //释放地址
ipconfig /renew //重新获取地址
三台不同网段的主机,成功通过DHCP服务器自动获取IP地址,我们可以看下DHCP的日志文件
vim /var/lib/dhcpd/dhcpd.leases
五.总结
1.DHCP协议可以动态分配IP地址,减少管理员工作量
2.DHCP可以给部分主机预留IP地址,保证部分特殊用户的网络正常
3.DHCP采用UDP协议 端口为67、68