搭建802.1X服务器及如何使用路由器接入和桥接(WDS)

本文说明了以下几个内容:
1、如何使用freeradius(在自己电脑上,linux系统)搭建802.1X认证服务器
2、如何将路由器A(openwrt系统)作为client连接上述服务器
3、如何使用路由器B(openwrt系统)的WDS功能桥接步骤2中的路由器A(的2.4GWiFi)
注:第2、3步需要登录路由器系统(串口或ssh都可以),结构图如下:

一、使用freeradius(在自己电脑上)搭建802.1x认证服务器

参考https://blog.csdn.net/cao849861802/article/details/80486232

1.下载地址
https://www.samba.org/ftp/talloc/talloc-2.17.tar.gz
ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-3.0.19.tar.gz
下载的压缩包的名字为: talloc-2.1.7.tar.gz 和freeradius-server-3.0.19.tar.gz;

2.安装软件
先安装talloc-2.1.7.tar.gz再安装freeradius-server-3.0.17.tar.gz
安装步骤两个都一样,先解压,解压后会有两个各自的文件夹。
(1)到目录talloc-2.1.7下

./configure
make
sudo make install

(2)到目录freeradius-server-3.0.19下

./configure
make
sudo make install

3.添加用户

cd /usr/local/etc/raddb/
vim users

若不能打开文件夹,请用root身份(打开文件夹后)运行终端。
在打开文件后,在文件的开始位置添加内容如下:

admin Cleartext-Password := "test"

目的是添加一个新的用户,用户名为admin,密钥为test,后面在连接路由器A时需要用到。

4.运行服务器

sudo radiusd -X

这里的X为大写。正确运行时显示:

Listening on auth address 127.0.0.1 port 18120 bound to server inner-tunnel
Listening on auth address * port 1812 bound to server default
Listening on acct address * port 1813 bound to server default
Listening on auth address :: port 1812 bound to server default
Listening on acct address :: port 1813 bound to server default
Listening on proxy address * port 53365
Listening on proxy address :: port 43960
Ready to process requests

表示服务端处于监听状态,等待客户端发送信息。如需停止服务,按下CTRL+C。

5.测试
启动服务器后,再打开另一个终端进行操作,在新终端下输入命令:

radtest admin test localhost 1812 testing1234

(命令说明:radtest为测试指令 admin test 为用户名和密钥 localhost为client.conf里client localhost的地址,可以用127.0.0.1代替,1812为端口 testing1234为client.conf里localhost下的密钥)
测试成功时显示:

Sent Access-Request Id 238 from 0.0.0.0:51723 to 127.0.0.1:1812 length 75
User-Name = “admin”
User-Password = “test”
NAS-IP-Address = 127.0.1.1
NAS-Port = 1812
Message-Authenticator = 0x00
Cleartext-Password = “test”
Received Access-Accept Id 238 from 127.0.0.1:1812 to 127.0.0.1:51723 length 20

6.添加客户端

cd /usr/local/etc/raddb/
vim clients.conf

注释掉localhost的部分,添加(或修改):

client NETGEAR{                  #client后的名称随便写
         ipv4addr = 192.168.4.1  #client的IP,即路由器A的IP
         secret   = testing123   #路由器A连接服务器的密钥
}
二、将我们路由器A作为client连接上述服务器

说明:此时路由器A连外网,服务器(自己电脑,IP:192.168.4.23)连接路由器A的LAN口,并且连接路由器串口。服务器处于运行状态(指令radiusd -X,出现Ready to process requests)

1.将路由器的wpad版本从mini版更换至完整版
然后编译并将镜像烧录至路由器A。
没有源码的请找其他资源以完成此步骤。

2.修改wireless配置以使用802.1X协议
(若路由器没有双频的5G,建议先做第三部分的第1步,并未测试)
使用串口工具(如minicom)或ssh登录,连接路由器A

vi etc/config/wireless

修改其中的2.4G主人网络的部分:
将encryption后的值改为 wpa2
添加一行option server 192.168.4.23
将key后的值改为testing123

修改后的部分如下:

config wifi-iface                                          
        option device   radio0                             
        option ifname   wlan0                              
        option network  lan                                
        option mode     ap                                 
        option ssid     “9670-2.4G-CT”      
        option encryption 'wpa2'              #修改报文类型          
        option server '192.168.4.23'          #radius服务器的IP地址        
        option key 'testing123'               #前面clients.conf中设置的密钥   
        option isolate '0'                                 
        option hidden '0'                                  
        option macfilter   disable                 
        option macfile   /etc/wlan-file/wlan0.allow
        option group 1                     
        option netisolate 0                
        option disable_input 0                     
        option wps_pushbutton '1'                  
        option wps_label '0'                       
        option rps_cpus 2                          

3.使用指令重启路由器A

/etc/init.d/network restart

若使用手机连接该WiFi(9670-2.4G-CT),则相关设置为:

EAP方法:PEAP
阶段2身份验证:无
CA证书:未指定
身份:admin
匿名身份:
密码:test

其中身份密码由服务器的users文件确定。
至此,802.1X的客户端(即路由器A)已完成设置。

三、使用路由器B的WDS功能级连路由器A

说明:电脑用串口连接路由器B,路由器B和A之间不用网线连接

1.先使用路由器B的WDS功能桥接任意一个非802.1X认证的WIFI(建议桥接路由器A的5G,在这里我选择是这个桥接,其他的没有测试),注意一定要成功。(启用WDS功能可能需要修改多个文件,我没有深入,所以直接使用Web界面使路由器B启用WDS功能)

2.配置路由器B
使用串口连接路由器B

vim etc/config/wireless

修改最后一部分:
删除option key 一行
将encryption后的值改为wpa2
添加option identity ‘admin’
option password ‘test’
option eap_type ‘peap’
option auth ‘MSCHAPV2’
将device后的内容改为radio0
删除option bssid一行
将option ssid后的值改为WDS桥接(主路由A)的WiFi名称

其中,identity、password为users文件的身份和密码。
修改后的部分如下:

config wifi-iface        
       option ifname 'sfi0'
       option network 'wwan'
       option encryption 'wpa2'
       option identity 'admin'
       option password 'test'
       option eap_type 'peap'
       option auth 'MSCHAPV2'            
       option device 'radio0' 
       option mode 'sta'
       option ssid '9670-2.4G-CT'
       option rps_cpus '2'

3.通过wireless文件第二部分的bssid、encryption、key等修改路由器B(作为次路由器桥接后网络)的相关设置。此时手机等可以通过路由器B的2.4Gwifi进行上网。

4.至此,桥接完成。802.1X的认证由路由器B来完成,其发出信号已类似无需802.1X认证的信号,手机端不再出现输入身份及密码等内容的界面。若直接连接路由器A的wifi,需要输入身份和密码。

  • 8
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值