CentOS7はOpenLDAP + FreeRadiusを展開します

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

CentOS7はOpenLDAP + FreeRadiusを展開します
Centos7.6はdjango + nginx + uwsgiをデプロイします
Kickstart + PXEはCentOS6.6を自動的に展開します
CentOS7でGitBookを展開する
CentOS6.8はzookeeperクラスターを展開します
CentOS7はsaltstackサービスを展開します
CentOSの下にJDK + Tomcat8をデプロイします
centos7にvuepressをデプロイする
Centos6.8はvncサービスを展開します
Jenkinをcentos7にデプロイします
CentOS7デプロイvsftp(FTP)サービス
CentOS7.2はNode.js開発環境を展開します
centOS7を使用してフロントエンドプロジェクトを展開する
CentOS 7.2デプロイメールサーバー(Postfix)
CentOS 8(1)
CentOS7.7はk8をデプロイします(1マスター+ 2ノード)
CentOS7.7はk8をデプロイします(3マスター+3ノード+1クライアント)
CentOS7.7はk8s + Prometheus(1マスター+ 2ノード)を展開します
CentosでTomcatを展開して最適化する
CentOS7.2はWebサイトアクセスログアナライザーを展開します-Piwik
centos7 python3.7 + vi
CentOS + Python3.6 +
CentOS + Jenkins
Dockerをデプロイし、CentOSでNginxを構成します
1.5Centos7をインストールする
2019-07-09CentOS7のインストール
centos7_1708のインストール
Centos 7.5 python3.6
実際のCentOSシステムにHadoopクラスターサービスを展開する