我有一个仅支持 PAP 的外部 RADIUS 服务器。我已将 FreeRADIUS 2.2.4 配置为将 EAP-TTLS 隧道内的 PAP 请求(从为 WPA2 Enterprise 配置的 WiFi 接入点)代理到此 RADIUS 服务器,并使用 eapol_test 对其进行了测试。我可以手动将 PC 或 Mac 配置为仅发送 EAP-TTLS+PAP,但这并不理想。
未配置的 WPA2 Enterprise 客户端连接时,它们会尝试 PEAP、LEAP 和 EAP-MD5。我禁用了大多数其他 EAP 类型,但似乎我需要 TTLS 块中的
default_eap_type
中至少支持一种其他 EAP 类型。我的 eap.conf 中未注释的部分如下:
eap {
default_eap_type = ttls
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
max_sessions = 4096
md5 {
}
tls {
certdir = ${confdir}/certs
cadir = ${confdir}/certs
private_key_password = heythatsprivate
private_key_file = ${certdir}/server.pem
certificate_file = ${certdir}/server.pem
dh_file = ${certdir}/dh
random_file = /dev/urandom
CA_path = ${cadir}
cipher_list = "DEFAULT"
make_cert_command = "${certdir}/bootstrap"
ecdh_curve = "prime256v1"
cache {
enable = yes
lifetime = 24 # hours
max_entries = 255
}
verify {
}
ocsp {
enable = no
override_cert_url = yes
url = "http://127.0.0.1/ocsp/"
}
}
ttls {
default_eap_type = md5
copy_request_to_tunnel = no
use_tunneled_reply = no
virtual_server = "inner-tunnel"
}
}
有没有办法配置 FreeRADIUS,以便 TTLS 内不允许使用 EAP 类型或明确要求隧道内使用 PAP?
谢谢, -罗汉
尝试设置除默认服务器之外的新服务器...
server my-server {
authorize { ... }
authenticate {
eap
}
accounting { ... }
}
然后创建一个内部隧道用于第二阶段的身份验证
server my-tunnel {
authorize {
pap
}
...
authenticate {
Auth-Type PAP {
pap
}
}
...
}
您需要修改您的 EAP 配置,如下所示:
eap {
default_eap_type = ttls
...
ttls {
default_eap_type = gtc
copy_request_to_tunnel = yes
use_tunneled_reply = yes
virtual_server = "my-tunnel"
}
...
}
然后为每个客户端指定您要使用哪个服务器来处理身份验证请求
client example {
ipv6addr = x.x.x.x
netmask = 32
secret = *******
shortname = example
virtual_server = my-server
}
我确信这将实现您想做的事情。
问候,
-埃尔南·加西亚