Option 82在校园网的应用与实现(转)[通俗易懂]

Option 82在校园网的应用与实现(转)[通俗易懂]作者:南京政治学院上海分院教育技术中心陈晓晖经过近几年的建设,各高校大体完成了校园网基础环境建设,将建设重点逐步转移到信息资源与应用服务上,校园网的安全也越来越受重视,迫使网络管理员比以往更加需要在加强网络安全和便于使用之间找到一个平衡点。笔者认为在具备802.1x认证的硬件条件下,引入Option82构建一个权限分配清晰的校园网是一项可行的措施。 DHCPOption82说明和关键点

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

Jetbrains全系列IDE稳定放心使用

作者:南京政治学院上海分院教育技术中心 陈晓晖

经过近几年的建设,各高校大体完成了校园网基础环境建设,将建设重点逐步转移到信息资源与应用服务上,校园网的安全也越来越受重视,迫使网络管理员比以往更加需要在加强网络安全和便于使用之间找到一个平衡点。笔者认为在具备802.1x认证的硬件条件下,引入Option 82构建一个权限分配清晰的校园网是一项可行的措施。 

DHCP Option 82说明和关键点 

DHCP报文最后有一个312字节的Option段,在RFC3046中定义了DHCP Relay Agent Information Option,也就是DHCP Option 82,该选项有两个子选项:Circuit ID和Remote ID。在实际应用中,Circuit ID和Remote ID子选项将分别对应“用户权限”和“VLAN ID”。因此,要使用Option 82认证就必须具备以下两个条件:第一,DHCP Relay Agent通常在接入交换机上工作,因此交换机必须支持RFC 3046;第二,要有一个过程或动作给Circuit ID和Remote ID赋值,以确定用户端的信息,在本文中是利用802.1x认证配合来赋值的。 

Option 82认证步骤 

为节省篇幅,本文假定校园网已成功实现了802.1x认证,各交换机和服务器已完成设置。引入Option 82后,以网络拓扑图中的用户tuser在PC-test登录为例,认证步骤如下: 

1. 在认证服务器中赋给用户(tuser)一个权限值,如10; 

2. 将该用户的接入端口(fastEthernet 0/10)划到VLAN82中,或将所有需要Option 82认证的端口都划入到VLAN82。虽然在二层交换机中没有特意声明,但在三层交换机中,明确了这是一个Tag VLAN; 

3. 用户经过接入交换机(216.70.208.10)的DHCP Relay向DHCP Server(216.70.208.19)申请IP地址; 

4. 由于交换机已经启用了Option 82认证,用户在没有认证之前,Circuit ID的值是0,如果用户通过了802.1x认证,认证服务器将会通过接入交换机将用户(tuser)的权限值10赋给Circuit ID,即agent.circuit-id=00:0a:00:52(十六进制); 

5. 将用户的Tagged VLAN的Tag和权限与事先在DHCP Server中定义好的约定进行匹配,从相应的IP地址池获得IP地址。 

技术实现 

1. Linux DHCP Server设置 

ddns-update-style ad-hoc; 

default-lease-time 28800; 

max-lease-time 43200; 

ignore client-updates; 

class “nvlan831”{ //vlan831用户不认证时匹配 

match if option agent.circuit-id=00:00:03:3f; } //前两个字节匹配用户权限值,为0表示不认证;后两个字节匹配VLAN ID 831,用十六进制表示。 

class “vlan831”{ //vlan831用户认证时匹配 

match if option agent.circuit-id=00:0a:03:3f; } //前两个字节匹配用户权限值10;后两个字节匹配VLAN ID 831。 

class “nvlan82”{ //vlan82用户不认证时匹配 

match if option agent.circuit-id=00:00:00:52; } 

class “vlan82”{ //vlan82用户认证时匹配 

match if option agent.circuit-id=00:0a:00:52; } //前两个字节匹配用户权限值10;后两个字节匹配VLAN ID 82。 

shared-network subnet208 { // subnet 192.168.1.0和subnet 216.70.208.0在三层交换机上属于相同的物理端口,因此要先定义一个shared-network。 

subnet 192.168.1.0 netmask 255.255.255.0 { 

option routers 192.168.1.2; 

option domain-name-servers 192.168.1.9; } 

subnet 216.70.208.0 netmask 255.255.255.0 { 

option subnet-mask 255.255.255.0; 

option broadcast-address 20.70.208.255; 

option routers 216.70.208.5; 

option domain-name-servers 216.70.208.13, 21.18.1.2; } 

pool { range 192.168.1.10 192.168.1.19; 

allow members of “nvlan82”; } 

pool { range 216.70.208.250 216.70.208.254; 

allow members of “vlan82”; } 

shared-network subnet224 { 

subnet 192.168.2.0 netmask 255.255.255.0 { 

option routers 192.168.2.2; } 

subnet 216.70.224.0 netmask 255.255.255.0 { 

option subnet-mask 255.255.255.0; 

option broadcast-address 20.70.224.255; 

option routers 216.70.224.1; 

option domain-name-servers 216.70.208.13, 21.18.1.2; } 

pool { range 192.168.2.10 192.168.2.19; 

allow members of “nvlan82”; } 

pool { range 216.70.224.250 216.70.224.254; 

allow members of “vlan82”; } 

2. 接入交换机设置 

hostname wk-2150g 

vlan 1 

vlan 82 //需要认证的端口将划分到此VLAN 

radius-server host 216.70.208.24 

aaa authentication dot1x 

aaa accounting server 216.70.208.24 

aaa accounting 

aaa accounting update 

enable secret level 1 5 &&2*T7+.tZ9[V/,|7U1/W&&-/-2)sv’~1′ 

enable secret level 15 5 &&2o+/7R:Z9E,1u_;U1&&-8U0<2n’.tj9= 

service dhcp 

ip helper-address 216.70.208.19 //设置DHCP Server的IP地址 

ip dhcp relay information option dot1x //设置DHCP option 82信息是基于802.1x的 

interface fastEthernet 0/9 

switchport access vlan 82 

dot1x port-control auto //设置802.1x的受控口 

interface fastEthernet 0/10 

switchport access vlan 82 

dot1x port-control auto //设置802.1x的受控口 

interface gigabitEthernet 1/1 

switchport mode trunk //设置交换机的上联口,使多个VLAN都可通过这个上联口与上级交换机相连 

interface vlan 1 //设置交换机的管理VLAN 

no shutdown 

ip address 216.70.208.10 255.255.255.0 

dot1x client-probe enable 

aaa authorization ip-auth-mode dhcp-server //设置授权模式是DHCP Server 

dot1x timeout tx-period 5 

dot1x timeout server-timeout 5 

dot1x accout-update-interval 60 

radius-server key aaa 

ip default-gateway 216.70.208.5 

snmp-server community public ro 

end 

3. 三层交换机设置 

三层交换机要允许在一个或一组物理端口上定义多个VLAN,很多交换机可以通过Tag VLAN的方式来实现,或者在一个VLAN接口上定义多个IP地址。本文采用了前者: 

# Config information for VLAN test82. 

configure vlan “test82” tag 82 # VLAN-ID=0x52 Global Tag 11 

configure stpd s0 add vlan “test82” 

configure vlan “test82” ipaddress 192.168.1.2 255.255.255.0 

configure vlan “test82” add port 3:4 tagged 

Option 82在校园网的应用模式 

1. 入网验证系统 

即本文前面拓扑图表现的模式,当一个新用户进入到校园网时首先进入的是一个隔离区。此时,网管员允许或指引他访问特定的主页,用户可以下载认证客户端软件,但主要目的是要求用户安装各种安全软件,以使其在进入真正的校园网时使用的是一台干净的、系统本身对网络无害的计算机。这也是作者最初研究Option 82的目的。 

2. 对重点、敏感的应用或数据进行保护 

在一个校园网内,用户可以自由访问各种公共资源,如BBS、电子邮件、图书馆等,而带有一定加密级的应用和数据则划分到一个特定的子网,只有通过认证的用户才能访问,通过前面例子里讲到的用户权限设定,可以将校园网的数据公开度或重要性划分为多个层次,通过用户的IP严格区分不同用户间的权限。 

3. 计费策略 

根据用户IP地址的不同实现不同的计费策略,如用户不需要认证就可免费访问校园网内网信息资源,用户认证后获得更高权限的IP,或公有IP地址,按相关的费率付费访问外网。 

本文在一个相对简单的环境内,用一台Linux DHCP Server实现了多个VLAN的Option 82认证。下一步的任务将是研究和探索在一个多品牌网络设备的校园网环境下如何实现Option 82认证,这还有很多工作要做。 

Option 82在校园网的应用与实现(转)[通俗易懂] 

网络拓扑图

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189475.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • keil5使用教程

    keil5使用教程简单介绍keil5得使用教程。

    2022年5月28日
    55
  • 来谈谈MySQL事务及事务引发的问题

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:王啸tr1912 blog.csdn.net/tr1912/article/details/81988459 …

    2021年6月25日
    98
  • 怎样使用父组件向子组件传值【 必看】

    怎样使用父组件向子组件传值【 必看】呃呃,首先小仙女初学Vue传值的时候,是费尽了脑汁,不知道怎么回事。终于,功夫不负有心人,把他弄明白了,如有错误,请多指教!!首先在学习Vue的框架开发的项目过程中,会经常会用到组件来管理不同的功能,有些公共的东西会就会被抽取出来,当做组件去使用。这时必然会产生一些疑问和需求?比如一个组件调用另一个组件作为自己的子组件,那么我们如何进行给子组件进行传值呢?就先和小编一起探究一下吧!父向子传递…

    2022年5月4日
    76
  • targetSdkVersion 23以下6.0中调用requestPermissions()的问题

    targetSdkVersion 23以下6.0中调用requestPermissions()的问题

    2021年9月11日
    53
  • java找不到或无法加载主类_java找不到或无法加载主类如何解决?解决方法「建议收藏」

    java找不到或无法加载主类_java找不到或无法加载主类如何解决?解决方法「建议收藏」相信有很多人都遇到过java找不到或无法加载主类的这个问题,那么这究竟是什么原因造成的呢?有什么方法可以解决这个问题吗?问题:java文件导入到一个包当中,之后在class文件当中加入一张图片;解决:将class文件中的照片删除即可当然这只是一种情况,对于这样的情况下面做了一下总结,主要的话有下面的几种解决方法。解决方法:检查一下自己的环境变量是不是配置成功win+r输入cmd-输入java…

    2025年7月24日
    0
  • 程序员为什么不喜欢去做外包_外包程序员的出路

    程序员为什么不喜欢去做外包_外包程序员的出路做IT的一定对于外包公司很熟悉,就算没做过,想必也是经常听说,说实话在行业内是存在鄙视链的,而外包公司往往在最低端。很多人都在四处问:“软件外包公司到底能不能去”?到底能不能学到真正的技术?我来为大家详细梳理一下这个问题。想要知道外包公司到底值不值得去,我们就应该了解外包公司的概念是什么?不仅仅是IT行业有软件外包公司,在很多行业中,外包公司的数量也都是最多的。外包的工作形式分为两种:‍外包公司承接甲方的项目,了解需求后拿回自己的公司做项目,程序员按照客户的需求把代码写好,最终完成项目,外包

    2022年9月26日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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