檢查 DNS
執行其他步驟之前,請先檢查 Open Directory 伺服器上的 DNS 名稱解析是否正確。DNS 設定不當可能會引起此問題。您必須知道目前指派給伺服器的 IP 位址,以及伺服器的完整網域名稱。
- 開啟「終端機」,然後輸入
hostname
,以驗證伺服器的名稱。 - 開啟 Server.app,然後在側邊欄中選擇您的伺服器。
- 選擇「概覽」標籤頁。伺服器的完整網域名稱應會顯示在「主機名稱」欄位中。
若 Server 視窗中的完整網域名稱與 hostname 指令產生的結果不相符,則您必須先更正這個狀況,然後才繼續進行本章接下來的步驟。如果您確定指派給伺服器 IP 位址的完整網域名稱是正確的,請使用 Server 中的更改主機名稱輔助程式來設定伺服器的正確主機名稱。
- 開啟「系統偏好設定」,然後按一下「網路」圖像。
- 選擇已為伺服器設定的網路介面。伺服器的 IP 位址列在這裡。
- 記下所列出的 DNS 伺服器。
假如您已在伺服器上設定此 DNS 伺服器,而系統已幫此伺服器建立 DNS 記錄,您的伺服器應會列為 127.0.0.1(而非伺服器的 IP 位址)。
如果您的網路中有另一台伺服器代管您伺服器的 DNS 記錄,則該伺服器的 IP 位址應會列在「DNS 伺服器」欄位中。
如果此資訊不正確,請按一下「進階...」按鈕,然後按一下 DNS 標籤頁。正確的 DNS 伺服器位址可以在這裡設定。
測試 DNS 設定
您可以使用「終端機」來測試將名稱解析為 IP 位址。開啟「終端機」(/應用程式/工具程式/Terminal.app),然後使用下列指令:
使用「host」指令來測試將名稱解析為 IP 位址:
host <your server's fully qualified domain name>
預期的輸出是 <您伺服器的完整網域名稱> 內含 <您的 IP 位址>
您也可以使用「host」指令來測試將 IP 位址解析為名稱:
host <your ip address>
預期的輸出是 <您的 IP 位址>.in-addr.arpa domain name pointer <您伺服器的完整網域名稱>
如果上述 host 指令的輸出未提供預期的輸出,則您可能需要更正您的 DNS 設定或伺服器的「主機名稱」(完整網域名稱)。請先這麼做,然後才嘗試 Rekerberize 您的伺服器。
Rekerberize 您的伺服器
確認或更正您的 DNS 資訊之後,請關閉「系統偏好設定」並結束 Server.app。然後,針對您用來 Rekerberize 伺服器的 OS X 版本,使用該版本適用的終端機指令。
OS X Yosemite
若是 OS X Yosemite,請在 Open Directory 伺服器上使用以下終端機指令。
sudo mkdir /var/db/openldap/migration/
sudo touch /var/db/openldap/migration/.rekerberize
sudo slapconfig -firstboot
開啟 Server.app 並確認您的網路使用者可以登入。
OS X Mavericks
若是 OS X Mavericks,請在 Open Directory Server 上使用以下終端機指令。
sudo mkdir /var/db/openldap/migration/
sudo touch /var/db/openldap/migration/.rekerberize
sudo killall PasswordService
開啟 Server.app 並確認您的網路使用者可以登入。