2015-08-17 159 views
0

我有一個只支持PAP的外部RADIUS服務器。我已將FreeRADIUS 2.2.4配置爲將EAP-TTLS隧道內的PAP請求(從爲WPA2 Enterprise配置的WiFi接入點)代理到此RADIUS服務器,然後使用eapol_test對其進行測試。我可以手動配置PC或Mac只發送EAP-TTLS + PAP,但這並不是真正需要的。配置FreeRADIUS只支持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或明確要求在隧道內PAP的EAP類型?

感謝, -rohan

回答

0

嘗試設置除了默認的一個新的服務器...

server my-server { 
    authorize { ... } 

    authenticate { 
     eap 
    } 

    accounting { ... } 
} 

然後創建一個內隧道驗證

server my-tunnel { 
    authorize { 
      pap 
    } 
    ... 
    authenticate { 
     Auth-Type PAP { 
      pap 
     } 
    } 
    ... 
} 

第二FASE您將需要修改您的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 
} 

我敢肯定,這將使你想要做什麼。

問候,

-Hernan加西亞

+0

嗨埃爾南, 我嘗試這樣做,也沒有工作。也許我並沒有100%清楚自己想做什麼。我只想做EAP-TTLS/PAP(不是EAP-GTC)。這在我使用eapol_test並顯式發送EAP-TTLS/PAP時有效,但我需要幫助協商有效的auth類型。我只想在DEFAULT虛擬服務器中使用EAP-TTLS,並且只接受內部隧道中的PAP。內部隧道中的所有PAP請求都被轉發到外部服務器。如果RADIUS客戶端在內部隧道中建議使用MS-CHAPv2,我希望神奇的unlang特殊調制解調器能夠拒絕請求並請求只有PAP。 有什麼建議嗎?感謝, -rohan –