前提・実現したいこと
freeradius + LDAPで、 active directory上のユーザーを参照し、radius認証を行いたい
発生している問題・エラーメッセージ
ユーザが見つからないといわれてしまう。
LDAPMessage searchResDone(3) noSuchObject (0000208D: NameErr: DSID-0310021F, problem 2001 (NO_OBJECT), data 0, best match of:
試したこと
環境
activedirectoy サーバー
ip add : 10.1.0.212/16
free radius サーバー
ip add : 10.1.0.244/16
free radiusにLDAPの設定を入れて、再起動をかけました。
問題なく再起動ができているので、ldapの設定が正しいと判断。
radtestで active directoryのユーザー情報を入れて認証できるか確認
→ここで通らない。
[root@ip-10-1-0-244 mods-enabled]# radtest taro Zaq1xsw2 localhost 123 testing123
Sent Access-Request Id 129 from 0.0.0.0:40595 to 127.0.0.1:1812 length 74
User-Name = "taro"
User-Password = "Zaq1xsw2"
NAS-IP-Address = 10.1.0.244
NAS-Port = 123
Message-Authenticator = 0x00
Cleartext-Password = "Zaq1xsw2"
Received Access-Reject Id 129 from 127.0.0.1:1812 to 0.0.0.0:0 length 20
(0) -: Expected Access-Accept got Access-Reject
念のため、wiresharkにてAD側にLDAP通信が入っているか確認
→通信走っているが、そんなユーザはいないといわれる。
AD側の設定
/etc/raddb/mods-available/ldapの設定
ldap {
# ADサーバと検索用ユーザの情報、ログイン許可するセキュリティグループを記載します
# もとの記載がある箇所はコメントアウトしておきます。
server = 10.1.0.212
identity = 'CN=ldap proxy,OU=employee,DC=AD,DC=test'
password = 'Zaq1xsw2'
base_dn = 'ou=employee,dc=AD,dc=test'
ldapgroup = 'cn=management,ou=employee,dc=AD,dc=test'
# ユーザオブジェクトを確認するセクションでログイン許可するグループでフィルタします。 user { # もともとの filter 条件はコメントアウトしておきます。 #filter = "(uid=%{%{Stripped-User-Name}:-%{User-Name}})" filter = "(|(&(samaccountname=%{%{Stripped-User-Name}:-%{User-Name}})(memberOf=${..ldapgroup})))" }
}
補足情報(FW/ツールのバージョンなど)
