dhcp option 82 接入交换机_dhcpoption怎么配置

dhcp option 82 接入交换机_dhcpoption怎么配置Option82应用场景在该场景下,临时接入者可以在不安装认证客户端的情况下,直接访问Internet资源,但是不能访问学校、企业、政府单位的内网,适用于各种会务、学术交流、临时参观等应用场景,正式员工可以在会议区通过认证接入到内网。为了实现该场景,我们首先要对神州数码网络交换机产品的DHCPOption82功能进行描述。Option82相关技术Option82功能介绍  DH…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Option82应用场景

dhcp option 82 接入交换机_dhcpoption怎么配置

在该场景下,临时接入者可以在不安装认证客户端的情况下,直接访问Internet资源,但是不能访问学校、企业、政府单位的内网,适用于各种会务、学术交流、临时参观等应用场景,正式员工可以在会议区通过认证接入到内网。为了实现该场景,我们首先要对神州数码网络交换机产品的DHCP Option82功能进行描述。

Option82相关技术
Option82 功能介绍
  DHCP option 82是为了增强DHCP服务器的安全性,改善IP地址配置策略而提出的一种DHCP选项。通过在网络接入设备上配置DHCP中继代理功能,中继代理把从客户端接收到的DHCP请求报文添加进option 82选项(其中包含了客户端的接入物理端口和接入设备标识等信息),然后再把该报文转发给DHCP服务器,支持option 82功能的DHCP服务器接收到报文后,根据预先配置策略和报文中option 82信息分配IP地址和其它配置信息给客户端,同时DHCP服务器也可以依据option 82中的信息识别可能的DHCP攻击报文并作出防范。DHCP中继代理收到服务器应答报文后,剥离其中的option 82选项并根据选项中的物理端口信息,把应答报文转交到网络接入设备的指定端口。

Option 82报文结构
  DHCP option 82又称为DHCP中继代理信息选项(Relay Agent Information Option),是DHCP报文中的一个选项,其编号为82。rfc3046定义了option 82,选项位置在option 255之前而在其它option之后。

dhcp option 82 接入交换机_dhcpoption怎么配置

 Code:表示中继代理信息选项的序号,rfc3046定义为82,option 82即由此得名。

  Len:为代理信息域(Agent Information Field)的字节个数,不包括Code和Len字段的两个字节。

  Option 82可以由多个sub-option 组成,每个option 82选项至少要有一个子选项,rfc3046定义了以下两个子选项,其格式如下图所示:

dhcp option 82 接入交换机_dhcpoption怎么配置

SubOpt:为子选项编号,其中代理电路ID(即Circuit ID)子选项编号为1,代理远程ID(即 Remote ID)子选项编号为2。

  Len:为Sub-option Value的字节个数,不包括SubOpt和Len字段的两个字节。

  option82子选项1:option82子选项1定义了代理电路ID(即Circuit ID),它表示接收到的DHCP请求报文来自的链路标识,这个标识只在中继代理节点内部有意义,在服务器端不可以解析其含义,只作为一个不具含义的标识使用。在本文实现中代理电路ID默认是指接收到DHCP请求报文的接入交换机Vlan名加接入二层端口名称,如Vlan2+Ethernet0/0/10,也可以由用户指定自己的代理电路ID。通常子选项1与子选项2要共同使用来标识DHCP客户端的信息。

  option82子选项2:option82子选项2定义了代理远程ID(即 Remote ID),在我司交换机实现中,代理远程ID是指接收到DHCP请求报文的接入交换机的vlan MAC地址。子选项2通常与子选项1共同使用来标识DHCP客户端的信息。

  DHCP请求报文:指由DHCP客户端发起的报文,希望DHCP服务器响应后分配IP地址和其它配置信息。DHCP请求报文一般有四种,分别为DHCP_DISCOVER报文、DHCP_REQUEST报文、DHCP_RELEASE报文和DHCP_INFORM报文。中继代理只针对DHCP请求报文添加option 82选项并转发给服务器。本文实现的DHCP中继对这四种请求报文都添加option 82选项。

  DHCP应答报文:指由DHCP服务器响应客户端发起的请求报文,包含配置信息或指示回应结果的DHCP响应报文,DHCP应答报文一般有DHCP_OFFER报文,DHCP_DECLINE报文,DHCP_ACK报文和DHCP_NAK报文。

Option 82工作原理

dhcp option 82 接入交换机_dhcpoption怎么配置

在DHCP中继代理(交换机)支持option 82的情况下,DHCP客户端通过DHCP中继从DHCP服务器获取IP地址同样要经历发现、提供、选择和确认四个阶段。这时DHCP协议按如下过程进行:

  1)DHCP客户端在初始化时广播发送请求报文,这时的请求报文并不包含option 82选项。

  2)DHCP中继代理将option 82选项添加到接收到的请求报文尾部后中继转发给DHCP服务器。option 82选项的子选项1(代理电路ID)默认是DHCP客户端所连接的交换机的接口信息(VLan名加物理端口名),也可以由用户自己配置代理电路ID,option 82选项的子选项2(代理远程ID)是DHCP中继设备本身的MAC地址。

  3)DHCP服务器收到DHCP中继设备转发的DHCP请求报文后,根据报文中option选项所携带的信息和预定策略分配IP地址和其它信息给客户端,然后将带着DHCP配置信息以及option 82信息的应答报文发给DHCP中继代理。

  4)DHCP中继代理收到DHCP服务器的应答报文后将剥离报文中的option 82信息,然后将带有DHCP配置信息的报文转发给DHCP客户端。

基于Option82的802.1X认证
  基于DHCP OPTION82的DOT1X认证,一般用于在用户使用DHCP方式获取地址的环境中,需要支持基于OPTION82进行地址分配策略的DHCP SERVER。用户在获取IP地址之前处于控制状态,只能访问DHCP SERVER;用户在获取地址之后处于安全状态,接入交换机转发该用户的IP和ARP报文;用户在认证前后能够获得不同地址,通过在接入交换机上联的汇聚交换机上配置ACL,控制不同源地址用户能够访问资源,来控制认证前后用户的访问权限。

  为了使DHCP用户在认证前后能够获得不同(网段)的地址,DCN交换机利用了DHCP OPTION82和DHCP Snooping技术。DHCP报文中的82选项一般由DHCP中继代理在中继DHCP报文时附加,在DCN交换机扩展了这一功能,允许DHCP SNOOPING在监听DHCP报文时附加OPTION82信息,OPTION82的内容在DHCP用户认证之前由DHCP SNOOPING添加一个默认值,如果用户在获取地址成功后并且认证通过,则神州数码802.1X认证服务器后台会下发该用户的OPTION82信息到交换机,同时DOT1X 客户端会重新申请一次地址,DHCP SNOOPING在监听DHCP报文时附加用户认证后的OPTION82信息,DHCP SERVER会根据这个OPTION82信息给用户分配另一个地址。由于用户在认证前后地址不同,则可以在接入交换机上联的汇聚交换机上进行基于源IP的ACL配置,来控制用户的访问权限。

场景实现
访问者可以访问外网,但是不能访问内网

dhcp option 82 接入交换机_dhcpoption怎么配置

如上图所示,我们将详细叙述如何通过交换机DHCP option82功能,实现接入PC不能访问内网,但是可以访问外网的应用场景:

  1、内网合法用户使用10.1.0.0/255.255.0.0地址段,而对于临时接入者通过DHCP服务器分配192.168.2.0/255.255.255.0地址段;

  2、临时接入终端通过交换机向DHCP服务器申请IP地址(如图为:192.168.2.2),如上图红线步骤。DHCP接入交换机启用基于OPTION82的DOT1X认证功能,在OPTION82插入默认值。DHCP服务器以此认定终端没有通过认证,属于临时接入者。

  3、临时接入终端获得192.168.2.0/24地址段地址,可以在汇聚交换机配置ACL,控制192.168.2.0/24对内网的访问,使得192.168.2.0/24地址段不能访问内网资源,但是可以访问外网,如上图绿线所示。

  注:此时来访者不需要安装802.1x客户端程序。

内部员工可以访问内外网

dhcp option 82 接入交换机_dhcpoption怎么配置

如上图所示,当内部使用者接入网络: 

  1、首先在终端认证前可以向DHCP服务器申请IP地址,接入交换机switch1通过DHCP SNOOPING 在DHCP请求报文添加默认值,再转发到DHCP Server。DHCP Server根据OPTION82中的字段为默认值(unauth),判定主机没有经过认证,向终端分配IP地址:192.168.2.3。这个过程和临时访问者完全一样。

  2、终端通过802.1X客户端程序向认证服务器,发起认证,如图线条①所示;

  3、如果认证没有通过,认证服务器不会发出任何报文,终端的状态,包括IP地址不变。

  4、如果认证通过,认证服务器会下发该用户的OPTION82到SWITCH1,并激发用户的认证客户端发起第二次IP地址申请,如图线条②;

  5、认证客户端发起第二次IP地址请求,当DHCP请求报文通过SWITCH1,DHCP SNOOPING在监听DHCP报文时附加用户认证后的OPTION82信息,如图线条③所示;

  6、DHCP SERVER会根据这个OPTION82信息给用户分配另一个地址:10.1.2.2。如图线条④所示,该IP地址就可以同时访问内外网。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/181429.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java中的static关键字的作用?

    java中的static关键字的作用?是静态修饰符,什么叫静态修饰符呢?大家都知道,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。这样做有什么意义呢?在Java程序里面,所有的东西都是对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员,那么普通情况下必须先实例化对象后,通过对象

  • qt容器类_下面属于容器类的是

    qt容器类_下面属于容器类的是C++中容器类是属于标准模板库中的内容,有必要回顾下标准模板库。STL=StandardTemplateLibrary,标准模板库,惠普实验室开发的一系列软件的统称。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。STL被内建在编译系统之内。 在C++标准中,STL被组织为下面的

  • RJ45 网线接口介绍

    RJ45接口通常用于数据传输,最常见的应用为网卡接口。  RJ45是各种不同接头的一种类型(例如:RJ11也是接头的一种类型,不过它是电话上用的);RJ45头根据线的排序不同,分为有两种,一种是橙白、橙、绿白、蓝、蓝白、绿、棕白、棕;另一种是绿白、绿、橙白、蓝、蓝白、橙、棕白、棕;因此使用RJ45接头的线也有两种即:直通线、交叉线。RJ45型网卡接口  10100basetxRJ

  • Oracle 触发器写法

    Oracle 触发器写法createorreplacetriggert_after_user_copy–createorreplacetrigger触发器名称afterinsertorupdateordelete—时间after/before事件insertorupdateordeleteont_user—作用的表ontablenameFOREACHROW–指定是否对受影响的每行都执行触发器,即行级触发器,如果不使用此子句,则为语句级触发器.

  • pytorch 自定义卷积核进行卷积操作[通俗易懂]

    pytorch 自定义卷积核进行卷积操作[通俗易懂]一卷积操作:在pytorch搭建起网络时,大家通常都使用已有的框架进行训练,在网络中使用最多就是卷积操作,最熟悉不过的就是torch.nn.Conv2d(in_channels,out_channels,kernel_size,stride=1,padding=0,dilation=1,groups=1,bias=True)通过上面的输入发现想自定义自己的卷积核,比如高斯…

  • js截取数组slice(),splice()两种方法[通俗易懂]

    js截取数组slice(),splice()两种方法[通俗易懂]slice()返回一个索引和另一个索引之间的数据(不改变原数组),slice(start,end)有两个参数(start必需,end选填),都是索引,返回值不包括end用法和截取字符串一样varheros=[“李白”,’蔡文姬’,’韩信’,’赵云’,’甄姬’,’阿珂’,’貂蝉’,’妲己’];console.log(heros.slice(1,4))//[“蔡文姬”,”韩信…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号