將 DHCP/DNS 服務從 Windows 伺服器 (Active Directory) 移至 Linux 計算機

將 DHCP/DNS 服務從 Windows 伺服器 (Active Directory) 移至 Linux 計算機

在我的工作場所,我們有一台 Windows Small Business Server,它為我們的本機網路執行 DHCP 和 DNS 服務。我相信這是一個 Active Directory 設置,但由於我對 Windows 確實一無所知,所以我對此並不完全確定。我能說的是,伺服器控制著一個Windows網域,我們的一些Windows機器就在這個網域中。我們有更多的電腦供我們的客戶使用,這些都是普通的互聯網 PC,運行 Windows,但未連接到網域或工作組。

我們的伺服器機器經常出現問題,部分原因是硬體相當舊。此外,我們使用的防火牆/路由器設備經常會造成問題。我現在用運行 Linux 和防火牆系統 (OpenWRT) 的舊 PC 來取代後者。

我們的客戶擁有有效的網路連線非常重要,在舊的設定中,路由器/防火牆或小型企業伺服器的故障將意味著他們沒有。當我用 Linux 系統取代舊防火牆時,我還想將 DHCP 和 DNS 服務從伺服器遷移到防火牆。因此,伺服器故障將不再導致網路問題。

現在我已經安裝了新的防火牆。我已經關閉了 SBS 上的 DHCP 伺服器,並且配置了其 TCP/IP 協議,以便它使用新的防火牆電腦作為 DNS。一切都很順利,但只持續了幾個小時。我在網域中測試了幾台 Windows 計算機,它們工作正常。我禁用並啟用了網路接口,以從新的 DHCP 服務(防火牆上的服務)獲取網路配置。

然而,幾個小時後(即今天早上我回來工作時)網域中的 Windows 電腦無法再掛載網路共用。網路磁碟機和印表機拒絕運作。雙擊網路磁碟機時,請彈出警告框,提示「本機裝置名稱已被使用」。

當停用 SBS 上的 DHCP 伺服器並在單獨的(非 Windows)電腦上執行 DHCP 時,我需要做什麼才能保持 Windows 網路服務正常運作?

到目前為止,我已經在新防火牆上新增了 DHCP 選項,將 SBS 的 IP 位址稱為 netbios-ns 和 netbios-dd。這似乎還不夠。

我想要一個設置,其中防火牆運行本地 DHCP 和 DNS 服務,但 Windows PC 知道 Windows 服務可從不同的伺服器獲得。任何關於 Windows 網路共用、印表機、Active Directory 等的操作都應該由 SBS 完成,SBS 不是代理 DHCP 和 DNS 伺服器。

答案1

您將遇到的問題是,Active Directory 使用 DNS 告訴用戶端電腦在哪裡可以找到各種資源,因此關閉 Windows 伺服器上的 DNS 最終將停止需要 Active Directory 的操作。聽起來它工作了幾個小時,因為客戶端已經快取了它,但後來快取過期了。

我的建議是運行綁定在您的 Linux 伺服器上,並使其充當 Windows 伺服器的輔助伺服器,然後設定您的 DHCP 伺服器以將 Linux 伺服器作為 DNS 伺服器用戶端應使用的。這樣,您的 DNS 查詢就會解除安裝到 Linux 伺服器上,同時保留使用 Active Directory 的能力。

你需要在你的named.conf(或類似的)中添加一行,如下所示:-

zone "ad.internal.company.com"
{
  type slave;
  file "/etc/bind/db.ad.internal.company.com";
  masters { aaa.bbb.ccc.ddd; };
};

不確定您使用的是哪個版本的 SBS,但對於 2003 年,請開啟域名管理控制台,前往您的活動目錄網域的屬性,然後將您的 Linux 伺服器新增為名稱伺服器名稱伺服器標籤。您還需要確保允許區域傳輸已在區域轉移選項卡,以及僅適用於「名稱伺服器」標籤上所列的伺服器。此外,您需要確保當您單擊通知...(也在區域傳輸標籤上),自動通知名稱伺服器選項卡上列出的伺服器被選中。

在 Linux 伺服器上重新載入(或重新啟動)bind,並密切注意日誌,您應該會看到 bind 正在從 Windows 伺服器請求區域檔案的副本。為了確保一切正常,請嘗試在 Windows 伺服器上新增區域文件,並將其傳播到 Linux 伺服器上的綁定。

希望有幫助!

相關內容