为什么要用dhcp服务
首先我们要先了解一下dhcp使用的环境,比如在一个企业网里面有几十台主机,而这几十台主机的使用者对自己的主机的认知程度各不相同,比如有的是公司的文员,他们只是应用普通的办公环境,对主机的要求也不是很高,只要能上网,做一些普通的办公就行了,而此时你要是去让他们修改一下ip地址换一个子网掩码等等,估计他们是做不到的,子比如公司的高管,对主机也不是太了解,但是对主机比较以来,有时候需要外出办公,要通过笔记本连接公司内网进行办公,此时你在让他去给自己的笔记本修改ip登陆用户名等等,估计这个公司的网络管理者就要被辞职了,而我们所用的dhcp就可以实现这个功能,动态的的给每一个用户分配ip地址 动态的管理每一个用户的需求,其实dhcp对网络的管理还有另一种管理方式,那就是实现人工的手动管理,但这比较麻烦如果企业有几百台主机你在一个一个的去给他们配置相应的ip掩码dns这绝对的不科学,但也不是没有用处,比如我可以把企业的所有用户通过dhcp服务器的管理,来实现用户的的定时上网,给他们一个规定的时间段可以上网,过了在规定的时间就断开网络连接,但领导有时候要加班,也要使用网络办公,那这时候就可以用到手工dhcp配置了
Dhcp的定义
Dhcp动态主机配置协议 对ip等参数的集中管理基于服务器和客户端之间的应用
作用:
动态管理ip地址等参数这些参数包括( ip地址 子网掩码 默认网关 dns)
dhcp服务器
宽带路由器 普通通路由器 防火墙 三层交换机 windows主机 linux主机只要进行一些相应的设置都可以作为dhcp服务器
客户端
只要机器支持tcp/ip协议设置成[自动获得]就可以了
Dhcp的工作原理及模式
1,Manual 手工管理
原理:
首先在dhcp服务器上配置用户的ip子网掩码 默认路由 mac地址等参数比如此时在服务器上有一个mac地址为1111-2222-3333的对应的ip而刚好有一个用户的主机的mac也是1111-2222-3333此时用户的主机就会发出一个带有自己mac地址的广播包到自己的网络中去而我们刚刚配置的那台服务器刚好也受到了这条广播它就会和自己的配置进行验证此时它有一个1111-2222-3333的mac和发出广播的主机的mac对应就会把配置好的ip等相关参数发送到用户的主机,而此时用户就可以通过dhcp服务器进行网络功能了
特点:
管理员工作量大
可以实现地址的动态分配
地址利用率低
2, automatic 动态分配地址
原理:
在服务器上设置一个地址池,这个地址池里都是没有被用过的ip以及相应参数,当有客户端发出广播请求的时候,服务器会自动分配一个ip地址给客户端并作出相应的记录比如客户端的mac为1111-2222-3333 服务器给他的ip为1.1.1.1 当这个客户端再次访问服务器的时候服务器会发现这个用户的mac地址已经被使用过了而这个mac对应的ip地址为1.1.1.1此时服务器就会再次把1.1.1.1这个ip地址分配给mac为1111-2222-3333的用户
缺点:永久性ip和mac绑定不灵活 地址利用率低 管理员工作量降低
3,dynmaic 动态分配ip
原理:
和automatic相同,只是增加了一个租期的功能,比如我们可以给用户mac为1111-2222-333的用户设置一个租期比如租期为两个小时当两个小时过了之后dhcp服务器会重新收回1.1.1.1 这个ip地址,当有其他主机登陆的时候就会把这个ip分配给其他主机使用时的ip的利用率大大增加
Dhcp客户顿如何获得网络地址
一个网络当中会有多个dhcp服务器,当我们的客户端登录到网络中之后为了得到网络地址它会在网络当中发出一个广播请求这个广播的名字为dhcpdiscover这是所有的服务器都会搜到这个广播包并从自己的地址池中选择一个没有被占用的地址发送给客户端一个返回的广播包报的名字叫做dhcpoffer(只有ip 地址)此时会有多个服务器给客户端发出返回的数据包而客户端就会在众多的服务器当中选择一个发送返回数据包最快速的一个而在给他发送一个dhcprequest数据包,此时这个数据包有两层含义1,告诉其他服务器我选择了第一个服务器此时其他服务器就会回收自己发出的ip地址2,告诉第一个服务器我想要得到你的ip地址服务器收到这个包会后就会在发出一个包含ip 掩码 网关 dns 租约时间等信息的数据包叫做 dhcpack此时客户端就已经得到了ip已经具有网络功能了
图解如下
续租过程
1,当用户的租约期为到的时候如果用户的机器重启了,就会发出一个新的dhcprequest此时服务器会自动刷新用户的租期默认为两个小时
2,当租约过了%50用户发出一个dhcpresquest此时服务器会给你更新为新的租期
当租期到了%87.5时服务器还没有更新租期有两种选择
1继续等待更新知道租期到期终止 ip 服务
2去寻找新的服务器
案例:1
dhcp单作用域的实现
实验环境:
ip | 子网掩码 | 角色 | |
虚拟机9.0 | 实验平台 | ||
Linux5.4企业版 | 192.168.1.100 | 255.255.255.0 | server |
Windows xp | 192.168.1.2-----192.168.1.253之间 | 255.255.255.0 | client |
实验目的:
把linux做成dhcp服务器,windows xp为客户端,实现网络地址的动态分配
实验结果:
客户机得到动态 ip地址
注意事项:
实验的服务器和客户端的ip地址必须和物理机的 ip地址位于同一ip网段,把虚拟机的自带的dhcp服务关闭
步骤
安装dhcp服务器
挂载光盘
安装dhcp服务器
对dhcp服务器进行配置
DBCP配置完毕
实验结果:
实验扩展:
实验如上但如果我们要dhcp分配的地址为不连续的应该怎么办?只需在dhcp的配置文件修改一下就可以了,比如上面的实验当中客户需求的地址为192.168.1.2-----192.168.1.100和192.168.1.15.0-----192.168.1.253只要如下配置就ok了
在如果要绑定某个地址呢?比如我是领导啊,我要求我的ip地址永远都是192.168.1.140注意被绑定的ip地址必须是在地址池之外的
做法如下
案例(二)
超级作用域
应用背景,当网络中需求ip地址超出了一个作用域的范围甚至多个作用域的范围时,就可以启用超级作用域
例如一个企业当中有500多台主机显然一个作用域是不够的此时我们就可用到超级作用域
案例(二)
步骤
安装dhcp服务器
挂载光盘
安装dhcp服务器
对dhcp服务器进行配置
案例三
实验说明:
用到的技术:单臂路由技术解决vlan间通讯
Dhcp实现 ip地址的动态分配
设备名称 | 角色 | 接口 | Vlan | 对应关系及ip |
防火墙h3c 系列 f100c | 做路由功能解决vlan间通讯 | E0/0 E0/0.1 e0/0.2 e0/0.3 | E0/0,1------vlan 10 ----192.168.10.1 E0/0,2-----vlan 20-----192.168.20.1 e0/0.3------vlan 30-----192.168.30.1 | |
交换机 华为s3526 | 划分vlan | E0/10 e0/20 e0/22 e0/24 | Valn 10 vlan 20 Vlan 30 | E/10------vlan 10 E0/20-----vlan 20 E0/22-----vlan 30 |
Linux主机 | 服务器 | 192.168.30.100 255.255.255.0 |
实验拓扑
交换机配置
[Quidway]vlan 10
[Quidway-vlan10]port e0/10
[Quidway-vlan10]vlan 20
[Quidway-vlan20]port e0/20
[Quidway-vlan20]vlan 30
[Quidway-vlan30]port e0/22
[Quidway-vlan30]int e0/24
[Quidway-Ethernet0/24]port link-type trunk
[Quidway-Ethernet0/24]port trunk permit vlan all
防火墙配置]
[fw-1]undo insulate
[fw-1]int eth0/0.1
[fw-1-Ethernet0/0.1]vlan-type dot1q vid 10
[fw-1-Ethernet0/0.1]ip address 192.168.10.1 24
[fw-1-Ethernet0/0.1]int eth0/0.2
[fw-1-Ethernet0/0.2]vlan-type dot1q vid 20
[fw-1-Ethernet0/0.2]ip add 192.168.20.1 24
[fw-1-Ethernet0/0.2]int eth0/0.3
[fw-1-Ethernet0/0.3]vlan-type dot1q vid 30
[fw-1-Ethernet0/0.3]ip add 192.168.30.1 24
[fw-1-Ethernet0/0.3]q
[fw-1]firewall zone trust
[fw-1-zone-trust]add interface eth0/0.1
[fw-1-zone-trust]add interface eth0/0.2
[fw-1-zone-trust]add interface eth0/0.3
[fw-1-zone-trust]q
[fw-1]int eth0/0.1
[fw-1-Ethernet0/0.1]dhcp select relay
[fw-1-Ethernet0/0.1]ip relay address 192.168.30.100
[fw-1-Ethernet0/0.1]int eth0/0.2
[fw-1-Ethernet0/0.2]dhcp select relay
[fw-1-Ethernet0/0.2]ip relay address 192.168.30.100
服务器配置:
配置服务器的ip:192.168.30.100 255.255.255.0
配置dhcp服务器
测试网络中的主机能否得到地址