В настоящее время мы устанавливаем сервер freeradius, который использует сертификаты для аутентификации через беспроводное соединение. У нас это работает для 802.1x, но клиент Novell для Windows 7 нарушает протокол 802.1x. Итак, у нас должна быть аутентификация на основе сертификата.
У меня есть настроенный и работающий тестовый домен, я могу выполнить обычную внутреннюю / внешнюю аутентификацию. Когда я внедряю сертификаты, все начинает сходить с ума. Я прикрепил свой вывод radius -X (по крайней мере, те его части, где он пытается создать экземпляр модуля EAP. Я искал ответы в Google, но на самом деле ничего не нашел. Любая помощь будет принята с благодарностью. Спасибо.
Module: Instantiating eap
eap {
default_eap_type = "eap"
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
max_sessions = 4096
}
Module: Linked to sub-module rlm_eap_md5
Module: Instantiating eap-md5
Module: Linked to sub-module rlm_eap_leap
Module: Instantiating eap-leap
Module: Linked to sub-module rlm_eap_gtc
Module: Instantiating eap-gtc
gtc {
challenge = "Password: "
auth_type = "PAP"
}
Module: Linked to sub-module rlm_eap_tls
Module: Instantiating eap-tls
tls {
rsa_key_exchange = no
dh_key_exchange = yes
rsa_key_length = 512
dh_key_length = 512
verify_depth = 0
pem_file_type = yes
private_key_file = "/etc/raddb/certs/server.pem"
certificate_file = "/etc/raddb/certs/server.pem"
CA_file = "/etc/raddb/certs/ca.pem"
private_key_password = "whatever"
dh_file = "/etc/raddb/certs/dh"
random_file = "/etc/raddb/certs/random"
fragment_size = 1024
include_length = yes
check_crl = no
cipher_list = "DEFAULT"
cache {
enable = no
lifetime = 24
max_entries = 255
}
}
Module: Linked to sub-module rlm_eap_ttls
Module: Instantiating eap-ttls
ttls {
default_eap_type = "mschapv2"
copy_request_to_tunnel = no
use_tunneled_reply = no
virtual_server = "inner-tunnel"
include_length = yes
}
Module: Linked to sub-module rlm_eap_peap
Module: Instantiating eap-peap
peap {
default_eap_type = "mschapv2"
copy_request_to_tunnel = no
use_tunneled_reply = no
proxy_tunneled_request_as_eap = yes
virtual_server = "inner-tunnel"
}
Module: Linked to sub-module rlm_eap_mschapv2
Module: Instantiating eap-mschapv2
mschapv2 {
with_ntdomain_hack = no
}
rlm_eap: Unknown default EAP type eap
/etc/raddb/eap.conf[17]: Instantiation failed for module "eap"
/etc/raddb/sites-enabled/inner-tunnel[223]: Failed to load module "eap".
/etc/raddb/sites-enabled/inner-tunnel[176]: Errors parsing authenticate section.
У нас это работает для 802.1x, но клиент Novell для Windows 7 нарушает протокол 802.1x. Итак, у нас должна быть аутентификация на основе сертификата.
Для меня это не имеет смысла. Независимо от того, используете ли вы EAP-PEAP, EAP-TLS или EAP-TTLS, вашим соискателям необходимо будет взаимодействовать 802.1x с аутентификатором. Если клиент Novell действительно нарушает 802.1x, вы не сможете заставить его работать независимо от того, какой механизм аутентификации вы решите использовать с EAP (который сам туннелируется через EAPOL). 802.1x должен будет поддерживаться вашими соискателями и аутентификаторами.
Ваша проблема, как указано, вероятно, заключается здесь:
rlm_eap: Unknown default EAP type eap
/etc/raddb/eap.conf[17]: Instantiation failed for module "eap"
Вы не можете установить механизм аутентификации EAP на EAP. EAP - это просто структура аутентификации, отсюда и расширяемый протокол аутентификации. Вам необходимо выбрать протокол для использования EAP.
Вы упомянули сертификаты, поэтому я предполагаю, что вы внедряете EAP-TLS. Вероятно, вы захотите изменить:
default_eap_type = "eap"
к
eap: default_eap_type = "tls"