1つ、プレインストーラーldap
1.1、 ラボ環境
システム:CentOS 7
Openldap:2.4.44
Freeradius:3.0.13
Ldapadmin:1.8.3(win64)
Phpldapadmin:1.2.3
1.2、 システムの最適化
ファイアウォールをオフにします。
systemctl stop firewalld.service && systemctl disable firewalld.service
NetworkManagerを閉じます:
systemctl stop NetworkManager && systemctl disable NetworkManager
selinuxを閉じる:
sed -i 's/SELINUX=permissive/SELINUX=disabled/g' /etc/selinux/config
reboot
2つ、インストーラーと基本構成ldap
2.1、 yum install openldap
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel
2.2、 サービス開始
systemctl start slapd
systemctl enable slapd
2.3、 LDAPルートパスワードを作成する
slappasswdコマンドによって生成され、インストールプロセス全体で使用されるLDAP管理者ルートパスワード
[ root@ldap ~]# slappasswd
New password:
Re-enter new password:
{ SSHA}xAKjntY/5z3bK+ad3gZpxNHjPpR9uPzi
2.4、 LDAPサービスを構成する
2.4.1、 初期構成ファイルを表示する
/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
CentOS7はOpenLDAP + FreeRadiusを展開します
2.4.2、 新しいプロファイルを作成する
db.ldif構成ファイルは任意のディレクトリに作成できます。ここでは、/ opt / alex /ディレクトリに構成ファイルを作成します。
mkdir -pv /opt/alex
vim /opt/alex/db.ldif
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=alex,dc=localhost
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=alex,dc=localhost
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}xAKjntY/5z3bK+ad3gZpxNHjPpR9uPzi
PS:構成ファイルはフィールドを変更する必要があります
olcSuffix:ドメイン情報を保存します
olcRootDN:ルートの一意の識別名。ルート管理者はこのノードで管理します
olcRootPW:管理者のルートパスワード。2.3で生成されたルートパスワードをここに入力します
2.4.3、 ldapmodifyコマンドを使用して、新しいdb構成を検証します
ldapmodifyコマンドは、オペレーティング環境の構成ファイルを直接変更して、再起動せずに有効にすることができます。詳細については、ldapmodifyの公式ドキュメントを参照してください。
ldapmodify -Y EXTERNAL -H ldapi:/// -f /opt/alex/db.ldif
正常に実行されると、以下に示すように、3つの変更されたエントリが出力されます。
CentOS7はOpenLDAP + FreeRadiusを展開します
2.4.4、 新しいモニターファイルを作成します
vim /opt/alex/monitor.ldif
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external, cn=auth" read by dn.base="cn=Manager ,dc=alex,dc=localhost"
2.4.5、 ldapmodifyコマンドを使用して、新しいモニター構成を検証します
ldapmodify -Y EXTERNAL -H ldapi:/// -f /opt/alex/monitor.ldif
CentOS7はOpenLDAP + FreeRadiusを展開します
2.4.6、 ldapベースライブラリを作成する
ここで作成されるのは、データを保存するための基本的なライブラリです。 ldapをインストールした後、設定例があります。設定ファイルをコピーして、すべての権限を付与する必要があります。
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap /var/lib/ldap/*
2.4.7、 データベース内のスキームを増やす
スキーマはデータベーステーブルの定義ファイルであり、リレーショナルデータベースのテーブル定義に相当します。もちろん、わずかな違いがあります。詳細については、ドキュメントの説明を参照してください:[https://ldap.com/understanding-ldap-schema/](https://ldap.com/understanding-ldap-schema/)
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
CentOS7はOpenLDAP + FreeRadiusを展開します
2.4.8、 base.ldifを作成し、ライブラリの管理ドメインの下にコンテンツを追加します
vim /opt/alex/base.ldif
dn: dc=alex,dc=localhost
dc: alex
objectClass: top
objectClass: domain
dn: cn=Manager ,dc=alex,dc=localhost
objectClass: organizationalRole
cn: Manager
description: LDAP Manager
dn: ou=People,dc=alex,dc=localhost
objectClass: organizationalUnit
ou: People
dn: ou=Group,dc=alex,dc=localhost
objectClass: organizationalUnit
ou: Group
2.4.9、 基本構成ファイルを追加します
ldapadd -x -W -D "cn=Manager,dc=alex,dc=localhost" -f /opt/alex/base.ldif
2.3で入力したパスワードを入力する必要があります
CentOS7はOpenLDAP + FreeRadiusを展開します
2.4.10、 テスト構成の検証
slaptest -u
3、LDAP管理者
3.1、 対応するクライアントバージョンをダウンロードします
公式サイト:[http://www.ldapadmin.org/download/index.html](http://www.ldapadmin.org/download/index.html)
3.2、 使用する
3.2.1、 ログインする
CentOS7はOpenLDAP + FreeRadiusを展開します
3.2.2、 ユーザーを作成
CentOS7はOpenLDAP + FreeRadiusを展開します
CentOS7はOpenLDAP + FreeRadiusを展開します
3.2.3、 ユーザーのパスワードを設定する
CentOS7はOpenLDAP + FreeRadiusを展開します
CentOS7はOpenLDAP + FreeRadiusを展開します
4、phpldapadmin
4.1、 httpdをインストールします
[ root@ldap ~]# yum install -y httpd
[ root@ldap ~]# mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf_bak
[ root@ldap ~]# cp /etc/httpd/conf/httpd.conf{,.bak}
[ root@ldap ~]# vim /etc/httpd/conf/httpd.conf
95 ServerNamewww.alex.cnの下に行を追加します
152 AllowOverride All
165 Line DirectoryIndex index.html index.php index.cgi
最後に参加する
ServerTokens Prod
KeepAlive On
[ root@ldap ~]# systemctl start httpd
[ root@ldap ~]# systemctl enable httpd.service
4.2、 phpをインストールします
4.2.1、 Aliのepelソースを構成する
wget -O /etc/yum.repos.d/epel7.repo https://mirrors.aliyun.com/repo/epel-7.repo
yum clean all&& yum makecache
4.2.2、 phpldapadminをインストールして構成します
yum install php php-mbstring php-pear -y
systemctl restart httpd
yum --enablerepo=epel -y install phpldapadmin
vim /etc/phpldapadmin/config.php
397 コメント解除行、コメント行398
CentOS7はOpenLDAP + FreeRadiusを展開します
vim /etc/httpd/conf.d/phpldapadmin.conf
12 ネットワークセグメント情報を追加する
CentOS7はOpenLDAP + FreeRadiusを展開します
systemctl restart httpd
4.2.3、 アクセスインターフェース
ブラウザアクセス[http://192.168.236.30/ldapadmin/](http://192.168.236.30/ldapadmin/)#ldapマシンのIPに置き換えます
CentOS7はOpenLDAP + FreeRadiusを展開します
CentOS7はOpenLDAP + FreeRadiusを展開します
追伸:ログインDNは2.4.2のolcRootDN値であり、パスワードは2.3で作成されたルートパスワードです。
CentOS7はOpenLDAP + FreeRadiusを展開します
5、インストーラーと基本構成freeradius
5.1、 yum install freeradius
yum -y install freeradius freeradius-utils freeradius-ldap
5.2、 サービス開始
systemctl start radiusd
systemctl enable radiusd
5.3、 テスト
5.3.1、 ユーザー管理構成ファイルを変更し、テストの完了後にログアウトします
/ etc / raddb / usersファイルを編集し、テストユーザーの関連情報のコメントを解除します
sed -i '73,81s/^#//g' /etc/raddb/users
steve Cleartext-Password := "testing"
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IP-Address =172.16.3.33,
Framed-IP-Netmask =255.255.255.0,
Framed-Routing = Broadcast-Listen,
Framed-Filter-Id ="std.ppp",
Framed-MTU =1500,
Framed-Compression = Van-Jacobsen-TCP-IP
5.3.2、 デバッグモードを使用してfreeradiusを開始します
最初にサービスをオフにします
systemctl stop radiusd
テストモードを開始します
radiusd -X
5.3.3、 フリー半径をテストする
新しいターミナルを開き、rootとしてログインし、テストコマンドを実行します
radtest steve testing localhost 0 testing123
PS:radtest [アカウント] [パスワード] [認証アドレス] [NASポート] [シークレットキー]
「Testing123」は、client.confで定義されているFreeRADIUSとNASの共有キーです。
出力「Access-Acceptpacket」が成功を意味する場合、「Access-Reject」は失敗を意味します。
注:テスト後、テスト関連の構成は/ etc / raddb / usersにコメントし、systemctl startradiusdを開始します。
6、openldapとfreeradius間の接続を構成します
6.1、 / etc / raddb / mods-available / ldapファイルを変更します
ldap {
server ='192.168.236.30'
port =389
identity ='cn=Manager,dc=alex,dc=localhost'
password =111111
base_dn ='dc=alex,dc=localhost'
sasl {}
update {
control:Password-With-Header +='userPassword'
control:+='radiusControlAttribute'
request:+='radiusRequestAttribute'
reply:+='radiusReplyAttribute'}
user {
base_dn ="${..base_dn}"
filter ="(uid=%{%{Stripped-User-Name}:-%{User-Name}})"
sasl {}}
group {
base_dn ="${..base_dn}"
filter ='(objectClass=posixGroup)'
membership_attribute ='memberOf'}
profile {}
client {
base_dn ="${..base_dn}"
filter ='(objectClass=radiusClient)'
template {}
attribute {
ipaddr ='radiusClientIdentifier'
secret ='radiusClientSecret'}}
accounting {
reference ="%{tolower:type.%{Acct-Status-Type}}"
type {
start {
update {
description :="Online at %S"}}
interim-update {
update {
description :="Last seen at %S"}}
stop {
update {
description :="Offline at %S"}}}}
post-auth {
update {
description :="Authenticated at %S"}}
options {
chase_referrals = yes
rebind = yes
res_timeout =10
srv_timelimit =3
net_timeout =1
idle =60
probes =3
interval =3
ldap_debug =0x0028}
tls {}
pool {
start = ${thread[pool].start_servers}
min = ${thread[pool].min_spare_servers}
max = ${thread[pool].max_servers}
spare = ${thread[pool].max_spare_servers}
uses =0
retry_delay =30
lifetime =0
idle_timeout =60}
}
6.2、 / etc / raddb / sites-available / site_ldapファイルを変更します
server site_ldap {
listen {
ipaddr =0.0.0.0
port =1833
type = auth
}
authorize {
update {
control:Auth-Type := ldap
}}
authenticate {
Auth-Type ldap {
ldap
}}
post-auth {
Post-Auth-Type Reject {}}
}
6.3、 ソフトリンクを確立する
ln -s /etc/raddb/sites-available/site_ldap /etc/raddb/sites-enabled/
ln -s /etc/raddb/mods-available/ldap /etc/raddb/mods-enabled/
6.4、 再起動してテストします
systemctl restart radiusd
3.2.2で作成したldapテストユーザーの接続をテストします
CentOS7はOpenLDAP + FreeRadiusを展開します
Refer:
[ https://www.cnblogs.com/xiaoshou/p/12337620.html](https://www.cnblogs.com/xiaoshou/p/12337620.html)LDAPの展開
[ https://blog.csdn.net/oLinBSoft/article/details/85775603](https://blog.csdn.net/oLinBSoft/article/details/85775603)freeradiusインストールとLDAP接続
Recommended Posts