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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • dropout和bagging_dropout总结「建议收藏」

    dropout和bagging_dropout总结「建议收藏」1.伯努利分布:伯努利分布亦称“零一分布”、“两点分布”。称随机变量X有伯努利分布,参数为p(02.dropout其实也是一种正则化,因为也把参数变稀疏(l1,原论文)和变小(l2,caffe实际实现)。只有极少的训练样本可用时,Dropout不会很有效。因为Dropout是一个正则化技术,它减少了模型的有效容量。为了抵消这种影响,我们必须增大模型规模。不出意外的话,使用Dropout时较佳…

    2022年5月4日
    64
  • 抖音API接口_抖音榜单数据api接口

    抖音API接口_抖音榜单数据api接口发布抖音视频接口一枚,无限制免费调用,但需要AppKey更新2019.09.231.视频统计信息公开2019.06.231.修复无水印解析失败BUG。2.接口返回内容调整,已获取视频播放量等统计信息,目前暂未公开。接口地址:https://api.berryapi.net/?s=Parse/Video请求示例:https://api.berryapi.net/?s=Parse/Video&…

    2022年10月3日
    0
  • dex文件详解

    dex文件详解1、基本概念能被DVM虚拟机识别,加载并执行的文件格式2、生成dex文件1、通过IDE自动帮我们build生成2、手动通过dx命令去生成dex文件3、在手机上手动运行dex文件3、使用dx命令来生成dex文件首先得要先配置dx环境变量,这个环境变量怎么配呢?找到的sdk的安装目录,然后进入build-tools目录,这里是你电脑上的所有sdk的安装目录,随便选择一个进去,就可以知道dx.b

    2022年6月27日
    59
  • lua字符串截取_lua删除数组元素

    lua字符串截取_lua删除数组元素localstr=”helloworld!”string.sub(str,1,string.len(str)-1)–hellowordstring.sub(str,起始位置,整个字符串的长度)–获取指定位置长度的字符串string.len(目标字符串)–获取字符串的长度

    2022年10月6日
    0
  • CMD杀死进程_cmd杀进程

    CMD杀死进程_cmd杀进程1.进入cmd,打开DOS界面2.①输入tasklist命令来查看当前计算机运行的进程.②输入tasklist/?(回车),便可显示相关指令帮助;TASKLIST[/Ssystem[/Uusername[/P[password]]]][/M[module]|/SVC|/V][/FIfilter][/FOformat][/NH]  描述:

    2022年9月2日
    2
  • HDU 1257 最少拦截系统

    HDU 1257 最少拦截系统

    2022年2月4日
    40

发表回复

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

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