我的第一貼:DNS 架設過程
平台 :redhat EL 5
第一步: 軟體下載:bind 9.4.2 地址 http://www.isc.org/index.pl
第二步: 安裝
# tar zxvf bind-9.4.2.tar.gz
# cd bind-9.4.2
# ./configure --prefix=/usr/local/bind --sysconfdir=/etc
# make
# make install
第三步:配置
生成/etc/rndc.conf
#/usr/local/bind/sbin/rndc-confgen > /etc/rndc.conf
# tail -10 /etc/rndc.conf|head -9|sed s/#\//g >>/etc/named.conf
A)cache-only dns server 配置
# vi /etc/named.conf
//this setting is only for forwarding dns server
options {
forward only;
forwarders {
211.94.69.34;
211.94.65.97;
};
pid-file "/usr/local/bind/var/run/named.pid";
};
key "rndc-key" {
algorithm hmac-md5;
secret "N2uQAFWNwrMIVKMapOFq0Q==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};B)完整 DNS SERVER 配置
需要配置的文檔大概如下幾個:
1./etc/named.conf
2./etc/named/named.root
3./etc/named/named.localhost
4./etc/named/named.127.0.0
5./etc/named/named.正解檔案
6./etc/named/named.反解檔案
hostname 與 ip地址規劃 www.mysite.com ------> 192.168.0.105
mail.mysite.com ------> 192.168.0.105
ftp.mysite.com ------> 192.168.0.106
編輯/etc/named.conf
# vi /etc/named.conf // dns server
options {
directory "/etc/named";
forwarders {
211.94.69.34;
211.94.65.97;
};
pid-file "/usr/local/bind/var/run/named.pid";
allow-query { any; };
allow-transfer { none; };
};
zone "." {
type hint;
file "named.root";
};
zone "localhost" {
type master;
file "named.localhost";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "named.127.0.0";
};
zone "mysite.com" {
type master;
file "named.mysite.com";
};
zone "0.168.192.in-addr.arpa" {
type master;
file "named.192.168.0";
};
key "rndc-key" {
algorithm hmac-md5;
secret "N2uQAFWNwrMIVKMapOFq0Q==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};建立目錄/etc/named/ #mkdir /etc/named
先讓自己的DNS伺服器指向上游ISP提供的DNS伺服器地址
#echo "nameserver 211.94.69.34"> /etc/resolv.conf
獲得 named.root 文檔
方法一、
#ftp rs.internic.net
username anonymous
password:回車
ftp> cd domain
ftp> get named.root
ftp>bye
#cp named.root /etc/named
方法二、
#/usr/local/bind/bin/dig -t NS . >/etc/named/named.root
編輯 /etc/named/named.localhost 文檔
# vi /etc/named/named.localhost
$TTL 600
@ IN SOA localhost. root.localhost. (
20080228 ;serial
28800 ;refresh
14400 ;retry
720000 ;expire
86400 ;minimum
)
@ IN NS localhost.
localhost. IN A 127.0.0.1編輯/etc/named/named.127.0.0 文檔
# vi /etc/named/named.127.0.0
$TTL 600
@ IN SOA localhost. root.localhost. (
20080228 ;serial
28800 ;refresh
14400 ;retry
720000 ;expire
86400 ;minium
)
@ IN NS localhost.
1 IN PTR localhost.編輯/etc/named/named.mysite.com正解文檔
# vi /etc/named/named.mysite.com
$TTL 600
@ IN SOA mysite.com. root.mysite.com. (
20080228 ;serial
28800 ;refresh
14400 ;retry
720000 ;expire
86400 ;mininum
)
@ IN NS mysite.com.
@ IN MX 10 mail.mysite.com.
mysite.com. IN A 192.168.0.105
www IN A 192.168.0.105
mail IN CNAME www
ftp IN A 192.168.0.106編輯/etc/named/named.192.168.0反解文檔
# vi /etc/named/named.192.168.0
$TTL 600
@ IN SOA mysite.com. root.mysite.com. (
20080228
28800
14400
720000
86400
)
@ IN NS mysite.com.
105 IN PTR mysite.com.
105 IN PTR www.mysite.com.
106 IN PTR ftp.mysite.com.
第四步:啟動測試
讓自己的DNS伺服器指向自己
#echo "nameserver 127.0.0.1"> /etc/resolv.conf
啟動bind
#/usr/local/bind/sbin/named
# nslookup
> mysite.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: mysite.com
Address: 192.168.0.105
> ftp.mysite.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: ftp.mysite.com
Address: 192.168.0.106
> mail.mysite.com
Server: 127.0.0.1
Address: 127.0.0.1#53
mail.mysite.com canonical name = www.mysite.com.
Name: www.mysite.com
Address: 192.168.0.105
> set type=mx
> mysite.com
Server: 127.0.0.1
Address: 127.0.0.1#53
mysite.com mail exchanger = 10 mail.mysite.com.
> set type=a
> www.mysite.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: www.mysite.com
Address: 192.168.0.105
> 192.168.0.105
Server: 127.0.0.1
Address: 127.0.0.1#53
105.0.168.192.in-addr.arpa name = www.mysite.com.
105.0.168.192.in-addr.arpa name = mysite.com.
> 192.168.0.106
Server: 127.0.0.1
Address: 127.0.0.1#53
106.0.168.192.in-addr.arpa name = ftp.mysite.com.
>
[ 本帖最後由 chinaorg 於 2008-3-27 10:04 編輯 ]
《解決方案》
回復 #1 chinaorg 的帖子
如果想加入獨立日誌功能安如下操作
#mkdir /var/log/named
編輯/etc/named.conf
添加:logging {
channel dns_errors
{ file "/var/log/named/err_logs" versions 3 size 10m;
severity error;
print-category yes;
print-severity yes;
print-time yes;
};
channel dns_queries
{ file "/var/log/named/query_logs" versions 3 size 10m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category default { dns_errors; };
category queries { dns_queries; };
};
重新啟動bind
[ 本帖最後由 chinaorg 於 2008-2-28 18:18 編輯 ]
《解決方案》
回復 #1 chinaorg 的帖子
完成了,歡迎大家指正錯誤。
[ 本帖最後由 chinaorg 於 2008-2-28 17:56 編輯 ]
《解決方案》
不管怎麼樣,看了就要頂!
《解決方案》
加了logging這塊,named啟動后,報err_logs和query_logs兩個文件不存在,用ls /var/log/named看,有這兩個文件存在的,這是什麼問題?
《解決方案》
回復 #5 gfedcba 的帖子
你仔細看看 這個應該不難找到原因,看看有沒有書寫錯誤