rhel5中配置DNS服務器
在RHEL5.4下搭建和配置DNS 服務器一、域名與域名解析網絡中為了區(qū)別各個主機,必須為每臺主機分配一個惟一的地址,這個地址即稱為“IP 地址”。但這些數字難以記憶,所以就采用“域名”的方式來取代這
在RHEL5.4下搭建和配置DNS 服務器
一、域名與域名解析
網絡中為了區(qū)別各個主機,必須為每臺主機分配一個惟一的地址,這個地址即稱為“IP 地址”。但這些數字難以記憶,所以就采用“域名”的方式來取代這些數字了。不過最終還是必須將域名轉換為對應的IP 地址才能訪問主機。
DNS (Domain Name System)服務,又叫域名解析服務,即提供域名與IP 地址的相互轉換。域名的正向解析是將主機名轉換成IP 地址的過程,域名的反向解析是將IP 地址轉換成主機名的過程。通常我們很少需要將IP 地址轉換成主機名,即反向解析。反向解析經常被一些后臺程序使用,用戶看不到。
二、DNS 架構
域的層次結構如同一棵倒立的樹,層次結構非常清晰,如圖所示。根域位于頂部,緊接著在根域的下面是幾個頂級域,每個頂級域又可以進一步劃分為不同的二級域,二級域再劃分出子域,子域下面可以是主機也可以是再劃分的子域,直到最后的主機。在Internet 中的域是由InterNIC 負責管理的,域名的服務則由DNS 來實現(xiàn)。
三、DNS 解析流程
1、客戶機請求解析www.exmaple.com.cn 的IP 地址,如果本地hosts 文件中沒有相關解析, 則向本地DNS 服務器發(fā)出解析請求;
2、如果本地DNS 服務器有該域名的解析信息,則直接返回給客戶機;如果本地DNS 服務器沒有該域名的解析信息,則本地DNS 服務器向根DNS 服務器詢問www.exmaple.com.cn 的IP 地址;
3、如果根DNS 服務器有該域名的解析信息,則直接返回信息給本地DNS 服務器,本地DNS 服務器再將解析信息返回給客戶機;如果根DNS 服務器沒有該域名的解析信息,則返回管轄.cn 解析業(yè)務的DNS 服務器的IP 地址;
4、本地DNS 服務器向管轄.cn 的DNS 服務器詢問www.exmaple.com.cn 的IP 地址;
5、如果.cn 服務器有該域名的解析信息,則直接返回信息給本地DNS 服務器,本地DNS 服務器再將解析信息返回給客戶機;如果.cn DNS 服務器沒有該域名的解析信息,則管轄.cn 解析業(yè)務的DNS 服務器告知.com.cn 的DNS 服務器的IP 地址;
6、本地DNS 服務器向管轄.com.cn 的DNS 服務器詢問www.exmaple.com.cn 的IP 地址;
7、如果.com.cn 服務器有該域名的解析信息,則直接返回信息給本地DNS 服務器,本地DNS 服務器再將解析信息返回給客戶機;如果.com.cn DNS 服務器沒有該域名的解析信息,則管轄.com.cn 解析業(yè)務的DNS 服務器告知.example.com.cn 的DNS 服務器的IP 地址;
8、本地DNS 服務器向管轄.example.com.cn 的DNS 服務器詢問www. example.com.cn IP 地址;
9、管轄.example.com.cn 的DNS 服務器告知www.exmaple.com.cn 的DNS 服務器的IP 地址;
10、本地DNS 服務器解析出www.exmaple.com.cn 的IP 地址,并傳回給客戶機。
Linux 下的DNS 服務器分為以下幾種:
1、 緩存域名服務器
主要功能是提供域名解析的緩存。
2、 主域名服務器
是特定域所有信息的權威性信息源,對于某個指定域,主域名服務器是唯一存在的;主域名服務器中保存了指定域的區(qū)域文件。
3、 從域名服務器
從主域服務器中獲取相應的文件進行保存。
四、搭建Linux 下的DNS 多域解析服務器
1、首先使用下列命令來查看bind 軟件包是否已經安裝,如果安裝可以直接進行配置,如果沒有則進行安裝:
[root@localhost ~]# rpm -qa | grep bind
bind-chroot-9.3.6-4.P1.el5
kdebindings-3.5.4-6.el5
bind-libs-9.3.6-4.P1.el5
ypbind-1.19-12.el5
bind-9.3.6-4.P1.el5
system-config-bind-4.0.3-4.el5
bind-utils-9.3.6-4.P1.el5
其中軟件包bind-chroot 是為了系統(tǒng)的安裝而裝的,它可以使原本存放DNS 配置文件的位置改變。如未安裝這個包之前DNS 的配置文件存放在/etc/named.conf下面,安裝了這個包后,DNS 的配置文件就改存在/var/named/chroot/etc/named.conf里了。
[root@localhost ~]# mount /dev/cdrom /media
為了以后的安裝包方便下面說一下簡單的本地yum 的配置,以后就不用使用rpm 命令裝軟件包了!!下面修改一下yum 的配置文件,然后就可以使用yum 命令來安裝軟件包了!!
[root@localhost etc]# cd yum
yum/ yum.conf yum.repos.d/
[root@localhost etc]# cd yum.repos.d/
[root@localhost yum.repos.d]# ls
rhel-debuginfo.repo
[root@localhost yum.repos.d]# vi rhel-debuginfo.repo
把配置文件中baseurl 的路徑和enabled 的值改成如下:
baseurl=file:///media/Server
enabled=1
修改了這兩處后保存退出就OK 了,其中第一個選項是指定你把你的系統(tǒng)光盤掛載的位置。 修改好以上兩處選項后就可以使用yum 命令來安裝軟件包了,當然你也可以使用rpm 命令來安裝(如果你不嫌被依賴關系搞崩潰的話)。千萬要記住用yum 命令安裝軟件包之前首先得掛載光盤(mount /dev/cdrom /media)。
DNS 的配置選項
DNS 服務器程序安裝到系統(tǒng)后,還需要對它的配置文件進行修改,添加需要在本地DNS 服務器解析的域名,才能使DNS 服務器進行正常工作。
在配置DNS 時,需要對多個配置文件進行修改,在修改之前我們先來看一下這些配置文件各自的作用:
,(1)/var/named/chroot/etc/name.conf:DNS服務器的主配置文件,在這個文件中可以設置通用參數,但在該文件中并不具體設置解析信息,而只是設置指向每個域名和IP 地址映射信息的文件。
(2)/var/named/chroot/var/named/named.ca:這個文件是根域DNS 服務器指向的文件,通過該文件可以指向根域DNS 服務器。用戶一般不要修改這個文件。此文件可以到到網上去下載,然后下載下來把名字重命名為named.ca 并復制到/var/named/chroot/var/named/里。
(3)/var/named/chroot/var/named/localost.zone:用于將名字localhost 轉換為本地回送IP 地址(127.0.0.1)。
(4) named.rfc1912.zones 用戶配置的域名解析文件:也稱為區(qū)文件,若當前DNS 服務器需要解析多個域名,則需要設置多個域名解析文件。若需要反向解析,還要設置對應的反向解析文件。
3、修改主配置文件
[root@localhost ~]# cd /var/named/chroot/etc/
[root@localhost etc]# cp –p named.caching-nameserver.conf named.conf
備注:cp 參數-p 除復制源文件的內容外,還將把其修改時間和訪問權限也復制到新文件中。這里大多數配置文件的屬主是root ,組為named ,如果只是cp ,啟動named 服務時會報錯。
[root@localhost etc]# vi named.conf
// named.caching-nameserver.conf
//
// Provided by Red Hat caching-nameserver package to configure the
// ISC BIND named(8) DNS server as a caching only nameserver
// (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files. //
// DO NOT EDIT THIS FILE - use system-config-bind or an editor
// to create named.conf - edits to this file will be lost on
// caching-nameserver package upgrade.
//
options {
listen-on port 53 { any ; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
// Those options should be used carefully because they disable port // randomization
// query-source port 53;
// query-source-v6 port 53;
allow-query { any ; };
,allow-query-cache { any ; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { any; };
match-destinations { any; };
recursion yes;
include "/etc/named.rfc1912.zones";
};
[root@localhost etc]# vi named.rfc1912.zones
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
//
// See /usr/share/doc/bind*/sample/ for example named configuration files. //
zone "." IN {
type hint;
file "named.ca";
}; # 根DNS 服務器配置文件;
zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};# 模板1;
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
,allow-update { none; };
};# 模板2;
zone "Lee.net" IN { //區(qū)域配置選項,指定區(qū)域配置的類型和區(qū)域配置文件名 type master;
file "Lee.net.zone";
allow-update { none; };
};
//如果需要添加別的域,則需要繼續(xù)添加區(qū)域文件,例如:添加liwei.net 這個域 zone "Lee.net" IN {
type master;
file "liwei.net.zone";
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "1.168.192.in-addr.local";
allow-update { none; };
};
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.ip6.local";
allow-update { none; };
};
zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};
備注:藍色字體是添加、修改過的;
3、Zone 配置文件
[root@localhost ~]# cd /var/named/chroot
[root@localhost chroot]# ls
dev etc proc var
[root@localhost chroot]# cd var
,[root@localhost var]# ls
log named run tmp
[root@localhost var]# cd named
[root@localhost named]# cp –p localdomain.zone Lee.net.zone
[root@localhost named]#cp –p named.local 1.168.192.in-addr.local
[root@localhost named]#vi Lee.net.zone
$TTL 86400
@ IN SOA localhost root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS Lee.net.
www IN A 192.168.1.2
Lee.net. 表示DNS 服務器,后面的點不能少
42 serial表示更新序列號,用于告知從域名服務器
3H refresh表示三小時刷新一次
15M retry表示每15分鐘重試一次
1W expiry表示尋找DNS 服務器時間最長為一周
1D minimum表示最短時間為一天
IN NS表示域名服務器記錄,用于設置DNS 服務器名稱
IN A表示A 記錄,用于設置主機名對應IP 地址的對應記錄
IN CNAME為別名記錄,用于在區(qū)域文件中對主機名稱設置別名
IN MX為郵件服務器記錄,用于提供郵件服務器名稱
[root@localhost named]#vi 1.168.192.in-addr.local
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS Lee.net.
2 IN PTR www.Lee.net .
反解記錄和正解記錄不同的地方就是ptr 參數,ptr 是Pointer 的縮寫,格式為:
IP 地址 IN PTR 主機名
,因為這個反解記錄對應的IP 段為192.168.1.0,所以IP 地址部分,2就表示192.168.1.2. 最后主機名仍然是完全主機域名(FQDN ),所以最后還是需要加上“. ”。
備注:DNS 服務器Ip 為:192.168.1.1
4、測試
至此,DNS 搭建結束。