c#能否写Radius服务器?

c#能否写Radius服务器?,第1张

如果你指的是用C#实现类似Radius的认证/授权/记录功能,这个是完全可以的。
以目前的技术来说,想模拟Radius,WCF是你最好的选择。
WCF自身体系就支持各种传输协议上的Windows域/用户身份验证,这点同Radius/NPS;与此同时,WCF同样是在服务端处理各种客户端接入,能够在服务方法被调用前/后截获客户端相关信息(包括身份)以便你自己进一步处理;同上,虽然记录功能需要自己实现,但是实现点也是很明显的:在服务方法调用前/后,或者服务实例创建/释放时。
如果你对WCF技术较为熟悉,请直接查阅其“身份验证”相关技术文档;
如果未曾接触WCF,可以直接阅览Artech的大作《WCF深入剖析》。
不想使用WCF而是使用传统技术来模拟Radius,可以追问或者给我留小纸条继续讨论~

可以参考一下锐捷交换机配置信息查看十大命令
1、Ruijie#show version
这个命令可以查看交换机具体型号、软件版本、硬件版本、交换机序列号等信息;
命令用途:
(1)通常我们在一开始交付锐捷设备时需要检查设备版本是否符合转维要求,如果不符合需要升级版本;
(2)在进行故障定位的时候可能需要检查版本是否有已知bug;
2、Ruijie#show power
这个命令可以查看交换机的电源供电状态;
命令用途:当日志有电源相关的告警时可以使用该命令检查交换机的供电状态;
3、Ruijie#show memory
该命令可以查看总的内存大小,可用内存大小及当前内存利用率 ;
命令用途:
(1)网络设备的内存和电脑的内存一样,如果超过80%就可能影响设备性能;
(2)当网络设备有内存告警是,可以使用该命令检查内存的利用率;
说明:健康状态,内存使用率应该维持在75%以下;承载业务的压力越大,内存使用就会升高,但超出80%时就务必引起注意
4、Ruijie#show tem
该命名可以查看交换机的温度;
命令用途:
(1)网络设备的温度和电脑的温度一样,温度过高会对设备造成影响;
(2)当网络设备有温度过高告警时,可以使用该命令检查当前温度,可能是风扇故障或者机房空调故障等导致设备温度过高;
5、Ruijie#show cpu
通过show cpu进行查看,可以查看5分钟、1分钟、5秒钟的CPU利用率。
命令用途:
(1)网络设备的CPU和电脑的CPU一样,CPU占用率过高可能会影响正常的业务转发;
(2)当网络设备有CPU过高告警时,可以使用该命令检查当前CPU使用率,确认哪些进程的CPU的占用率过高或者异常,如果CPU过高,很可能是有攻击或者路由环路;
说明:健康状态下,“CPU utilization in five minutes”应该维持在30%以下;承载业务的压力越大,CPU会越高,也属正常现象,但超出60%时就务必引起注意
6、Ruijie#show int status
可以查看交换机的接口是否UP
命令用途:
(1)在网络设备交付的过程中经常会使用到该命令检查端口是否UP,端口down可能是连线问题,或者配置问题等;
(2)设备维护过程中,有端口down告警时,可以使用该命令检查哪些端口down,从而进行故障定位;
7
Radius服务器的状态只有两种:Active,Dead。
Active->Dead
radius服务器的死亡判断条件是(即从Active->Dead),同时满足两个条件:
1)距离上次收到该RADIUS服务器的正确响应超过radius-server dead-criteria time seconds设定的时间。
2)在上次收到该RADIUS服务器的正确响应之后,设备发往该RADIUS服务器的请求而未收到正确响应的次数(包括重传),达到radius-server dead-criteria tries number设定的次数。
这边有一个需要注意的是由于配置了radius-server timeout,radius-server retransmit(有默认值),当timeout(retransmit+1)的总时长小于dead-criteria time,或者是retransmit+1小于dead-criteria tries number的时候,也就是此时设备已经检测到主服务器不可用了,需要切换到下一个服务器,但是主服务器由于还没有达到Active->Dead的两个条件,所以主服务器的状态还是Active的,而不是dead,只有当后续的其他用户继续认证,累计dead-criteria time以及dead-criteria tries number到配置值的时候才会变到dead状态。

什么是 RADIUS 服务器
RADIUS 是一种用于在需要认证其链接的网络访问服务器(NAS)和共享认证服务器之间进行认证、授权和记帐信息的文档协议。
RADIUS 的关键功能部件为:
客户机/服务器体系结构 网络访问服务器(NAS)作为 RADIUS 客户机运行。客户机负责将订户信息传递至指定的 RADIUS 服务器,然后根据返回的响应进行 *** 作。
RADIUS 服务器负责接收订户的连接请求、认证订户,然后返回客户机所有必要的配置信息以将服务发送到订户。
RADIUS 服务器可以担当其它 RADIUS 服务器或者是其它种类的认证服务器的代理。
网络安全性:
通过使用加密的共享机密信息来认证客户机和 RADIUS 服务器间的事务。从不通过网络发送机密信息。此外,在客户机和 RADIUS 服务器间发送任何订户密码时,都要加密该密码。 灵活认证机制:
RADIUS 服务器可支持多种认证订户的方法。当订户提供订户名和原始密码时,RADIUS 可支持点对点协议(PPP)、密码认证协议(PAP)、提问握手认证协议(CHAP)以及其它认证机制。
可扩展协议:
所有事务都由变长的三元组“属性-长度-值”组成。可在不影响现有协议实现的情况下添加新属性值。
如何配置 RADIUS 服务器
在“ISA 服务器管理”的控制台树中,单击“常规”: 对于 ISA Server 2004 Enterprise Edition,依次展开“Microsoft Internet Security and Acceleration Server 2004”、“阵列”、“Array_Name”、“配置”,然后单击“常规”。 对于 ISA Server 2004 Standard Edition,依次展开“Microsoft Internet Security and Acceleration Server 2004”、“Server_Name”、“配置”,然后单击“常规”。 在详细信息窗格中,单击“定义 RADIUS 服务器”。 在“RADIUS 服务器”选项卡上,单击“添加”。 在“服务器名”中,键入要用于身份验证的 RADIUS 服务器的名称。 单击“更改”,然后在“新机密”中,键入要用于 ISA 服务器与 RADIUS 服务器之间的安全通讯的共享机密。必须在 ISA 服务器与 RADIUS 服务器上配置相同的共享机密,RADIUS 通讯才能成功。 在“端口”中,键入 RADIUS 服务器要对传入的 RADIUS 身份验证请求使用的用户数据报协议 (UDP)。默认值 1812 基于 RFC 2138。对于更早的 RADIUS 服务器,请将端口值设置为 1645。 在“超时(秒)”中,键入 ISA 服务器将尝试从 RADIUS 服务器获得响应的时间(秒),超过此时间之后,ISA 服务器将尝试另一台 RADIUS 服务器。 如果基于共享机密的消息验证程序与每个 RADIUS 消息一起发送,请选择“总是使用消息验证程序”。
注意:
要打开“ISA 服务器管理”,请单击“开始”,依次指向“所有程序”、“Microsoft ISA Server”,然后单击“ISA 服务器管理”。 当为 RADIUS 身份验证配置 ISA 服务器时,RADIUS 服务器的配置会应用于使用 RADIUS 身份验证的所有规则或网络对象。 共享机密用于验证 RADIUS 消息(Access-Request 消息除外)是否是配置了相同的共享机密且启用了 RADIUS 的设备发送的。 请务必更改 RADISU 服务器上的默认预共享密钥。 配置强共享密钥,并经常更改,以防止词典攻击。强共享机密是一串很长(超过 22 个字符)的随机字母、数字和标点符号。 如果选择“总是使用消息验证程序”,请确保 RADIUS 服务器能够接收并配置为接收消息验证程序。 对于 客户端,可扩展的身份验证协议 (EAP) 消息始终是随同消息验证程序一起发送的。对于 Web 代理客户端,将仅使用密码身份验证协议 (PAP)。 如果 RADIUS 服务器运行了 Internet 身份验证服务 (IAS),并且为此服务器配置的 RADIUS 客户端选择了“请求必须包含消息验证程序属性”选项,则必须选择“总是使用消息验证程序”。

设置ip需要三步:

1.锁定交换机端口。

对于交换机的每一个以太网端口,采用MAC地址表(MAC-address-table)的方式对端口进行锁定。只有网络管理员在MAC地址表中指定的网卡的MAC地址才能通过该端口与网络连接,其他的网卡地址不能通过该端口访问网络。

我们可以在计算机上先运行ping命令,然后用arp-a命令就可以看到网络用户相应的IP地址对应的MAC地址,这样就使MAC地址和物理顺序对应起来,使得一根网线、一个端口对应一个MAC地址。

这种方法比较适合于单幢大楼的宽带用户,在每一层楼或每个单元放置一台交换机,对交换机的每一个以太网端口进行限定,让每个用户单独占用一个端口,如果有人盗用了IP地址也将无济于事。下面用一段程序,举例说明指定交换机的e0/9口对应MAC地址083c00000002,只有这个MAC地址可以通过该端口访问网络。 

2.应用ARP绑定IP地址和MAC地址
ARP(Address Resolution Protocol)即地址解析协议,这个协议是将IP地址与网络物理地址一一对应的协议。每台计算机的网卡的MAC地址都是唯一的。

在三层交换机和路由器中有一张称为ARP的表,用来支持在IP地址和MAC地址之间的一一对应关系,它提供两者的相互转换,具体说就是将网络层地址解析为数据链路层的地址。

我们可以在ARP表里将合法用户的IP地址和网卡的MAC地址进行绑定。当有人盗用IP地址时,尽管盗用者修改了IP地址,但由于网卡的MAC地址和ARP表中对应的MAC地址不一致,那么也不能访问网络。

3 用PPPoE协议进行用户认证 。


对于盗用者使用第二种方法同时修改IP地址和MAC地址时,可以使用PPPoE协议进行用户认证。现在有很多基于PPPoE协议的软件,在ADSL的宽带网中广泛使用。PPPoE全称是Point to Point Protocol over Ethernet(基于局域网的点对点通讯协议),这个协议是为了满足越来越多的宽带上网设备和网络之间的通讯而最新制定开发的标准,它基于两个广泛接受的标准,即以太网和PPP点对点拨号协议。

对运营商来说,在现有局域网基础上不必花费巨资来做大面积改造,使得PPPoE 在宽带接入服务中比其他协议更具有优势,因此逐渐成为宽带上网的最佳选择。

PPPoE的实质是以太网和拨号网络之间的一个中继协议,它兼有以太网的快速性和PPP协议拨号的简易性以及用户验证和IP分配等优势。

在ADSL宽带网的实际应用中,PPPoE利用以太网的工作原理,将ADSL Modem的10BASE-T接口与内部以太网络互联,PPPoE接入利用在网络侧和ADSL Modem之间建立一条PVC(永久虚电路)就可以完成以太网上多用户的共同接入,实际组网方式简单易行,大大降低了网络的复杂程度。

在客户端,其设置和拨号上网方式一样,安装虚拟拨号软件,通过虚拟拨号的方式完成。在客户机接入网络后,由PPP服务器或RADIUS服务器来进行认证,其使用的验证协议有两种:PAP和CHAP。
PAP是密码身份验证协议,它使用原文(不加密)密码,是一种最简单的身份验证协议。如果络的接入不能用更安全的验证方式,一般就使用PAP。

哈哈,今天刚解决了这个问题,跟楼主分享一下答案。用Windows自带的IAS(Internet验证服务)即可,不用AD支持,可以本机验证。这个东西支持RADIUS,但是本身不提供记账功能,需要再外联第三方服务器。不过就是有的验证方法(PEAP等),需要你弄一个数字证书。这个也好办,装个IIS,然后用IIS Toolkit,里面有一个selfssl,自认证证书,设置即可。 我做的是AP+RADIUS认证,不知道你要用什么方面的?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13422435.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-02
下一篇 2023-08-02

发表评论

登录后才能评论

评论列表(0条)

保存