How to install LDAP server on Windows and work with Omada Router to achieve unified account management
本文適用於:ER605 v2; Omada 控制器 v5.8 以上版本
LDAP(Lightweight Directory Access Protocol)是一種輕量級目錄存取協定,使用者身份驗證和權限管理機制。它允許使用存取控制清單(ACL)來控制在一定範圍內讀取或寫入資料的權限。ACL可以控制哪些使用者可以存取資料、存取哪些資料、存取資料的位置、存取方式等。
LDAP 的基本模型是依據 Entry,這是一個由一個或多個屬性產生的集合,並且擁有一個唯一的「可辨識名稱」(dn)。類比於關聯式資料庫, Entry 相當於資料庫中的一條紀錄,而 dn 相當於該紀錄的關鍵字,屬性則相當於資料庫中的欄位。在 LDAP 中,資料以樹狀結構組織,如下圖所示:
圖中的每個節點都保存有一個 entry。不同類型的節點可能需要保存不同的資料,在 LDAP 中,不同節點所需的資料(稱為屬性)由物件類別(objectClass)控制。同時,每個 entry 都有一個唯一的可辨識名稱(DN),因此可以快速找到所需的節點資料。DN 的組成是從 entry 的名稱開始,逐步查找其父節點,直到達到根條目為止。如上圖所示,圖中底部節點的 DN 可以表示為:
DN: cn= Jane Smith, ou= people, dc=example, dc=org
通用屬性
屬性名稱 |
全稱 |
描述 |
dc |
Domain Component |
域名的一部分,格式是將完整的域名分成幾個部分,例如將域名 example.org 分為: dc = example, dc = org(記錄屬於該位置) |
ou |
Organization Unit |
組織單位,可以包含各種其他物件(包括其他組織單位),例如: "ou = people" (記錄所屬的組織) |
cn |
Common Name |
通常指的是物件的名稱。如果是人,則需要使用全名。例如:cn = Jane Smith |
dn |
Distinguished Name
|
唯一識別名稱,類似於絕對路徑,每個物件都有一個 獨特的識別名稱。例如:cn= Jane Smith, ou= people, dc=example, dc=org |
uid |
User Id |
通常指的是使用者登入名稱。例如:uid = Jane Smith |
rdn |
Relative dn |
相對識別名稱,類似於相對路徑。例如:cn= Jane Smith 或 ou= people。 |
sn |
Surname |
通常指一個人的姓氏。例如:sn = Smith |
(1) 請參閱以下連結下載 OpenLDAP for Windows 應用程式:
https://www.maxcrc.de/en/download-en/
(2) 下載完成後,雙擊該程式進入 OpenLDAP 應用程式安裝,按一下 Yes 繼續下一步。
(3) 按一下右上角下一步進行下一步安裝,檢查使用者憑證聲明,然後按一下下一步」。
(4) 選擇安裝路徑,建議修改為磁碟 C 以外的其他磁碟,如 D:/OpenLDAP,點選下一步;進行用戶設定,保持預設即可。
(5) 設定 LDAP 伺服器名稱,這裡我們填寫 tplink,資料庫後端選擇預設值 MBD。
(6) 將密碼設為預設(secret),按一下下一步,然後按一下安裝。安裝完成後我們可以修改密碼。
(7) 當顯示如下所示的螢幕時,安裝完成,點擊關閉安裝畫面。
(8) 在 PC 上開啟 CMD 指令,進入 OpenLDAP 安裝路徑,修改管理員密碼:
D:
cd OpenLDAP
slappasswd –h {SSHA}
輸入修改後的密碼後(這裡我們將密碼修改為 123456),會產生一個加密的密鑰字串,複製此密鑰資訊。
用記事本開啟 OpenLDAP(D:\OpenLDAP) 安裝目錄下的 slapd.conf 檔案,將 rootpw 後面的內容改為剛才複製的密鑰資訊。密碼即可修改完成。
(9) 在 CMD 指令列進入安裝目錄:D:/OpenLDAP/run,然後輸入 run 啟動 LDAP 伺服器。
最後會顯示 slapd starting,表示啟動成功。
最後,在 工作管理員 > 服務 中,檢查 LDAP Server 後台程序 OpenLDAP-slapd 是否正常運作。
(1) LdapAdminv1830 可以對安裝在本機上的 LDAP 伺服器進行設定,例如執行 LDAP 使用者的新增、修改和刪除操作。請參考以下連結下載:Download LdapAdminv1830
(2) 按一下連接下的啟動選項進行連接,然後按一下 New connection。
(3) 依據以下範例進行設定:
Connection name:ldap
Host:LDAP 伺服器所在主機 IP 位址
Port:389(如果選擇 TLS/SSL 加密,通訊埠變為 636)
Version:3
Base:dc=maxcrc,dc=com(點擊 Fetch DNs 會自動取得)
Username:cn=manager,dc=maxcrc,dc=com
Password: 123456(密碼是上一步剛剛修改的)
說明:Base 和 username 可以在 slapd.conf 檔案中找到,後綴對應 Base,rootdn 對應 username。這裡我們不修改它們,只使用預設值。
按一下 OK,然後雙擊新建立的名為 ldap 的連接,來連接到需要設定的 LDAP 伺服器。
(4) 選擇連接的 LDAP 伺服器,點選 edit > New > organizational unit ,新增 OU=People 和 OU=Group 兩個項目。
(5) 檢查 OU=people 項目,點擊 Edit > New > User,新增使用者 uid=username1,依據下方的圖示設定使用者資訊。圖示中填寫的資訊為必填,其他為選填。
(6) 檢查新增的 uid=username1 使用者項目,然後按一下 edit > Set Password 為此使用者設定密碼。
(7) 重複上述步驟,建立兩個使用者項目,分別為 uid=username2、uid=username3。
(8) 為 OU=Group 新增 cn=team1 子項目。選擇 OU=Group 項目並點選 Edit > New > Group;建立一個新群組。輸入名稱 team1,在頁面中點選新增,選擇需要新增的群組成員 username1 和 username2。然後按一下 OK。
前往 Authentication > LDAP,點選 Add,填寫參數,如下圖所示。
- Name:ldap
- Bind Type:Regular Mode(Windows LDAP 伺服器僅支援該模式)
- Server Address:192.168.0.101(LDAP 伺服器的 IP 位址)
- Destination Port:389(伺服器上未啟用 SSL/TLS)
- Regular DN:cn=manager,dc=maxcrc,dc=com(管理員帳號資訊,僅 Regular Mode 需輸入此資訊)
- Regular Password:123456(管理員帳號密碼)
- Common Name Identifer:uid(使用者驗證時輸入的使用者名稱的通用名稱,通常為「uid」)
- Base Distinguished Name:ou=People,dc=maxcrc,dc=com (用於使用者驗證的基本名稱,可以透過 ldap 目錄樹右側的圖示進行搜尋,這裡我們選擇 ou=People,表示 ou=People 下的三個使用者資訊都可以進行驗證。當然,你也可以還可以在 ou=People 項目下選擇特定的使用者)。
- Group Distinguished Name:ou=Group,dc=maxcrc,dc=com(這是一個可選擇的區塊,允許對用戶群組進行過濾。這裡我們選擇 ou=Group,這意味著只有 ou=Group 下的用戶才能進行身份驗證,即username1 和 username2。)
至此,LDAP 相關設定完成。
Omada 路由器上的 PPTP/L2TP/OpenVPN 和網頁認證可與 LDAP 搭配使用,實現帳號資訊的集中管理。接下來,我們介紹如何將 L2TP VPN、OpenVPN 和 Web 驗證與 LDAP 結合使用。
(1) Go to VPN > L2TP > L2TP Server, Click Add to fill the parameter as shown in the figure below. Don't forget to create the VPN IP Pool in advance. When the authentication Type is LDAP, select the LDAP Profile you just created. Click OK to complete the configuration, no need to create additional users for the VPN in Users.
(2) 使用用戶端進行 VPN 連線。詳情請參考此連結:如何在遠端 PC 上設定 PPTP/L2TP 用戶端
One thing to note is that Unencrypted password (PAP) needs to be checked in the VPN NIC created to ensure proper connection. This is because LDAP also uses the PPP protocol, which can cause user information to be unauthenticated if encrypted.
(3) We can use the accounts usename1 and username2 configured on the LDAP server for VPN login authentication, and after successful connection, we can see the corresponding client information in VPN > L2TP > Tunnel List.
(1) Go to VPN > OpenVPN > OpenVPN Server, Click Add to fill the parameter as shown in the figure below. It needs to enable the AccountPWD first and can choose the Authentication Type. When the authentication Type is LDAP, select the LDAP Profile you just created. Click OK to complete the configuration, no need to create additional users for the VPN in Users.
(2) 點擊右側的 export,匯出 OVPN 設定檔並傳送給需要連線的用戶端。
(3) 使用 OpenVPN Connect 進行連線。匯入從路由器匯出的 OVPN 檔案,輸入 LDAP 伺服器上設定的使用者名稱和密碼,即可正常連線。
(1) 前往 Authentication > Authentication Settings > Web Authentication,啟用狀態並選擇 LDAP 作為身份驗證類型。
(2) 當用戶端想要上網時,會跳到如下所示的介面,此時 username1 和 username2 的帳號資訊都可以通過驗證。
(3) When the client is authenticated, the information of the corresponding client can be seen in the Authentication > Authentication Status.
要了解各項功能和設定的更多詳細資訊,請前往 檔案下載 下載您的產品手冊。