RADIUS 服务器之 hostapd 配置说明

RADIUS 服务器之 hostapd 配置说明

本文提供了企业级加密的 RADIUS 服务器配置环境搭建,供读者参考。

一. 安装 hostapd

$ sudo apt-get install libnl1 libnl-dev libnl-doc
$ sudo apt-get install libssl-dev
$ sudo apt-get install bridge-utils
$ sudo apt-get install hostapd

如果安装成功, 下面命令会显示 hostapd 版本:

hostapd -v

如:

hostapd v2.4
User space daemon for IEEE 802.11 AP management,
IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
Copyright (c) 2002-2015, Jouni Malinen <j@w1.fi> and contributors

二. 配置 hostapd

hostapd 可提供多种服务,我们只需要其中的某几个服务,用户可通过下面的方式配置 hostapd.
配置前,看下 /etc/hostapd 目录下是否有其他文件,如果有,请清空。

2.1 配置 hostapd.conf

hostapd.conf 配置 hostapd 的工作方式,详细配置可参考 hostapd.conf 官方文档.
我们这里提供了一个 EAP-TLS 方式的 hostapd.conf, 将其保存到 /etc/hostapd/ 目录下

driver=none
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
dump_file=/tmp/hostapd.dump
eap_server=1
eap_user_file=/etc/hostapd/hostapd.eap_user
ca_cert=/etc/hostapd/certs/ca.crt
server_cert=/etc/hostapd/certs/server.pem
private_key=/etc/hostapd/certs/server.key
radius_server_clients=/etc/hostapd/hostapd.radius_clients
radius_server_auth_port=1812

说明:

  • driver=none 表示不控制具体的网卡
  • eap_server=1 表示启用 EAP server 服务
  • eap_user_file 配置用户 eap 参数
  • ca_cert, server_cert, private_key 用于 EAP-TLS 方式中的双向认证
  • radius_server_clients 和 radius_server_auth_port 指出授权 radius client 和端口
  • 如果使用 EAP-PEAPEAP-TTLS 方式,请注释 ca_cert 行

2.2 配置 hostapd.eap_user

hostapd.eap_user 配置 EAP 方式以及交互过程的一些参数,详细配置可参考 hostapd.eap_user 官方文档
我们这里提供了一个 EAP-TLS 方式的 hostapd.eap_user,将其保存到 /etc/hostapd/ 目录下

# hostapd user database for integrated EAP server
# This file enables all EAP methods used in WFA testing:
#EAP-TLS,EAP-TTLS/MSCHAPv2,PEAPv0/EAP-MSCHAPv2,PEAPv1/EAP-GTC, EAP-SIM,EAP-AKA, EAP-FAST
# Each line must contain identity, EAP method, and optional password separated with whitespace (space or tab). Identity and password must be double quoted ("user").
# Phase 1 users:q
#*                      PEAP
#*                      TTLS
*                       TLS
# Phase 2 (tunnelled within EAP-PEAP/TTLS/FAST) users
#"user"         TTLS-MSCHAPV2                   "password"                      [2]
#"espressif"    TTLS-MSCHAPV2                   "test11"                        [2]
"user"          MSCHAPV2                        "password"                      [2]
"espressif"     MSCHAPV2                        "test11"                        [2]
#"*"    MSCHAPV2                        "*"                     [2]

说明:

  • * TLS: * 表示第一阶段 identity 可以任意配置,TLS 表示第一阶段用 TLS 方式(需要双向认证)
  • 后面有 [2] 表示第二阶段需要用的配置,三列分别对应 用户名, EAP 方式, 密码
  • 如果使用 EAP-PEAP 方式,请增加 * PEAP
  • 如果使用 EAP-TTLS 方式,请增加 * TTLS 行和 #"espressif" TTLS-MSCHAPV2 "test11" [2]

2.3 配置 hostapd.radius_clients

hostapd.radius_clients 用于配置 RADIUS client,详细配置可参考 hostapd.radius_clients 官方文档
我们这里提供了一个任意 RADIUS client 通过密码 12345678 访问 RADIUS 服务的配置 hostapd.radius_clients,将其保存到 /etc/hostapd/ 目录下

# IP of AS      pre-shared key
#192.168.0.139/24        radiusserverpasswd
0.0.0.0/0           12345678

2.4 配置证书相关

hostapd.conf 中指定了 ca_cert, server_cert, private_key 路径,因此我们新建目录 /etc/hostapd/certs, 将我们的 ca 证书 ca.crt,服务器证书 server.pem 和私钥 server.key 放在该目录下。

三. 启动 hostapd

sudo hostapd -dddt /etc/hostapd/hostapd.conf
  • -ddd 表示显示更多的调试信息
  • -t 表示显示时间戳

四. 配置 AP

上述环境搭建好后,即可在 AP 上配置企业级加密了。
如 D-LINK: DIR-619L 配置如下:

p2

  • RADIUS 服务器 IP 地址对应启动 hostapd 主机的 IP
  • 端口 1812 对应 hostapd.conf 中配置
  • 共享秘钥 12345678 对应 hostapd.radius_clients 中配置

重启路由器提供服务

重启后,任何想加入 DLINK 的设备都需要提供对应的连接配置,如 identity, 用户名, 密码等, 当然我们也可以在 hostapd 更改配置已提供更多的服务和权限。

猜你喜欢

转载自blog.csdn.net/espressif/article/details/80933222