DHCP中继代理(dhcp relay)
就是说如果dhcp客户端与服务器在同一个物理网段,则客户机可以正确地获得服务器端动态分配的ip地址。如果不在同一个物理网段,则需要中继代理。
用DHCP Relay代理,它可以传递消息到不在同一个物理子网的DHCP服务器,也可以将服务器的消息传回给不在同一个物理子网的DHCP客户机。
DHCP中继代理 原理:
1、 当dhcp client 启动并进行dhcp 初始化时,它会在本地网络广播配置请求报文。
一般应用
大型的企业网中会设置很多 vlan (校园网不算大但也差不多),每个vlan也有很多的也会连接有很多的端口,这些端口的地址管理就用到的dhcp 服务;但是vlan多了不可能在每个里面都设置 DHCP 服务器,所以就得像个办法,我为一个vlan 做dhcp服务器、、然后还能为其他 vlan 分配 IP 地址,
这样多节省各方面的资源、(网络 个人);当然也就引来了 vlan 间的通讯,vlan间的通讯是靠高层的、三层交换机路由器防火墙,它通信的实质就是拆分子接口然后分配给各个vlan 端口;但是路由设备在处理网络流量的时候,是不允许广播包通过的;知道吧在网络里面是有三种流量;
一种是单播对特定的人发送广播(unicast),目标ip是一个真实可用的ip;
一种是广播(broadcast),它的目标ip是 255.255.255.255 变成以后总广播帧;
还有一种叫组播(multicast)224.0.0.5 224.0.0.9 224.0.0.6 224.0.0.10;
所以DHCP中继 实质就是把dhcp的广播包转化为单播包再进行传输;
(因为啊一般三层设备只能让单播和组播进行通过,广播是不被允许的。)
做个案例 :
当然也可以用虚拟设备进行模拟实验;对三个网段不同 vlan间进行通讯;
windows 和linux 都可以作为一个路由设备(能转发数据包就行),
在 Linux下只需要更改一些内核参数,在/etc/sysctl.conf 下更改;
而 windows 上是实现路由功能需要一个协议叫路由与远程访问协议(RAS),继而再把他们设置中继;
【模拟环境 】
第一个 :先用windows server 2003 做路由中继
看看简易拓扑图 :
在 虚拟机 选择好一个 windows server 2003 做路由;
然后需要设置三块网卡 VM1 、2、 3 ,是为了对应一个服务器和两个分支;
然后在各自网卡分别添地址 看看是不是有这三个直连网段:
然后开始着手 把 windows server 2003 变为一个路由功能的数据转发,配置并启动;
循序渐进 截图如示:
vlan路由
添加 中继服务:
给中继起端口:
添加中继服务器地址 :
至此 ,中继路由就做好了 ;
接着 开始做 server,这是以 linux 机做服务器;
然后再服务器里做分支一、分支二的作用域:
# tec.com 分支一作用域;
# mkt.com 分之二作用域;
还有一个本身的 空作用域;
图中的有个参数默认租约时间单词写错了;应该是 default-lease-time ;
虚拟的情况就这一个配置好了接下里就是测试了;然后就启动 DHCP 服务器;
找台PC测试下:首先要先用指令 ipconfig/release 先释放地址
(当然还要更改之前设置的三块网卡,分之一(tec.com)在第二块、分之三(mkt.com)再第三块,总部服务器还是自己的第一块网卡)
然后再进行获取新的IP地址;ipconfig /renew
第二个 :先用linux 5.4 做路由中继
换成linux 5.4 后,(仍然是虚拟环境下的配置)
过程仍然要是有三块网卡,所以再新建两个(同样的分之一 tec.com 和分支二 mkt.com )
进入系统之后执行setup 为每一块网卡执行相应的地址;
然后保存退出;重新启动网络(指令 :service network restart)。
打开超级终端 执行 setup 添加网卡 :
以防万一 查看一下 路由表信息(看看有没添加进):
接着就要给 linux 作路由功能,需要在 /etc/ sysctl.conf 更改参数设置:
设置 net.iipv4_forward = 1
(按照默认设置,红帽企业 Linux 内核中的 IPv4 政策禁用了对 IP 转发的支持,这会防止运行红帽企业 Linux 的机器成为专用边缘路由器)
接下来看看更改是否起效;
( sysctl 配置与显示在/proc/sys目录中的内核参数、 -p 从指定的文件加载系统参数 )
linux 充当路由设备做好了、但要满足中继服务,还要安装 dhcp 的一个软件包;
还是先挂在挂载光盘 在安装 DHCP 服务;
依然看看按章文件有什么重要的 需要了解没;
找到上面中继服务的配置脚本就要正在这里进行更改;做一些参数的改变:
这 更改之 后;
更改完成之后开始进行测试一下 行不行 :ping 192.168.30.100
(这个是 linux serevr 的地址, ok 了)
然后再 重新启动 中继服务;
找台分支的PC 查看是不是获得了动态分配的 IP地址了 ;(这个分支二的)
-----------------------》》》》》》》》》》》》
【 真实 设备 】
依然对着 拓扑图做:
首先呢 也是Linux 服务器配置:
配置完成依然是路由信息先看有没误差:
接着 在server 添加作用域 :
(分支一(tec.com)、分支二(mkt.com )及自身 空作用域 )
按步骤 安装 DHCP ,接着重启 DHCP 服务;
ok ,至此 DHCP server算做好了。
接着 配置 交互式网络 三层设备
【华为 S2000交换机】
添加vlan 端口
查看有没添加成功 :
然后看一下 trunk 接口 :
Trunk 是 dot1q 封装 、还允许所有端口通过;
路由:【 华为 R2621 】
路由设备看看 配置信息:
( 是否 有中继功能 )
配置完之后 成不成功 来测试:
路由交换 配置过程:
三层交换机配置 【华为 S2000 】
Vlan 10
Port e1/0/10
Vlan 20
Port e1/0/20
Vlan 30
Port e1/0/22
Int e1/0/24
Port link-type trunk
Port trunk permit vlan all
确认参数指令: dis vlan 10 20 30 ;
查看 trunk 接口指令: dis int e1/0/24
路由:【R2621】
单臂路由先进行拆分:
Int eth0.1
Vlan-type dot1q vid 10
Ip add 192.168.10.1 24
Int eth0.2
Vlan-type dot1q vid 20
Ip add 192.168.20.1 24
Int eth0.3
Vlan-type dot1q vid 30
Ip add 192.168.30.1 24
q
选择中继功能配置(进入两个分支端口开始选作中继)
Int eth0/0.1
Dhhcp select relay
Ip relay address 192.168.30.100
Int eth0/0.2
Dhhcp select relay
Ip relay address 192.168.30.100
q
注意 :
如果要用的防火墙代替路由器,要记得先取消防火墙的端口隔离功能;
指令:undo insulate ;,
所以就随便配置,别忘了最后把端口加上防火墙区域;