Чаму RADIUS бачыць IP-адрас замест імені карыстальніка VPN
strongSwan можа змясціць ідэнтычнасць IKE у RADIUS User-Name да абмену EAP. Вызначце, хто запытвае ідэнтычнасць уліковага запісу, потым супастаўце адну спробу.
Кліент Windows IKEv2 падключаецца, і запыт RADIUS прыходзіць з адрасам там, дзе павінна быць імя ўліковага запісу. Нічога яшчэ не зламалася, і менавіта гэта бянтэжыць: шлюз паведамляе ідэнтычнасць, якую кліент прадставіў на ўзроўні IKE. Імя карыстальніка, якое патрэбна вашаму бэкенду, можа прыйсці з асобнага абмену EAP, які яшчэ не адбыўся. Вызначце, хто яго запытвае, перш чым змяняць уліковы запіс.
Дзве ідэнтычнасці вандруюць у адным злучэнні
У адным злучэнні могуць з'явіцца два імёны. Ідэнтычнасць IKE вызначае партнёра падчас наладжвання тунеля, і плагін eap-radius спачатку капіюе яе ў RADIUS User-Name. Ідэнтычнасць EAP — гэта іншае значэнне, якое выкарыстоўваецца для аўтэнтыфікацыі карыстальніка, і яно можа ніколі не быць адпраўлена, калі ніхто яго не запытае.
Таму журнал RADIUS можа паказваць адрас, хоць уліковы запіс існуе і пароль правільны. У бэкенда пытаюцца пра няправільны ўзровень. Атрыбут RADIUS — гэта толькі транспарт для таго імя, якое было выбрана.
Папрасіце шлюз запытаць ідэнтычнасць EAP
Адна з падтрыманых схем дазваляе шлюзу запытаць ідэнтычнасць EAP, перш чым перадаць аўтэнтыфікацыю RADIUS. У раздзеле аддаленай аўтэнтыфікацыі злучэння ўсталюйце метад eap-radius і запытайце ідэнтычнасць EAP яўна. Фрагмент ніжэй належыць унутры існуючага блока злучэння, а не ў асобны файл. Пацвердзіце злучэнне і бэкенд канфігурацыі, перш чым капіяваць сінтаксіс з іншага разгортвання.
remote {
auth = eap-radius
eap_id = %any
}З гэтым бэкенд атрымлівае ідэнтычнасць, якую кліент падае ў абмене EAP, а не адрас IKE. Больш нічога ў злучэнні не змяняецца.
Або дайце RADIUS пачаць абмен EAP
Іншая схема пакідае першы крок на баку RADIUS. Плагін можа адправіць сігнал EAP-Start замест чакання першапачатковага адказу з ідэнтычнасцю, што дазваляе серверу кіраваць абменам. Гэта канфігурацыя ўзроўню плагіна, таму яна ўплывае на кожнае злучэнне, якое выкарыстоўвае плагін.
charon {
plugins {
eap-radius {
eap_start = yes
}
}
}Выберыце адну схему разам з аператарам RADIUS, а не ўключайце абедзве і спадзявайцеся. Яны апісваюць розныя працэсы, і сервер, які чакае, што пачне ён, не абавязкова справіцца са шлюзам, які пачынае размову. Дакументацыя плагіна апісвае абедзве, уключаючы тое, якую ідэнтычнасць нясе кожны крок.
Прасачыце адну спробу па абодвух журналах
Супастаўце адну спробу ў абодвух журналах. Сачыце за ідэнтычнасцю IKE, потым за тым, ці адбываецца абмен EAP-Identity, а потым за тым, якое імя атрымлівае крок аўтэнтыфікацыі. Бэкенд, які адхіляе адрас да абмену EAP, можа спыніць працэс раней, чым ваша меркаваная ідэнтычнасць будзе ўбачана.
journalctl -u strongswan -fЗахоўвайце дакладны фармат імені карыстальніка, якога чакае сістэма ідэнтычнасці, уключаючы прэфікс дамена. Ніколі не выдумляйце ўліковы запіс з значэння ў форме адраса і ніколі не адключайце аўтэнтыфікацыю, каб задаволіць правіла палітыкі. Ідэнтычнасць EAP — гэта заяўленае імя, і метад усё яшчэ павінен яго даказаць. Запішыце атрыманае імя ў запіс тэсту, каб наступная спроба пачалася з вядомага стану.
Калі выпраўлены паток дасягае патрэбнага ўліковага запісу і ўсё яшчэ адхіляецца, наступныя доказы — гэта метад EAP і палітыка бэкенда, а не ідэнтычнасць. Паўтор скіду пароля не можа выправіць значэнне, выбранае на больш раннім узроўні пратакола.