HCNP Routing&Switching之DHCP中继

前文我们聊了下BFD相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16487842.html;今天来聊一聊DHCP中继相关话题;

DHCP的作用

DHCP(Dynamic Host Configure Protocol,动态主机配置协议)是应用层协议,使用UDP封装,服务端工作在UDP的67号端口,客户端工作在68号端口;它是BOOTP(Bootstrap Protocol)协议发展而来;主要作用是动态分配TCP/IP信息(ip地址,子网掩码,网关,DNS等等),减轻管理员管理ip地址的工作;

DHCP中继的作用

HCNP Routing&Switching之DHCP中继

提示:随着网络规模的扩大,网络中就会出现用户处于不断网段的情况,那么不同网段的主机怎么来分配ip地址呢?上述两个方式DHCP部署方式都可以实现,但推荐使用第二种DHCP 中继;第一种方式虽然可以,但是很浪费服务器,没有必要;

DHCP中继,顾名思义就是中继DHCP服务,使得DHCP能够跨多个广播域进行ip地址分配;我们知道DHCP默认是工作在一个广播域内,为一个广播域内的主机进行ip地址分配;DHCP信息以广播为主,路由器默认就是不转发广播,所以我们想要实现跨多个广播域或者路由器使用DHCP分配ip地址,我们就必须要在路由器或三层设备上开启dhcp中继;这里的DHCP中继就有点类似中间商代理;其主要作用就是代理dhcp,实现dhcp能够工作在更多的广播域,为更多网段的主机分配ip地址;

DHCP Relay基本工作原理

HCNP Routing&Switching之DHCP中继

提示:DHCP客户端到dhcp中继的过程,同我们之前学习的DHCP客户端到dhcp服务器的过程一样;有了dhcp中继,此时客户端和服务器的通信都会经过中继来进行转发;我们可以理解为DHCP中继就是dhcp服务器的反向代理(个人理解),即客户端向中继发送请求,就相当于在像DHCP服务器发送请求一样;中继到服务器之间的通信全是单播;有关DHCP通信过程的描述,请参考本人博客https://www.cnblogs.com/qiuhom-1874/p/15147870.html

DHCP Relay配置

实验

HCNP Routing&Switching之DHCP中继

环境说明,用一个路由器来模拟DHCP服务器,现网中如果网络规模较大建议使用专用的服务器搭建DHCP服务;用一个三层交换机来中继DHCP;中继到服务器中间使用192.168.12.0/24网段,客户端有两个VLAN,分别是vlan10,分配地址为172.16.10.0/24和vlan20,分配172.16.20.0/24;

DHCP服务器的配置

1、在R1上配置相关接口ip地址,并全局开启dhcp服务

HCNP Routing&Switching之DHCP中继

2、创建全局地址池

HCNP Routing&Switching之DHCP中继

3、关联接口和全局地址池

HCNP Routing&Switching之DHCP中继

提示:这里必须选择全局地址池,不能关联接口;

除了上述正常配置dhcp服务以外,我们这里还需要新建两条静态路由(服务器到分配出去的地址的路由)

HCNP Routing&Switching之DHCP中继

ok,到此dhcp服务器的配置就完成了;接下来配置交换机

配置交换机的基本vlan,ip地址

HCNP Routing&Switching之DHCP中继

HCNP Routing&Switching之DHCP中继

验证:ping dhcp服务器看看能不能正常ping通?

HCNP Routing&Switching之DHCP中继

提示:可以看到现在交换机和路由器是通了;

路由器ping 交换机vlanif10 和vlanif20的地址,看看是否通?

HCNP Routing&Switching之DHCP中继

提示:可以看到都可以正常通信;

在交换机上配置DHCP中继

1、全局开启dhcp功能

HCNP Routing&Switching之DHCP中继

2、创建dhcp服务器组

HCNP Routing&Switching之DHCP中继

3、在服务器组里添加服务器

HCNP Routing&Switching之DHCP中继

提示:这里的服务器可以添加多个,后面的ip地址就是服务器的ip地址;

4、开启DHCP中继功能,并选择对应服务器组

HCNP Routing&Switching之DHCP中继

提示:这里选择服务器组就是我们之前建立的组名即可;到此dhcp中继就配置完毕了;

验证:在vlan10的主机上抓包,获取ip

HCNP Routing&Switching之DHCP中继

提示:可以看到现在vlan10的主机能够正常获取到vlan10地址池里的ip地址以及我们指定的网关;

在交换机上抓包,开启vlan20里主机dhcp获取ip地址

HCNP Routing&Switching之DHCP中继

提示:可以看到vlan20里的主机首先将discrover信息广播发送出去,然后再又vlanif20接口将对应信息转发给dhcp服务器;同样的道理服务器的offer信息也会经由对应的vlanif 20接口再转发给客户端;客户端的request消息和服务器的ack消息都会经由中继然后传达给对方;在客户端看来中继就好比服务器,在服务器看来中继就好比客户端;

验证:在服务器上查看已分配的ip地址

bash;gutter:true; dis ip pool name vlan10 used Pool-name : vlan10 Pool-No : 0 Lease : 1 Days 0 Hours 0 Minutes Domain-name : - DNS-server0 : - NBNS-server0 : - Netbios-type : - Position : Local Status : Unlocked Gateway-0 : 172.16.10.254 Mask : 255.255.255.0 VPN instance : --</p> <hr /> <pre><code> Start End Total Used Idle(Expired) Conflict Disable </code></pre> <hr /> <pre><code> 172.16.10.1 172.16.10.254 253 1 252(0) 0 0 </code></pre> <hr /> <p>Network section :</p> <hr /> <p>Index IP MAC Lease Status</p> <hr /> <pre><code>252 172.16.10.253 5489-98dd-05a8 1039 Used </code></pre> <hr /> <p>dis ip pool name vlan20 used Pool-name : vlan20 Pool-No : 1 Lease : 1 Days 0 Hours 0 Minutes Domain-name : - DNS-server0 : - NBNS-server0 : - Netbios-type : - Position : Local Status : Unlocked Gateway-0 : 172.16.20.254 Mask : 255.255.255.0 VPN instance : --</p> <hr /> <pre><code> Start End Total Used Idle(Expired) Conflict Disable </code></pre> <hr /> <pre><code> 172.16.20.1 172.16.20.254 253 1 252(0) 0 0 </code></pre> <hr /> <p>Network section :</p> <hr /> <p>Index IP MAC Lease Status</p> <hr /> <pre><code>252 172.16.20.253 5489-98b9-365e 453 Used </code></pre> <hr /> <p>

提示:可以看到在服务端能够正常看到对应地址池中分配出去的ip地址;

Original: https://www.cnblogs.com/qiuhom-1874/p/16514574.html
Author: Linux-1874
Title: HCNP Routing&Switching之DHCP中继

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/27282/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • linux装nginx的方法

    linux直接装nginx https://blog.csdn.net/weixin_39812533/article/details/110461843?utm_term=cen…

    Linux 2022年8月11日
    0145
  • 对height 100%和inherit的总结

    正文: 在看这个文章的demo时发现一些问题,下面来总结归纳一下: 代码如下 <!DOCTYPE html> <html lang="en"&…

    Linux 2022年8月30日
    0172
  • 不用密码使用ssh管理远程linux服务器

    ssh是个好东西啊,每次上到服务器运指如飞,总是暗爽不已。可是,一直以来都是用很长的密码(服务器安全性考虑),每次ssh时总是要打很长的密码,不爽啊。 虽然知道ssh可以用密钥的方…

    Linux 2022年8月26日
    0127
  • rm命令弱爆了!

    大家好,我是良许。 创建、删除和修改文件是用户在 Linux 系统中执行的非常常见操作。大家都知道,在 Linux 系统里使用 rm 命令删除单个文件时,几乎一瞬间就完成了。但是如…

    Linux 2022年9月10日
    0152
  • shell判断FTP传输是否成功

    Original: https://www.cnblogs.com/Before/p/5500678.htmlAuthor: lzc_jackTitle: shell判断FTP传输…

    Linux 2022年11月8日
    074
  • git clone前后端项目之后的配置操作(一定不要忘记)

    1、前端需要修改 src-api-index中的url前面为本地localhost的网址,才可以在本地连接数据库 2、后端 需要导入所需要的jar包, 在file——project…

    2022年8月30日
    0144
  • Ubuntu 14.04 安装 JDK 8,ubuntu14.04

    1、到 Sun 的官网下载 选择 accept license ,然后选择适合自己机型的JDK下载。 2、解压文件,修改文件名 3、添加环境变量 加入如下内容 4、配置默认JDK版…

    Linux 2022年8月26日
    0130
  • 安装Redis6.x

    gcc安装完毕以后,接下来可以按照redis了,解压redis6安装包 tar -zxvf redis-6.0.9.tar.gz * 查看日志,表示运行成功 vim /usr/lo…

    Linux 2022年9月14日
    0102
  • 解锁!玩转 HelloGitHub 的新姿势

    本文不会涉及太多技术细节和源码,请放心食用 大家好,我是 HelloGitHub 的老荀,好久不见啊! 我在完成 HelloZooKeeper 系列之后,就很少”露面了…

    Linux 2022年8月30日
    0183
  • pip install git+

    pip 从 git 源码仓库直接 install 安装git仓库中的包 pip install git+ pip install git+ posted on2021-07-20 …

    Linux 2022年8月30日
    0149
  • Linux Netcat 命令——网络工具中的瑞士军刀

    我们已经用过远程shell-使用telnet和ssh,但是如果这两个命令没有安装并且我们没有权限安装他们,我们也可以使用netcat创建远程shell。 假设你的netcat支持 …

    Linux 2022年8月24日
    0112
  • linux驱动开发笔记_ioctl函数

    1.相关概念 ioctl 是设备驱动程序中设备控制接口函数。某些设备除了打开、关闭、读出和写入功能外,可能还有其它的功能,比如说设置串口波特率、设置马达的转速等等。 1.用户空间函…

    Linux 2022年8月11日
    0177
  • 《Redis开发与运维》——(六)Redis复制(脑图)

    posted @2021-01-09 15:05 雪山上的蒲公英 阅读(83 ) 评论() 编辑 / 返回顶部代码 / Original: https://www.cnblogs….

    Linux 2022年9月14日
    089
  • Linux安装字体

    说明:在linux系统中,默认仅仅安装英文字体,而没有安装中文字体,若要使用中文字体,需要手动安装中文字体 安装步骤: 1.安装字体命令 2.查看已安装字体 (1)查看linux已…

    Linux 2022年8月13日
    0155
  • 浅谈kali : arpspoof工具原理

    介绍 arpspoof是一个通过ARP协议伪造数据包实现中间人攻击的kali工具。 中间人攻击虽然历史悠久,但仍有被黑客攻击的危险,可能会严重危害服务器和用户。仍然有许多变种的中间…

    Linux 2022年11月7日
    082
  • Android recovery支持adb shell

    Android recovery支持adb shell 近期开发过程注意到recovery不支持adb shell。为了便于调试方便,决定添加此功能。 刚開始我们採用的是user版…

    Linux 2022年9月14日
    0110
最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总