如今项目中需要涉及到RADIUS及IPv6的使用,而网络中的资料相对较少,现对frc-3162进行中文翻译,分享出来。
由于英语水平有限,翻译不恰当的地方,还请提出,便于在下及时修改。
原文链接

这份文档的状态

本文件规定了因特网社区的因特网标准跟踪协议,并要求讨论和改进建议。
请参考当前版本的“因特网官方协议标准”(STD 1),以了解该协议的标准化状态和状态。这份备忘录的分发是无限的。
版权声明
版权(c)互联网协会(2001)。版权所有。
摘要
此文档指定IPv6运行时RADIUS(远程身份验证拨号用户服务)的操作,以及用于支持IPv6网络访问的RADIUS属性。

1. 介绍

此文档指定了RADIUS 4 [ 8 ]在IPv6 13上的操作,以及用于支持IPv6网络访问的RADIUS属性。
注意一个NAS发送RADIUS访问请求可能不知道先验主机是否将使用IPv4,IPv6,或两者。例如,在PPP,ipv6cp [ 11 ]发生后LCP,所以地址分配不会发生直到radius的认证和授权已完成。
因此,假设该文档中描述的IPv6属性可以与同一RADIUS消息中与IPv4相关的属性一起发送,NAS将决定使用哪些属性。
NAS应该只分配客户端可以实际使用的地址和前缀。
例如,没有必要保留使用一个只支持IPv6主机的IPv4地址的NAS;同样,主机仅使用IPv4或IPv6 [ 12 ]不需要IPv6前缀分配。
NAS可以提供IPv6接入本身,或者通过其他方法,如在IPv4隧道[ 15 ]和[ 14 ] IPv6 6over4。
提供IPv6访问的方法的选择本身对半径的使用没有影响,但如果希望IPv4隧道中的IPv6被打开到特定位置,则应该使用隧道属性,如[ 6 ],[ 7 ]所述。

1.1.要求语言
在本文件中,“必须”、“必须”、“必须”、“可选”、“建议”、“应该”和“不应该”等词语,应按[ 1 ]中所述加以解释。

2. 属性

2.1. nas-ipv6-address

描述:
此属性表示NAS的标识IPv6地址。
请求用户身份验证的,应该是在RADIUS服务器范围内唯一的NAS。
NAS—IPv6-address只用于 Access-Request packet。
nas-ipv6-address和/或 NAS-IP-Address可以访问请求数据包的呈现;然而,如果没有属性存在,那么NAS-Identifier必须在场。
nas-ipv6-address属性的格式总结如下。
字段从左向右传输。

 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Address
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type
[95 for NAS-IPv6-Address]
Length
[18]
Address
[The Address field is 16 octets.]

2.2. Framed-Interface-Id

描述
此属性指示为用户配置的IPv6接口标识符。
它可以用于访问接收包。
如果Interface-Identifier ipv6cp选项[ 11 ]已成功协商,这个属性必须包含在Access-Request packet 作为NAS向服务器提示它愿意使用该值的提示。
这是推荐的,但不是必需的,
服务器尊重提示。
框架接口id属性格式的摘要如下所示。
字段从左向右传输。

  0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Interface-Id
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Interface-Id
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Interface-Id |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type
[96 for Framed-Interface-Id]
Length
[10]
Interface-Id
[Interface-Id field is 8 字节.]

2.3. Framed-IPv6-Prefix

描述
此属性指示为用户配置的IPv6前缀(以及相应的路由)。
它可以用于访问接受包,并且可以多次出现。
它可以在访问请求包中使用,作为NAS向服务器提示它希望使用这些前缀(ES),但服务器不需要遵守提示。
因为它是假定NAS将垂直对应的前缀路径,它不需要服务器发送一个相同前缀的framed-ipv6-route属性。
framed-ipv6-prefix属性的格式总结如下。
字段从左向右传输。

  0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Reserved | Prefix-Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Prefix
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Prefix
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Prefix
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Prefix |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type
[ 97 for Framed-IPv6-Prefix ]
Length
[ Length:[4,20) ]
Reserved
[ 这个字段是保留的,必须存在,总是设置为零 ]
Prefix-Length
[ 前缀的长度,以位表示。至少0,不大于128 ]
Prefix
[前缀字段多达16个字节的长度。前缀长度以外的比特,如果包含,必须为零。]

2.4. Login-IPv6-Host

描述
此属性指示包含 Login-Service 属性时连接用户的系统。
它可以用于Access-Accept packets 。
它可以在Access-Request packet 中用作对服务器的提示,NAS希望使用该主机,但服务器不需要遵守提示。
login-ipv6-host属性的格式总结如下。
字段从左向右传输。

  0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Address
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type
[98 for Login-IPv6-Host]
Length
[18]
Address
[地址字段的长度是16个字节。
值0xffffffffffffffffffffffffffffffff表示NAS应该允许用户选择一个地址或名称来连接。
值0表示NAS应选择一个主机将用户连接到。
其他值指示NAS应该将用户连接到的地址。]

2.5. Framed-IPv6-Route

描述
此属性提供为NAS上的用户配置的路由信息。
它用于Access-Accept packet ,可以多次出现。
framed-ipv6-route属性的格式总结如下。
字段从左向右传输。

  0                   1                   2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| Type | Length | Text ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Type
[99 for Framed-IPv6-Route] Length
[>=3] Text
[text字段是一个或多个字节,其内容是依赖于实现的。
该字段不是nul(进制00)终止。
它的目的是使人可读,并且不影响协议的操作。
IPv6路由,它应该包含目的地址前缀后跟一个斜线和小数长度说明符说明许多高阶位的前缀的使用。
其次是空格、网关地址、空格和一个或多个由空格分隔的度量(以十进制编码)。
前缀和地址的格式如[ 16 ]所述。
例如,“2000:0:0:106::/ 64 2000::106:::a00:20ff fe99 a998 1”。
每当网关地址是IPv6未指定地址时,用户的IP地址应用作网关地址。
未指定的地址可以用[ 16 ]中描述的任何可接受格式表示。
例如,“2000:0:0:106::64::1”。]

2.6. Framed-IPv6-Pool

描述
此属性包含用于为用户分配IPv6前缀的指定池的名称。
如果NAS不支持多个前缀池,则NAS必须忽略此属性。
framed-ipv6-pool属性的格式总结如下。
字段从左向右传输。

 0                   1                   2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | String...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type
[100 for Framed-IPv6-Pool]
Length
[>= 3]
String
[字符串字段包含在NAS上配置的分配的IPv6前缀池的名称。字段不以nul(进制00)终止。]

3. Table of Attributes

下表提供了在哪些包中可以找到哪些属性以及数量的指南

Request Accept Reject Challenge Accounting Request # Attribute
0-1 0 0 0 0-1 95 NAS-IPv6-Address
0-1 0-1 0 0 0-1 96 Framed-Interface-Id
0+ 0+ 0 0 0+ 97 Framed-IPv6-Prefix
0+ 0+ 0 0 0+ 98 Login-IPv6-Host
0 0+ 0 0 0+ 99 Framed-IPv6-Route
0 0-1 0 0 0-1 100 Framed-IPv6-Pool

4. References

[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March, 1997.

[2] Yergeau, F., "UTF-8, a transformation format of Unicode and ISO
10646", RFC 2044, October 1996.

[3] Aboba, B. and J. Vollbrecht, "Proxy Chaining and Policy
Implementation in Roaming", RFC 2607, June 1999.

[4] Rigney, C., Rubens, A., Simpson, W. and S. Willens, "Remote
Authentication Dial In User Service (RADIUS)", RFC 2865, June
2000.

[5] Rigney, C., "RADIUS Accounting", RFC 2866, June 2000.

[6] Zorn, G., Mitton, D. and B. Aboba, "RADIUS Accounting
Modifications for Tunnel Protocol Support", RFC 2867, June
2000.

[7] Zorn, G., Leifer, D., Rubens, A., Shriver, J., Holdrege, M.
and I. Goyret, "RADIUS Attributes for Tunnel Protocol Support",
RFC 2868, June 2000.

[8] Rigney, C., Willats, W. and P. Calhoun, "RADIUS Extensions",
RFC 2869, June 2000.

[9] Kent S. and R. Atkinson, "Security Architecture for the
Internet Protocol", RFC 2401, November 1998.

[10] Alvestrand, H. and T. Narten, "Guidelines for Writing an IANA
Considerations Section in RFCs", BCP 26, RFC 2434, October
1998.

[11] Haskin, D. and E. Allen, "IP Version 6 over PPP", RFC 2472,
December 1998.

[12] Carpenter, B. and K. Moore, "Connection of IPv6 Domains via
IPv4 Clouds", RFC 3056, February 2001.

[13] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6)
Specification", RFC 2460, December 1998.

[14] Carpenter, B. and C. Jung, "Transmission of IPv6 over IPv4
Domains without Explicit Tunnels", RFC 2529, March 1999.

[15] Gilligan, R. and E. Nordmark, "Transition Mechanisms for IPv6
Hosts and Routers", RFC 2893, August 2000.

[16] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 2373, July 1998.

5.安全注意事项

本文档描述了在IPv6支持的网络中使用RADIUS进行身份验证、授权和计费的目的。
在这种网络中,RADIUS协议可以在IPv4或IPv6上运行。
RADIUS协议已知的安全漏洞如[ 3 ]、[ 4 ]和[ 8 ]所述。
由于IPSec(9)是为IPv6实现的,所以预期支持IPv6的运行半径实现通常会通过IPSec运行。
如果在IPSec上运行半径,并且在那里使用证书进行身份验证,则可能希望避免对RADIUS共享机密的管理,从而利用公钥基础设施的改进的可伸缩性。
在 RADIUS 范围内,共享机密用于隐藏诸如用户密码[ 4 ]和隧道密码[ 7 ]之类的属性。
此外,共享密钥用于响应认证[ 4 ]计算,以及 Message-Authenticator attribute [ 8 ]。
因此,在RADIUS中,共享机密用于提供机密性以及完整性保护和身份验证。
因此,只使用具有非空转换的IPSec ESP可以提供足够的安全服务来替代RADIUS应用程序层安全性。
因此,在使用IPSec AH或ESP null时,配置RADIUS共享密钥通常仍然是必需的。
但是,如果在非专用转换下运行的RADIUS ESP,RADIUS与RADIUS服务器之间共享的秘密可能不被配置。
在这种情况下,必须假定零长度的共享密钥。

6.IANA考虑

此文档需要为下列属性分配六个新的RADIUS属性号:

  NAS-IPv6-Address
Framed-Interface-Id
Framed-IPv6-Prefix
Login-IPv6-Host
Framed-IPv6-Route
Framed-IPv6-Pool

RADIUS and IPv6[frc-3162译文]的更多相关文章

  1. (转) IPv6相关RFC

    转自http://blog.csdn.net/lucien_cc/article/details/12688477 IPv6 Spec RFC 2460 : Internet Protocol, Ve ...

  2. 【freeradius】使用radclient调试radius协议

    freeradius 自带了非常好的客户端程序 radtest, radclient 用来模拟和调试设备和通信过程.radtest多用于认证,radclient更为强大一些,认证,计费,coa都可以模 ...

  3. 英国已有500万宽带用户接入并开始使用IPv6技术

    2018年英国首家为客户提供IPv6的主要ISP.随着所有现有的符合条件的用户线路启用,约90%的固定宽带用户群接入并开始使用IPv6,为IPv6互联网增加了超过500万个新眼球. 英国IPv6项目于 ...

  4. 【】URL中的文本IPv6地址的格式RFC2732

    RFC2732规范中URL中的文本IPv6地址的格式, 截取其中重要部分原文如下: RFC 2732 Format for Literal IPv6 Addresses in URL's Decemb ...

  5. App 审核由于 IPv6 网络问题被拒

    昨天 提交App Store 的时候被拒了 We discovered one or more bugs in your app when reviewed on iPhone running iOS ...

  6. iOS 支持 IPv6

    苹果的规定:2016年6月1日提交到App Store必须支持IPv6-only网络. 官方文档:https://developer.apple.com/library/mac/documentati ...

  7. Google C++单元测试框架GoogleTest---AdvancedGuide(译文)下

    因为AdvancedGuide文档太长,分上下两部分,本文档接googletest--AdvancedGuide(译文)上:Google C++单元测试框架GoogleTest---AdvancedG ...

  8. 中大东校小米路由器mini实现inode上网,ipv6 wifi【中大】【东校】【inode】【ipv6】

    还有不到4个月就要毕业了,前几天半夜没事捣鼓小米路由没想到竟然实现了wifi的ipv6. 正好又安利了同学一台小米路由mini,从刷机到inode到ipv6全搞了一遍. 这里将教程写出来,服务学弟妹. ...

  9. BAS/BRAS/RADIUS简介

    标签: java radius协议   linux radius认证服务器   转自: http://blog.csdn.net/sun93732/article/details/5999274 由R ...

随机推荐

  1. CSS3如何实现超出指定文本以省略号显示效果

    不做前端很久了,今天从重构师那里了解到CSS3已经可以实现很多以往必须通过JS才能实现的效果,如渐变,阴影,自动截断文本展示省略号等等强大效果,而且这些功能日渐成熟,已经大量用于生产环境.H5真的日渐 ...

  2. 4.Java 加解密技术系列之 HMAC

    Java 加解密技术系列之 HMAC 序 背景 正文 代码 结束语 序 上一篇文章中简单的介绍了第二种单向加密算法 — —SHA,同时也给出了 SHA-1 的 Java 代码.有这方面需求的童鞋可以去 ...

  3. 什么是ZigBee、Wifi无线技术?有什么优势?

    Zigbee:是基于IEEE802.15.4标准的低功耗个域网协议.根据这个协议规定的技术是一种短距离.低功耗的无线通信技术.这一名称来源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飞翔和"嗡嗡& ...

  4. Generating Sankey Diagrams from rCharts

    A couple of weeks or so ago, I picked up an inlink from an OCLC blog post about Visualizing Network ...

  5. crontab表达式执行时间计算,crontab在线测试

    熟悉Unix和Linux的朋友都知道Crontab表达式,通过crontab指令可以周期性调用或执行某个程序.   但是大家写完crontab表达式后,心里总是担心表达式写的不对,可以又没法去验证.比 ...

  6. <bits/stdc++.h>头文件介绍(包含源代码)

    注:转自http://blog.csdn.net/charles_dong2/article/details/56909347,同为本人写的,有部分修改. 之前在一个小OJ上刷题时发现有人是这么写的: ...

  7. Java线程间通信

    1.由来 当需要实现有顺序的执行多个线程的时候,就需要进行线程通信来保证 2.实现线程通信的方法 wait()方法: wait()方法:挂起当前线程,并释放共享资源的锁 notify()方法: not ...

  8. Edison与Arduino通过USB对接通信

    虽然Edison本身就装在一块Arduino扩展板上,但当要接的传感器太多了的时候一个扩展板也不够用了.因此需要再用一Arduino板扩展功能.而两者需要通信才能达到一个整体的效果,因此这里介绍如何用 ...

  9. awk内引用shell变量【自己手动加精】

    题目 [root@localhost ~]# cat 1.txt iii sss ddd 执行命令 [root@localhost ~]# A=0 [root@localhost ~]# awk '{ ...

  10. 用java实现简单快速的webservice客户端/数据采集器(支持soap1.1和soap1.2标准,支持utf-8编码)

    前言: 用了cxf,axis等各种wbeservice实现库,简单试用了一下动态调用的方式,很不满意,完全无法满足业务的需要,所以自己实现了一个webservice采集客户端,方便动态调用外部webs ...