FreeRADIUS
FreeRADIUS向けのGoogle Secure LDAP設定手順はこちらです。
DebianやUbuntu Linuxにapt/apt-getでFreeRADIUSをインストールしたところ、Google Secure LDAP向け設定済みgoogle_ldapモジュールが最初から入っているので、そちらを利用するのが簡単です。
大まかな設定手順
マニュアル通り設定すれば良いのですが、スクリプトである程度自動化しました。
- Google Secure LDAPの証明書とCredentialを発行
- freeradius-setup.zipとGoogle Secure LDAPの証明書(Google_*.zip)をサーバーに転送
- freeradius-setup.zipを展開し、展開してできたフォルダ直下にGoogle_*.zipファイルを移動
- *.crtなどのファイルを環境に合わせて更新
- 自動設定スクリプトfreeradius-automator.shを実行
- FreeRADIUSを再起動
詳細はREADME.mdをご覧ください。
README.mdの抜粋
# FreeRADIUS Automated Setup for Google Secure LDAP
## 概要
UbuntuまたはDebian環境において、FreeRADIUSのインストールからGoogle Secure LDAP(SLDAP)との連携設定までを自動化するスクリプトです。
このスクリプトは、"conf", "mods", "sites", "certs"の各ディレクトリに格納された設定ファイルを利用し、FreeRADIUSのシステム設定ファイル(/etc/freeradius/3.0/)を直接上書きします。初回の上書き時には、元の設定ファイルのバックアップ(".original"拡張子)が自動的に作成されます。
## 使い方
### 1. セットアップ
サーバー上で以下の手順を実行します。
1. **リポジトリの展開**
"freeradius-setup.zip" をサーバーに転送し、展開します。
```bash
sudo apt update
sudo apt install -y unzip
unzip freeradius-setup.zip
cd freeradius-setup
```
2. **証明書の配置**
Google Secure LDAPからダウンロードした証明書ファイル"Google_*.zip")を、展開した"freeradius-setup"ディレクトリ内に配置します。
> **Note**
> ".zip"ファイルはスクリプトによって自動的に展開され、必要な証明書が適切な場所に配置されます。
>
> 配置後のディレクトリ構造の例:
> ```
> freeradius-setup/
> ├── Google_*.zip
> ├── freeradius-automator.sh
> ├── certs/
> │ ├── ca.cnf
> │ ├── client.cnf
> │ └── server.cnf
> └── ... (その他のファイルやフォルダ)
> ```
3. **設定のカスタマイズ**
"setup"コマンドを実行する前に、ご利用の環境に合わせて設定ファイルを直接編集します。最低限、以下の2つのファイルを更新する必要があります。
> **Note**
> 以下のファイルは、ご利用の環境に合わせて内容を更新する必要があります。
>
> ```
> freeradius-setup/
> ├── conf/
> │ └── clients.conf # RADIUSクライアントのIPアドレスとsecret
> ├── mods/
> │ └── ldap_google # Google Secure LDAPの認証情報とドメイン
> └── certs/
> ├── ca.cnf # 会社名、ドメイン、Emailなどの情報
> ├── client.cnf # 会社名、ドメイン、Emailなどの情報
> └── server.cnf # 会社名、ドメイン、Emailなどの情報
> ```
- **conf/clients.conf**: Wi-Fiアクセスポイントなど、RADIUSクライアントのIPアドレスと"secret"(パスワード)を設定します。
- **mods/ldap_google**: Google Secure LDAPの認証情報("identity"と"password")およびご自身のドメイン("base_dn")を設定します。
4. **実行権限の付与**
```bash
chmod +x freeradius-automator.sh
```
5. **セットアップの実行**
```bash
sudo ./freeradius-automator.sh setup
```
スクリプトを実行すると、`conf`, `mods`, `sites`, `certs`ディレクトリ内のファイルが、`/etc/freeradius/3.0/`以下の適切な場所にコピー(上書き)されます。
セットアップが完了したら、FreeRADIUSのデーモンを再起動して、エラーなく正常起動していることを確認。
user@test-auth01:~/freeradius-setup$ sudo systemctl restart freeradius && sudo systemctl status freeradius
● freeradius.service - FreeRADIUS multi-protocol policy server
Loaded: loaded (/lib/systemd/system/freeradius.service; enabled; preset: enabled)
Active: active (running) since Sat 2026-01-20 16:20:36 JST; 12ms ago
Docs: man:radiusd(8)
man:radiusd.conf(5)
http://wiki.freeradius.org/
http://networkradius.com/doc/
Process: 20730 ExecStartPre=/usr/sbin/freeradius $FREERADIUS_OPTIONS -Cx -lstdout (code=exited, status=0/SUCCESS)
Main PID: 20731 (freeradius)
Status: "Processing requests"
Tasks: 6 (limit: 2315)
Memory: 78.4M (limit: 2.0G)
CPU: 424ms
CGroup: /system.slice/freeradius.service
└─20731 /usr/sbin/freeradius -f
Jan 20 16:20:31 test-auth01 freeradius[20730]: Compiling Post-Auth-Type Client-Lost for attr Post-Auth-Type
Jan 20 16:20:31 test-auth01 freeradius[20730]: Compiling Auth-Type PAP for attr Auth-Type
Jan 20 16:20:31 test-auth01 freeradius[20730]: Compiling Auth-Type CHAP for attr Auth-Type
Jan 20 16:20:31 test-auth01 freeradius[20730]: Compiling Auth-Type MS-CHAP for attr Auth-Type
Jan 20 16:20:31 test-auth01 freeradius[20730]: Ignoring "ldap" (see raddb/mods-available/README.rst)
Jan 20 16:20:31 test-auth01 freeradius[20730]: # Skipping contents of 'if' as it is always 'false' -- /etc/freeradius/3.0/sites-en>
Jan 20 16:20:31 test-auth01 freeradius[20730]: Compiling Post-Auth-Type REJECT for attr Post-Auth-Type
Jan 20 16:20:31 test-auth01 freeradius[20730]: radiusd: #### Skipping IP addresses and Ports ####
Jan 20 16:20:31 test-auth01 freeradius[20730]: Configuration appears to be OK
Jan 20 16:20:36 test-auth01 systemd[1]: Started freeradius.service - FreeRADIUS multi-protocol policy server.
これでFreeRADIUS向けのGoogle Secure LDAP設定は完了。
Google WorkspaceのSecure LDAPのログにも、「バインドに成功しました」というログが表示されているかと思います。