Windows 2000環境下使用BIND作功能變數名稱伺服器 |
|
conundrum
尊榮會員 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
Windows 2000環境下使用BIND作功能變數名稱伺服器
http://www.8e8.net/info/428.htm Windows 2000環境下使用BIND作功能變數名稱伺服器 http://www.8e8.net/info/428.htm
Windows 2000 server 以其優異的性能,逐漸被廣泛的應用。在Windows 2000 server中新增了Active Directory服務,該服務存儲所有網路資源的資訊,如電腦、共用文件夾、用戶等等。它還通過標準的 LDAP 協定(輕量目錄訪問協定)將此類資訊提供給用戶和應用程式。與Windows NT 4.0 中的網域控制器相比,Active Directory 與 DNS 的關係更加密切。實際上,DNS是支援 Active Directory 所必需的。通常,安裝 Active Directory 伺服器時,如果網路上找不到 合適的DNS 伺服器,就會在安裝過程中安裝 DNS 服務。 Windows 2000 中最重要的新概念之一就是:電腦不再主要用網路基本輸入/輸出系統 (NetBIOS) 名稱來標識,而是使用 DNS 完全合格的功能變數名稱稱 (FQDN) 來標識。 因此,要登錄並訪問 Windows NT 域中的資源,Windows 2000 電腦必須查找 DNS 伺服器,以定位 Active Directory 網域控制器。也就是說Windows 2000 中服務位置和名稱解析的主要機制是功能變數名稱系統(DNS),它在?動和登陸過程使用DNS來查找如LDAP和Kerveros這類的服務,以便至少檢索到一個網域控制器的IP地址.因此,也可以說Windows 2000中Active Directory依賴於DNS. Windows 2000不僅通過DNS定位資源和服務,而且將自己的名字及所提供的服務註冊到DNS資料庫中並動態更新。
在以下原因或事件下會發送動態更新:
· 在 TCP/IP 協定的屬性中添加、刪除或修改了任何網路連接的 IP 地址。
· 用 DHCP 伺服器更改或刷新了任何網路連接的 IP 地址。例如,在?動電腦或者使用了 ipconfig /renew 命令的時候。
· ipconfig /registerdns 命令用於手工強制刷新 DNS 中的客戶機名稱註冊。
· 電腦關閉後再次?動。
Windows 2000使用以下過程進行 DNS 動態更新:
1. 客戶機請求其已配置的 DNS 伺服器?待更新 DNS 名稱的 DNS 區域查找授權名稱伺服器。
2. DNS 客戶機的已配置 DNS 伺服器會執行標準名稱解析過程,並發送 SOA(起始授權機構)資源記錄和負責此查詢 DNS 區域授權的名稱伺服器的 IP 地址。
3. 客戶機將動態更新請求發送給負責這個待更新 DNS 名稱的區域的授權 DNS 伺服器。
客戶機的動態更新請求可能包括一列前提條件,只有滿足這些條件後才能完成更新。前提條件類型包括:
o 存在資源記錄集。
o 不存在資源記錄集。
o 名稱正被使用。
o 名稱未被使用。 4. 授權 DNS 伺服器判斷這些前提條件是否滿足。如果滿足,授權 DNS 伺服器就執行請求的更新。如果不滿足前提條件,則更新失敗。不論是哪種情況,授權伺服器都會應答客戶機,說明更新是否成功。
在 Windows 2000 中,默認情況下,所有 DNS 客戶電腦的 A 資源記錄和 PTR 資源記錄都被註冊到 DNS 中。此外,網域控制器和提供服務的其他電腦將 SRV(服務)資源記錄註冊到 DNS 中。由於 SRV 資源記錄提供了將服務名稱解析到 IP 地址的途徑,將它們註冊到 DNS 使 Windows 2000 客戶電腦可以定位網域控制器和其他類型的伺服器。 SRV記錄格式如下:
_service. _protocol.domain.name IN SRV priority weight port target
service 是指服務的名稱如ldap, protocol是指傳輸層的協定名如tcp, 緊跟著是功能變數名稱,priority是指優先順序,當客戶機找到指向同一服務的多條記錄時,它將使用priority值最小的一項。Weight是指權重用於負載的分配,當客戶機找到多個具有相同priority值得SRV記錄,它將根據weight值選擇適當的伺服器。Port 和target分別指服務的埠號及提供服務的主機的名字。 因此,用於支援 Active Directory的 DNS 伺服器必須支援 SRV 記錄。而且,Microsoft 極力推薦這些 DNS 伺服器也支援RFC 2136所描述動態更新。
在實際應用過程中,我們有時會遇到這樣情況:網路中使用UNIX下的BIND作主功能變數名稱伺服器而且由於種種原因不能把功能變數名稱服務放在Windows 2000上,在這種情況下如何從 Windows NT 4的域平滑地升級到Windows2000的Active Directory呢? 經過上面的分析可知,可以使用運行於任何 OS 上的任何支援 SRV 記錄的 DNS 伺服器與Windows 2000協同工作。同時微軟極力推薦使用支援動態更新(按照 RFC 2136)的 DNS 伺服器。而BIND 在8.2.2版本以上都是完全滿足要求的。 基於上述認識,我們以一個實例來說明在網路中使用UNIX下的BIND作功能變數名稱伺服器的情況下,如何從Windows NT 4的域平滑地升級到Windows2000的Active Directory:
在一個區域網路中,主功能變數名稱、郵件放在SUN工作站上,功能變數名稱是mail.ddri.com.cn。IP地址?:10.65.65.1,作業系統?solaris 2.6中文版,功能變數名稱伺服器軟體?solaris 2.6中捆綁的的BIND 4.9.3。.另外有兩台伺服器安裝Windows NT 4.0分別作兩個域的主網域控制器。主機名分別是 zyxx.ddri.com.cn和xxdc.ddri.com.cn,IP地址分別?10.65.65.16和10.65.65.56。 首先,下載BIND套裝軟體,當前最新版本是9.2.0beta,我們使用的是9.1.3.rc1,可以在ftp://ftp.isc.org/isc/bind9/9.1.3/下載源代碼包bind-9.1.3.tar.gz然後進行編譯,編譯方法可以參照套裝軟體中的文檔。這裏我們從http://www.sunfreeware.com/下載已經預先編譯好的bind-9.1.3rc1-sol26-sparc-local.gz,另外需要下載gzip-1.3-sol26-sparc-local來解壓縮。先使用admintool下先安裝gzip-1.3-sol26-sparc-local。然後用gzip –d bind-9.1.3rc1-sol26-sparc-local.gz解包,最後再次使用admintool 來安裝bind-9.1.3rc1-sol26-sparc-local。 其次,修改配置文件:在BIND 8.2.2以後的版本中主要使用allow-update和 update-policy語句來實現和控制動態更新。
allow-update的語法是:
allow-update { “acl-name”;} ;
或allow-update { ip_addr;} ;
update-policy用來定義簡單的安全策略 。因?當使用動態更新時是會帶來一些安全問題的,所以建議使用安全策略來控制動態更新。語法是:
update-policy {(grant/deny) identity nametype name [type];};
每一個動態更新請求如果成功的匹配規則。那?動態更新被允許或禁止。 下面是實際的配置文件/etc/named.conf: options {
directory "/var/named";
pid-file "named.pid";
allow-query { any;};
auth-nxdomain yes;
transfer-format one-answer;
forwarders {
10.65.1.1;
10.65.1.2;
10.65.50.1;
};
};
zone "." {
type hint;
file "root.cache";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "localhost.rev";
notify no;
};
zone "ddri.com.cn" {
type master;
file "ddri.com.cn.db";
allow-transfer {
10.65.1.1;
10.65.1.2;
10.65.50.1;
};
allow-update {
10.65.65.0/24;
};
update-policy {
grand *.ddri.com.cn. self *.ddri.com.cn. A;
grand *.ddri.com.cn. self *.ddri.com.cn. SRV;
};
zone "65.65.10.in-addr.arpa" {
type master;
file "10.65.65.db";
allow-transfer {
10.65.1.1;
10.65.1.2;
10.65.50.1;
};
allow-update {
10.65.65.0/24;
};
update-policy {
grand *.ddri.com.cn. self *.ddri.com.cn. A;
grand *.ddri.com.cn. self *.ddri.com.cn. SRV;
}; }; }; 在這個配置中允許所有IP 位址?10.65.65網段和功能變數名稱?ddri.com.cn的電腦使用動態更新。(這個配置文件中還使用了轉發器,並且?了在與低版本BIND進行區傳送時相容,我們使用了transfer-format one-answer;語句。)關於這個文件中的其他語句及可選項的語法,可以參考《BIND 9 ADMINISTRATOR REFERENCE MANUAL》。
接著,配置區文件中的靜態項。需要注意的是區文件是要被動態更新的,所以文件許可權必須是被named可寫的。下面給出了寫好的正向解析的區文件 /var/named/ddri.com.cn.db的例子:
@ IN SOA mail.ddri.com.cn. root.ddri.com.cn. (
2000120615 ; Serial Number
10800 ; Refresh after 3 hours
3600 ; Retry after 1 hour
604800 ; Expire after 1 week
86400 ) ; Minimum TTL of 1 day @ IN NS mail.ddri.com.cn.
@ IN A 10.65.65.1
ddri.com.cn. IN NS mail
localhost IN A 127.0.0.1 mail IN A 10.65.65.1
info IN A 10.65.65.18
zyxx IN A 10.65.65.16
ddri.com.cn. IN MX 10 mail
反向解析記錄區文件在這裏就不例舉了。
最後:修改?動腳本使BIND 9 自動運行。在各種UNIX、Linux修改方法是不盡相同的,可以參考相關資料來修改。在solaris 2.6 下修改/etc/inet.d/inetsvc:
找到…
if [ -f /usr/sbin/in.named -a -f /etc/named.boot ]; then
/usr/sbin/in.named; echo "starting internet domain name server."
fi
修改?:
if [ -f /usr/local/sbin/named ]; then
/usr/local/sbin/named; echo "starting BIND 9.1.3rc1."
fi (在缺省情況下BIND 9安裝在/usr/local/sbin下)
重新?動伺服器,BIND 9的配置就生效了。現在就可以升級到Windows 2000的Active Directory而仍使用10.65.65.1作功能變數名稱伺服器了。根據已制定的升級規劃,先升級zyxx.ddri.com.cn到Windows 2000 server. 運行“Active Directory 安裝向導”在新目錄林中創建第一個網域控制器. 在安裝過程中,Windows 2000執行以下幾個DNS驗證步驟:
1. 驗證伺服器上的 DNS 解析器配置。
2. 驗證網域控制器要註冊的 DNS 資源記錄的權威 DNS 區域允許動態更新
如果配置無誤新目錄林中的第一個網域控制器將被順利安裝。接著升級xxdc.ddri.com.cn到Windows 2000 server, 運行“Active Directory 安裝向導 將它作?ddri.com.cn的子域xxzx.ddri.com.cn的網域控制器,這時對DNS的驗證也將順利通過。至此就完成了向Window 2000 Active Directory的平滑升級。
Windows2000 Active Directory正常工作後。當我們打開BIND 的區文件/var/named/ddri.com.cn.db是就會發現明顯的變化:
$ORIGIN .
$TTL 3600 ; 1 hour
ddri.com.cn IN SOA mail.ddri.com.cn. root.ddri.com.cn. (
2000120745 ; serial
10800 ; refresh (3 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS mail.ddri.com.cn.
$TTL 600 ; 10 minutes
A 10.65.65.16
$TTL 3600 ; 1 hour
MX 10 mail.ddri.com.cn.
$ORIGIN ddri.com.cn.
$ORIGIN _tcp.Default-First-Site-Name._sites.ddri.com.cn.
$TTL 600 ; 10 minutes
_gc SRV 0 100 3268 zyxx.ddri.com.cn.
_kerberos SRV 0 100 88 zyxx.ddri.com.cn.
_ldap SRV 0 100 389 zyxx.ddri.com.cn.
$ORIGIN ddri.com.cn.
$ORIGIN _tcp.ddri.com.cn.
_gc SRV 0 100 3268 zyxx.ddri.com.cn.
_kerberos SRV 0 100 88 zyxx.ddri.com.cn.
_kpasswd SRV 0 100 464 zyxx.ddri.com.cn.
_ldap SRV 0 100 389 zyxx.ddri.com.cn.
$ORIGIN ddri.com.cn.
$ORIGIN _udp.ddri.com.cn.
_kerberos SRV 0 100 88 zyxx.ddri.com.cn.
_kpasswd SRV 0 100 464 zyxx.ddri.com.cn.
$ORIGIN ddri.com.cn.
$TTL 3600 ; 1 hour
info A 10.65.65.18
$TTL 1200 ; 20 minutes
glen A 10.65.65.58
$TTL 3600 ; 1 hour
localhost A 127.0.0.1
mail A 10.65.65.1
$TTL 1200 ; 20 minutes
quark A 10.65.65.4
sql A 10.65.65.25
$TTL 3600 ; 1 hour
SUNBOW A 10.65.65.34
www A 10.65.65.11
$TTL 600 ; 10 minutes
xxzx A 10.65.65.56
$ORIGIN xxzx.ddri.com.cn.
$ORIGIN _msdcs.xxzx.ddri.com.cn.
$ORIGIN dc._msdcs.xxzx.ddri.com.cn.
$ORIGIN _tcp.Default-First-Site-Name._sites.dc._msdcs.xxzx.ddri.com.cn.
_kerberos SRV 0 100 88 XXDC.xxzx.ddri.com.cn.
_ldap SRV 0 100 389 XXDC.xxzx.ddri.com.cn.
$ORIGIN dc._msdcs.xxzx.ddri.com.cn.
$ORIGIN _tcp.dc._msdcs.xxzx.ddri.com.cn.
_kerberos SRV 0 100 88 XXDC.xxzx.ddri.com.cn.
_ldap SRV 0 100 389 XXDC.xxzx.ddri.com.cn.
$ORIGIN _msdcs.xxzx.ddri.com.cn.
_ldap._tcp.pdc SRV 0 100 389 XXDC.xxzx.ddri.com.cn.
$ORIGIN xxzx.ddri.com.cn.
$ORIGIN _tcp.Default-First-Site-Name._sites.xxzx.ddri.com.cn.
_kerberos SRV 0 100 88 XXDC.xxzx.ddri.com.cn.
_ldap SRV 0 100 389 XXDC.xxzx.ddri.com.cn.
$ORIGIN xxzx.ddri.com.cn.
$ORIGIN _tcp.xxzx.ddri.com.cn.
_kerberos SRV 0 100 88 XXDC.xxzx.ddri.com.cn.
_kpasswd SRV 0 100 464 XXDC.xxzx.ddri.com.cn.
_ldap SRV 0 100 389 XXDC.xxzx.ddri.com.cn.
$ORIGIN xxzx.ddri.com.cn.
$ORIGIN _udp.xxzx.ddri.com.cn.
_kerberos SRV 0 100 88 XXDC.xxzx.ddri.com.cn.
_kpasswd SRV 0 100 464 XXDC.xxzx.ddri.com.cn.
$ORIGIN xxzx.ddri.com.cn.
$TTL 1200 ; 20 minutes
lvfan A 10.65.65.82
multimedia A 10.65.65.50
quark A 10.65.65.4
renwj A 10.65.65.174
XXDC A 10.65.65.56
$ORIGIN ddri.com.cn.
$TTL 3600 ; 1 hour
zyxx A 10.65.65.16 通過這個例子可以看到在部署Windows 2000 server Active Directory時,Windows 2000 作業系統中捆綁的功能變數名稱服務並不是唯一選擇。其實BIND 9有非常多的選項可以靈活的配置功能變數名稱服務。而且BIND更新較快,並且已經移植到Windows平臺下,因此在Windows 2000環境BIND依然是企業用戶功能變數名稱服務的一個很好的選擇
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |