当前位置: 首页>編程日記>正文

DHCP Option 82

DHCP Option 82

Option82应用场景

在该场景下,临时接入者可以在不安装认证客户端的情况下,直接访问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之后。

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

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

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

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的情况下,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 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客户端程序。

内部员工可以访问内外网

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

  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地址就可以同时访问内外网。


https://www.fengoutiyan.com/post/14701.html

相关文章:

  • dhcp option
  • dhcpoption怎么配置
  • dhcpoption常见取值及含义
  • DHCP Snooping
  • dhcpdiscover
  • dhcp enabled
  • 重置dhcp命令
  • dhcp snooping enable
  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機