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)
上一篇 2026年4月13日 下午4:10
下一篇 2026年4月13日 下午4:16


相关推荐

  • 《深入浅出MFC》观后有感

    《深入浅出MFC》观后有感    《深入浅出MFC》观后有感本文原创,如需转载,请注明出处!     好几年前我曾经买过这本书,知道它是本好书,在匆匆走马观看一遍后,便将它束之高阁,后来有友人借之,不想几经辗转,最终不知我的这本好书花落谁家了。这段时间有空,得知一位友人也买了此书,便借来再读。再读的同时,回想这几年使用MFC的经历,顿觉获益良多,深受启发,遂成此文。          翻开此书,到内容简介后面一页

    2022年6月22日
    32
  • SpringBoot笔记(4)

    SpringBoot笔记(4)

    2021年11月12日
    43
  • pycharm代码运行快捷键_pycharm调试debug入门

    pycharm代码运行快捷键_pycharm调试debug入门1.eclipse配置的debug快捷键1.showexecutionpoint(alt+F10)显示当前所有断点2.stepover(F6)单步调试。若函数A内存在子函数a时,不会进入子函数a内执行单步调试,而是把子函数a当作一个整体,一步执行3.stepinto(F5)单步调试。若函数A内存在子函数a时,会进入子函数a内执行单步调试。4.stepintomycode(Alt+Shift+F7)执行下一行但忽略libraries(导入库的语句)5.force

    2022年8月29日
    3
  • EXE文件结构及读取方法

    EXE文件结构及读取方法

    2022年2月3日
    62
  • 对指定的来电的号码播放其它铃声

    对指定的来电的号码播放其它铃声

    2021年8月22日
    142
  • docker里镜像用ipv6无法访问_虚拟服务器端口设置

    docker里镜像用ipv6无法访问_虚拟服务器端口设置前言我有一个朋友,他在Dev和Test服务器用Docker搭建了Redis供项目使用,然后今天Test环境的Redis端口访问不通了,在服务上可以正常连接,真是离了个大齐,让我们试试排查排查问题;正文端口检测lsof已确认在本地用telnetip6381访问不通,那就上服务上看看端口情况DevTestDev环境同时映射到Ipv6和Ipv4端口,Test环境仅映射到Ipv6,那基本上就可以断定是环境问题了容器状态dockerps既然端口映射

    2022年8月31日
    7

发表回复

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

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