久久精品国产99国产精品,农村大炕弄老女人,人马配速90分钟,香蕉成人伊视频在线观看

bind服務器配置

DNS 簡介在Linux 中,域名服務(DNS )是由柏克萊網間名域(Berkeley Internet Name Domain——BIND )軟件實現的。BIND 是一個客戶/服務系統,它的客戶方面

DNS 簡介

在Linux 中,域名服務(DNS )是由柏克萊網間名域(Berkeley Internet Name Domain——BIND )軟件實現的。BIND 是一個客戶/服務系統,它的客戶方面稱為轉換程序(resolver ),它產生域名信息的查詢,將這類信息發送給服務器,DNS 軟件回答轉換程序的查詢。BIND 的服務方面是一個稱為named (讀作“name ”“d ”)的守護進程。 我們將討論三種基本BIND 配置任務:

配置BIND 轉換程序。

配置BIND 域名服務。

建立服務器數據庫文件,稱為“區文件(zone file)。

前面我們介紹過,術語“區(zone )”往往可以與單詞“域(domain )”互換使用,但這里卻有一些區別,“區”是指域數據庫文件,而“域”則比較通用。在本書中,域是用域名定義的域結構中的一部分,而區則是域數據庫文件中包含域信息的集合,包含域信息的文件稱為“區文件”。

DNS的作用是把IP 地址轉化為代表主機、網絡和郵件別名的助記名。它把整個Internet IP地址和名字空間分解為不同的邏輯組來做這項工作。每個組對它所擁有的計算機和其他信息具有控制權。

DNS 服務器的類型

BIND可以配置成以幾種不同的方法運行的DNS ,常見的BIND 配置是唯轉換程序系統、唯高速緩存系統、主服務器和輔助服務器。

轉換程序是一段要求域名服務器提供域信息的程序,在Linux 系統中,它是作為一個庫程序來實現的,不是一個單獨的客戶程序。在唯轉換程序系統中,僅使用轉換程序,并不運行域名服務器。這種系統是很容易配置的,最多只需要設置/etc/resolv.conf文件。其它三個BIND 配置選項都是用于named 服務軟件的。

唯高速緩存服務器 唯高速緩存服務器(caching-only server) 可運行域名服務器軟件但是沒有域名數據庫軟件。它從某個遠程服務器取得每次域名服務器查詢的回答,一旦取得一個答案,就將它放在高速緩存中,以后查詢相同 的信息時就用它予以回答。所有的域名服務器都按這種方式使用高速緩存中的信息,但唯高速緩存服務器則依賴于這一技術提供所有的域名服務器信息。唯高速緩存 服務器不是權威性服務器,因為它提供的所有信息都是間接信息。

,

對于唯高速緩存服務器只需要配置一個高速緩存文件,但最常見的配置還包括一個回送文件,這或許是最常見的域名服務器配置。接著才是唯轉換程序配置,它是最容易配置的。

主服務器 主服務器(primary name server)是特定域所有信息的權威性信息源。它從域管理員構造的本地磁盤文件中加載域信息,該文件(區文件)包含著該服務器具有管理權的一部分域結構的最精確信息。主服務器是一種權威性服務器,因為它以絕對的權威去回答對它域的任何查詢。

配置主服務器需要一整套配置文件,包括正規域的區文件(named.hosts )和反向域的區文件(named.rev )、引導文件(named.conf )、高速緩存(named.ca )和回送文件(named.local ),其它的配置都不需要這樣一整套文件。

輔助域名服務器 輔助域名服務器(secondary name server)可從主服務器中轉移一整套域信息。區文件是從主服務器中轉移出來的,并作為本地磁盤文件存儲在輔助服務器中。這種轉移稱為“區文件轉移”。在輔助域名服務器中有一個所有域信息的完整拷貝,可以有權威地回答對該域的查詢,因此,輔助域名服務器也稱作權威性服務器。

配置輔助域名服務器不需要生成本地區文件,因為可以從主服務器中下載該區文件。然而其它的文件是確是需要的,包括引導文件、高速緩存文件和回送文件。

一個域名服務器可以是這類配置中的任何一種,但經常是將多種配置類型的元素組合在一起。然而所有的系統都要運行轉換程序。

DNS 常用術語

DNS是一個很復雜的概念,表1列出了常用的DNS 術語。

表1 常用DNS 術語

在概念上可以把DNS 分為三個部分:

,

域名空間 這是標識一組主機并提供他們的有關信息的樹結構的詳細說明。樹上的每一個節點都有它控制下的主機的有關信息的數據庫。查詢命令試圖從這個數據庫中提取適當的信息。簡單地說,這只是所有不同類型信息的列表,這些信息是域名、IP 地址、郵件別名和那些在DNS 系統中能查到的內容。

域名服務器 它 們是保持并維護域名空間中的數據的程序。每個域名服務器含有一個域名空間子集的完整信息,并保存其它有關部分的信息。一個域名服務器擁有它控制范圍的完整 信息。控制的信息按區進行劃分,區可以分布在不同的域名服務器上,以便為每個區提供服務。每個域名服務器都知道每個負責其他區的域名服務器。如果來了一個 請求,它請求給定域名服務器負責的那個區的信息,那么這個域名服務器只是簡單地返回信息。但是,如果請求是不同區的信息,那么這個域名服務器就要與控制該 區的相映服務器聯系。

解析器 解析器是簡單的程序或子程序庫,它從服務器中提取信息以響應對域名空間中主機的查詢。

配置轉換程序

使用DNS 的第一步是在用戶的計算機上配置轉換程序,即讓機器能夠能夠從DNS 服務器中獲取域名解析/反解析服務。轉換程序不是一個單獨而明確的處理進程,而是網絡進程調用的一個標準C 程序庫。如果本地系統不運行named ,就必須配置本地轉換程序。 轉換程序控制文件/etc/host.conf

/etc/host.conf是用來控制本地轉換程序的文件的設置。該文件告訴轉換程序使用哪些服務、按照什么順序進行。該文件的字段可以用空格或制表符分隔。字符“#”表示注釋行。表2是可在host.conf 中指定的選項。

表2 /etc/host.conf文件的配置選項

,

下面這個例子是主機vlager 上的/etc/host.conf文件:

# /etc/host.conf

# We have named running, but no NIS (yet)

order bind hosts

# Allow multiple addrs

multi on

# Guard against spoof attempts

nospoof on

# Trim local domain (not really necessary).

trim vbrew.com.

這個例子給出了域vbrew.com 的通用解析程序配置。該解析程序首先使用DNS 然后使用/etc/hosts文件查找主機名。在解析查找中指定本地/etc/hosts文件是一個好主意。如果由于某種原因不能使用域名服務器了,我們還可以使用主機文件中列出的那些主機名。該機器上允許使用多個IP 地址,主機通過重新解析主機名字(從IP 地址逆向查找返回的主機名字)來檢查IP 欺騙。

轉換程序/配置文件/etc/resolv.conf

當配置轉換程序使用BIND 域名服務查詢主機時,我們必須告訴轉換程序使用哪一個域名服務器。用來完成這項任務的工具就是/etc/resolv.conf文件。/etc/resolv.conf控制轉換程序使用DNS 解析主機名使用的方式,它可以明確地定義系統的配置,允許我們命名由于缺省服務器不響應而使用的備份服務器。因此,盡管會增加系統負荷,但在某些場合使用resolv.conf 是很受歡迎的。

/etc/resolv.conf是一個簡單而易讀的文件。在/etc/resov.conf中使用的命令,具有系統專用的形式,但一般都支持domain 和nameserver 兩項命令。

,

nameserver 項利用IP 地址去識別讓轉換程序去識別查詢域信息的那些服務器。我們可以多次使用nameserver 選項,可以使用多達三個域名服務器。這些名服務器是按照它們在文件中的順序進行查詢的,如果沒有接收到一個服務器的響應,就去試表中的下一個服務器,直到所有服務器試完為止(如果在/etc/resolv.conf文件中設置了三個以上的域名服務器,那么,即使前三個服務器都沒有響應查詢請求,Linux 也不會去請求后面的服務器)。我們應該將最可靠的域名服務器列在最前面,以便在查詢時不會超時。如果resolv.conf 文件中不包含nameserver 項,或者不存在resolv.conf 文件,就將所有名服務器查詢發送給本地主機。然而,如果有一個resolv.conf 文件,它包含nameserver 項,除非有一項指向本地主機,否則就不查詢本地主機。在配置唯轉換程序的主機中,resolv.conf 文件包含nameserver 項,但沒有一個項指向本地主機。

domain 項用來定義缺省域名(主機的本地域名)。轉換程序會將缺省域名掛在任何不含點的主機名后面。例如,轉換程序接收到主機名vale (它不含點),就將其缺省域名掛接在vale 后面,構成對它的查詢。如果domian 域中的name 值是vbrew.com ,那么轉換程序就將查詢vale.vbrew.com 。如果沒有出它,則轉換程序就試圖通過getdomainname()系統調用來獲得本地域名。

如果聽起來讓人迷惑不解的話,我們可以看看下面這個例子,這是Virtual Brewery中的resolv.conf 文件:

# /etc/resolv.conf

# Our domain

domain vbrew.com

#

# We use vlager as central nameserver:

nameserver 191.72.1.1

在該例中,通過domain 指定缺省域名,并列出一個用于解析主機名的域名服務器。在這個例子中沒有指定查尋順序(使用search 選項),因此如果要查詢一臺機器的地址(如vale ),解析器則首先試圖查找vale ,如果沒找到,則查找vale.vbrew.com ,然后再查找vbrew.com 。

唯轉換程序配置

配置唯轉換程序是非常簡單的,下面是一個唯轉換程序的/etc/resolv.conf文件的例子:

# /etc/resolv.conf

,

# Our domain

domain vbrew.com

#

# We use vlager as central nameserver:

nameserver 191.72.1.1

# netx try vale

namesever 191.72.1.3

該配置文件告訴轉換程序將所有的查詢發送給主域名服務器vlager ,如果失敗,就試vale 。這些查詢是永遠不能在本地轉換的。這一個簡單的resolv.conf 文件就可以滿足唯轉換程序配置的全部要求。

設置域名服務器

在Linux 上的域名服務是由named 守護進程來執行的,named 最早是為BSD 向客戶機提供域名服務而開發的。named 守護進程通常在系統啟動時開始工作,并一直工作到系統關閉。該進程從被稱作/etc/named.boot的配置文件中獲取有關信息和將主機名映射為IP 地址的各種文件。

為了運行named ,只要在命令行中輸入:

# /etc/rc.d/init.d/named start

named就會開始運行,讀取named.boot 文件及其定義的任何區文件并將它的進程ID 以ASCII 碼的形式寫入/var/run/named.pid中,下載任何來自主服務器的區文件,如果有必要的話在端口53等待DNS 請求。

雖然轉換程序的配置只需要一個配置文件, 但是在配置named 時卻要使用多個文件, 一整套named 配置文件如表3所示。

表3 named配置文件

,

在下面各節中我們將探討如何利用其中的每一個文件去配置named 。

/etc/named.conf文件

named.conf文件通常很小,只包括一些指向DNS 信息源的信息。其中某些源是本地文件,其他則是遠程服務器。下面我們將看到一個需要生成的每種文件類型的例子。 表4概括了named.conf 文件中使用的各種配置語句,它提供的信息能幫助我們了解這一些例子:

表4 named.boot文件的配置選項

配置named.conf 文件所使用的方法,是用來控制將域名服務器作為主服務器、輔助服務器還是唯高速緩存服務器的。理解不同配置的最佳方法是討論各種named.conf 的示例文件。

1. 唯高速緩存服務器

配置唯高速緩存域名服務器是很簡單的。必須有named.conf 和named.ca 文件,通常也要用到named.local 文件。下面是用于唯高速緩存服務器的named.conf 文件的例子,其中以“//”開頭的是注釋:

// generated by named-bootconf.pl

options {

directory "/var/named";

/*

* If there is a firewall between you and nameservers you want

,

* to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default.

*/

// query-source address * port 53;

};

//

// a caching only nameserver config

//

//

// a caching only nameserver config

//

zone "." {

type hint;

file "named.ca";

};

zone "0.0.127.in-addr.arpa" {

type master;

file "named.local";

,

directory這一行告訴named 到哪里去找尋文件。所有其后命名的文件都將是相對于此目錄的。該文件告訴named 去維持一個域名服務器響應的高速緩存,并利用named.ca 文件的內容去初始化該高速緩存。該高速緩存初始化文件的名字可以是任何名字,但一般使用/var/named/named.ca。并不是在該文件中使用一個hint 語句就能使它成為唯高速緩存配置,幾乎每一種服務器的配置都要用到cache 語句,而是因為沒有master 和slave 語句才使它成為一個唯高速緩存配置。

但是,在我們這個例子中卻有一個master 語句。事實上,幾乎在每一個唯高速緩存的配置文件中都有這一個語句,它將本地服務器定義為它自己的回送域的主服務器,并假定該域的信息存儲在named.local 文件中。這個回送域是一個in-addr.arpa 域(in-addr.arpa 域用于指定逆向解析,或IP 地址到DNS 名字解析),它將地址127.0.0.1映射為名字localhost 。轉換自己的回送地址對于大多數人都是有意義的,因為大多數的named.conf 文件都包含這一項。

在大多數唯高速緩存服務器的配置文件中,這種directory 、master 和hint 語句是唯一使用的語句,但也可以增加其他的語句,forwarders 和slave 等語句都可以使用。

2. 主服務器和輔助服務器的配置

我們虛構的vbrew.com 是舉例說明主服務器和輔助服務器的基礎,下面是將vlager 定義為vbrew.com 域的主服務器的named.conf 文件:

// generated by named-bootconf.pl

options {

directory "/var/named";

/*

* If there is a firewall between you and nameservers you want

* to talk to, you might need to uncomment the query-source

* directive below. Previous versions of BIND always asked

* questions using port 53, but BIND 8.1 uses an unprivileged

* port by default.

*/

,

// query-source address * port 53;

};

//

// a caching only nameserver config //

zone "." {

type hint;

file "named.ca";

};

zone "vbrew.com"{

type master;

file "named.hosts";

};

zone "0.0.127.in-addr.arpa" {

type master;

file "named.local";

};

zone "72.191.in-addr.arpa"{

type master;

file "named.rev";

標簽:
主站蜘蛛池模板: 蒲城县| 全南县| 万载县| 平湖市| 宁陵县| 花莲市| 万载县| 荥经县| 长子县| 彰化市| 福泉市| 苗栗县| 栖霞市| 从化市| 新和县| 龙州县| 扎兰屯市| 怀安县| 河北省| 新巴尔虎右旗| 福建省| 乌兰察布市| 湾仔区| 宝兴县| 大港区| 通榆县| 南京市| 茌平县| 重庆市| 屯留县| 彭州市| 杭州市| 泽库县| 邵阳市| 松滋市| 徐汇区| 乳山市| 东山县| 堆龙德庆县| 兴义市| 茶陵县|