- 论坛徽章:
- 0
|
经过近几年的建设,各高校大体完成了校园网基础环境建设,将建设重点逐步转移到信息资源与应用服务上,校园网的安全也越来越受重视,迫使网络管理员比以往
更加需要在加强网络安全和便于使用之间找到一个平衡点。笔者认为在具备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
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/33657/showart_265428.html |
|