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


相关推荐

  • Flyway migration 问题

    Flyway migration 问题本地执行 build 报错 java lang IllegalState Failedtoload atorg springframew test context cache DefaultCache loadContext DefaultCache

    2025年9月17日
    0
  • validationEngine参数详解

    validationEngine参数详解validationEngine·jQueryv1.4.4+注意事项:1.演示版本为v2.2.4;2.v2.0以下的版本参数并不完全通用;对 validationEngine.jquery.css 文件进行修改,修改如下:1.提示内容字体改为宋体;2.去除中各浏览器的私有属性(各浏览器已经支持圆角和阴影,不再需要加私有属性)。…

    2022年10月4日
    3
  • 网站优化网络推广怎么做_网站推广公司

    网站优化网络推广怎么做_网站推广公司如何优化网站,网站推广优化一般流程

    2022年4月21日
    58
  • 在 Linux 下搭建 Git 服务器

    在 Linux 下搭建 Git 服务器

    2021年10月23日
    38
  • ssl证书怎么用_为什么会ssl证书无效

    ssl证书怎么用_为什么会ssl证书无效1.打开网站:https://freessl.cn/按提示操作,验证类型:离线验证;2.会给出一个域名的访问路径和一个文件内容,按照域名解析的主机配置nginx或其它的web服务,返回文件给出的内容;3.确认文件url和内容无误后点验证;4.通过后可以在KeyManager里的证书管理里看到颁发的证书;5.点更多然后选择导出Nginx证书,crt为证书,key为密钥;6.将文件分发到nginx等其它需要证书的服务上去使用;注意:这里最关键的一步就是,你的域…

    2025年8月12日
    3
  • 在c语言里0和1表示什么_’0’是什么意思c语言

    在c语言里0和1表示什么_’0’是什么意思c语言C语言中常见~Number,怎么计算?计算一个数字的~number比如说现在有A=60那么A的8位二进制数就是00111100那首先要计算~A即~60,那么先取反即11000011。因为负数的补码是取反+1。所以此处逆向操作需要-1取反即11000011-1==11000010(第一步逆向操作)11000010=>取反=>00111101=>十进制的61最后结果A==60,~A=-61C

    2022年9月20日
    2

发表回复

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

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