Windows下架設自己的DNS服務器

來源:本站原創 服務器技術 超過2,980 views圍觀 2條評論

相信有很多人都想架設自己的DNS服務器。我們知道世界上最好用的DNS服務器軟件就是BIND; 但是我輩使用Windows操作系統的人就無福享用這Unix下的頂級軟件了。

或者可以用Windows Server自帶的DNS服務器試試? 需要安裝Server版的Windows不說,麻煩的配置和令人迷惑的圖形界面就夠受的了。

難道就沒有一個解決方案了嗎?

柳暗花明又一村,突然發現BIND居然有Windows版,這這這………… 趕快下載下來試一下,居然成功地配好了DNS。

BIND 的Windows版叫做ntbind,在isc的ftp上有下載。 我下載的是ntbind-9.2.5版。解壓之后運行安裝程序,默認安裝到C:\Windows\system32\dns下。

裝好之后就是配置工作了,不過在這之前建議先將 C:\Windows\system32\dns\bin 添加到 PATH 環境變量中, 這樣配置時就可以用 dig工具來代替難用的 nslookup了。然后再將自己機器的DNS地址改為 127.0.0.1。 注意修改DNS時別忘記ISP提供的DNS地址,過一會兒要用到。

打開 C:\Windows\system32\dns\etc 目錄,建立配置文件 named.conf,內容如下:

named.conf

options {
// zone文件的位置
directory "C:\Windows\system32\dns\etc";

// 無法解析的域名就去查詢ISP提供的DNS
// 在下面的IP地址位置上填寫ISP的DNS地址
forwarders {
1.2.3.4;
1.2.3.5;
};

// 僅允許本機和子網內的機器查詢
allow-query {
127.0.0.1;
192.168.0.0/24;
};
};

// 根DNS
zone "." {
type hint;
file "named.root";
};

// localhost
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};

// localhost的反向解析
zone "0.0.127.in-addr.arpa" {
type master;
file "localhost.rev";
};

// example.com
zone "example.com" IN {
type master;
file "example.com.zone";
};

# End of named.conf

然后逐個建立named.conf中提到的幾個文件,都放在 C:\Windows\system32\dns\etc 下。

named.root:可以從ftp.rs.internic.net(匿名FTP)上下載。

localhost.zone:針對localhost的正向解析。

$TTL 1D

@ IN SOA localhost. root.localhost. (
2007091701 ; Serial
30800 ; Refresh
7200 ; Retry
604800 ; Expire
300 ) ; Minimum

IN NS localhost.

localhost. IN A 127.0.0.1

localhost.rev:針對127.0.0.1的反向解析。

$TTL    1D

@ IN SOA localhost. root.localhost. (
2007091701 ; Serial
30800 ; Refresh
7200 ; Retry
604800 ; Expire
300 ) ; Minimum

IN NS localhost.
1 IN PTR localhost.

example.com.zone:是我們為自己的域的正向解析配置。

example.com.    IN  SOA   ns1.example.com.  root.example.com. (
2007091701 ; Serial
30800 ; Refresh
7200 ; Retry
604800 ; Expire
300 ) ; Minimum

IN NS ns1.example.com.

* IN A 192.168.0.2 ; 將所有域名都泛解析到192.168.0.2上

OK,這幾個配置文件寫好之后,啟動命令行,輸入以下命令:

C:\> named -f -g -d 1

即可在控制臺啟動named。如果不能啟動請仔細觀察輸入結果并自行查找錯誤。

然后你可以用dig命令來測試返回結果是否正確。

C:\> dig www.google.com
C:\> dig www.sina.com.cn

你也可以打開瀏覽器,看看能否正常上網。另外因為我們配置了 example.com 的域, 所以 abc.example.com 應該能訪問你架設在 192.168.0.2 上的 Web 服務器。

一切正常訪問之后,我們還有一件事情要做:配置使用 rndc 命令來控制bind。 請執行以下命令:

C:\> cd C:\Windows\system32\dns\etc
C:\Windows\system32\dns\etc> rndc-confgen > rndc.conf

即可在 C:\Windows\system32\dns\etc 下生成 rndc.conf 文件。編輯這個文件, 并將該文件的后半部分剪切到 named.conf 末尾,配置即完成。

重啟 named,然后在命令行輸入 rndc reload,應該能在named的控制臺看到 重新加載配置文件的信息,說明配置成功。

最后一步,利用srvany將named安裝為服務,即大功告成。(srvany需要安裝Windows 2003 Server Resource Kit)

instsrv ntbind C:\Windows\system32\dns\bin\named.exe

參考文獻

原作者charlee

原始鏈接http://tech.idv2.com/2007/09/17/build-dns-server-on-win32/

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文鏈接:http://www.qdxgqk.live/?p=3376轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
  • 相關文章
  • 為您推薦
  • 各種觀點
?
?
萌宠夺宝游戏