Red Hat Training

A Red Hat training course is available for RHEL 8

33.8. 针对 FreeRADIUS 服务器或验证器测试 EAP-TLS 身份验证

要测试使用可扩展身份验证协议(EAP)传输层安全(EAP-TLS)的身份验证是否按预期工作,请运行此流程:

  • 设置 FreeRADIUS 服务器后
  • hostapd 服务设为 802.1X 网络身份验证验证器后。

此流程中使用的测试工具的输出提供有关 EAP 通信的其他信息,并帮助您调试问题。

先决条件

  • 当您要验证:

    • FreeRADIUS 服务器:

      • hostapd 软件包提供的 eapol_test 工具已安装。
      • 您在其上运行此流程的客户端已在 FreeRADIUS 服务器的客户端数据库中被授权。
    • 由同命软件包提供的验证器 wpa_supplicant 工具已安装。
  • 您在 /etc/pki/tls/certs/ca.pem 文件中存储了证书颁发机构(CA)证书。
  • 发布客户端证书的 CA 与发布 FreeRADIUS 服务器的服务器证书的 CA 是同一个。
  • 您将客户端证书存储在 /etc/pki/tls/certs/client.pem 文件中。
  • 将客户端的私钥存储在 /etc/pki/tls/private/client.key

流程

  1. 使用以下内容创建 /etc/wpa_supplicant/wpa_supplicant-TLS.conf 文件:

    ap_scan=0
    
    network={
        eap=TLS
        eapol_flags=0
        key_mgmt=IEEE8021X
    
        identity="user@example.org"
        client_cert="/etc/pki/tls/certs/client.pem"
        private_key="/etc/pki/tls/private/client.key"
        private_key_passwd="password_on_private_key"
    
        # CA certificate to validate the RADIUS server's identity
        ca_cert="/etc/pki/tls/certs/ca.pem"
    }
  2. 要向以下进行身份验证:

    • FreeRADIUS 服务器,请输入:

      # eapol_test -c /etc/wpa_supplicant/wpa_supplicant-TLS.conf -a 192.0.2.1 -s client_password
      ...
      EAP: Status notification: remote certificate verification (param=success)
      ...
      CTRL-EVENT-EAP-SUCCESS EAP authentication completed successfully
      ...
      SUCCESS

      -a 选项定义了 FreeRADIUS 服务器的 IP 地址,而 -s 选项指定您要在其上运行 FreeRADIUS 服务器的客户端配置中命令的主机的密码。

    • 验证器,请输入:

      # wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant-TLS.conf -D wired -i enp0s31f6
      ...
      enp0s31f6: CTRL-EVENT-EAP-SUCCESS EAP authentication completed successfully
      ...

      -i 选项指定 wpa_supplicant 通过 LAN(EAPOL)数据包发送扩展验证协议的网络接口名称。

      若要了解更多调试信息,请将 -d 选项传给命令。

其他资源

  • /usr/share/doc/wpa_supplicant/wpa_supplicant.conf file