国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

WEB SERVER如何支持CGI/PHP/Perl ___ 程序的核心內容(2)

2024-05-04 23:06:07
字體:
來源:轉載
供稿:網友
注冊會員,創建你的web開發資料庫,dns服務器既可以是主控服務器也可以是輔助服務器。主控服務器也稱為主服務器,是判定域名的最終來源。主控服務器同時也是傳送到輔助服務器的區傳送(zone transfer)的源頭。輔助服務器接收所有來自主控服務器的區信息。一個常見的錯誤是試圖改變二級服務器上的區數據庫文件而沒有改變主控服務器上的區數據庫文件(zone file)。為什么要兩個服務器呢?在任何配置中使用冗余都是一個好主意,這是bind和dns的一個原生部分。幸運的是,在機房中增加第二臺linux機器作為輔助dns服務器一般來說不會影響你的預算。

要記住當有兩種類型的服務器時,主控服務器也可以同時擔當其他域的輔助服務器。在大多數isp環境當中都可以看到這種情形,客戶擁有自己的主控dns服務器,同時又出于備份的目的把isp當作二級服務器。這種類型的配置以及bind中幾乎所有的其他配置項都是通過named.conf文件完成的。這個文件以純文本的形式存放各服務器信息和區信息。如表a所示。


named.conf 文件示例

options {
notify-source 10.0.0.2,
pid-file "/var/run/named.pid",
},

zone "." {
type master,
file "root.db",
},

zone "example.com" {
type master,
file "/var/named/sample.com.zone",
},

dns服務器有多種可用的選項,如果你需要某種特殊的安裝方式,我建議你通讀一遍附帶的文檔

。上面的例子中notify-source指明服務器把區變動通知(notify)消息發送到什么地方,當主控服務器檢測到區數據庫文件發生變動時就會向輔助服務器發出這樣的消息。pid-file選項只是告訴守護進程(daemon)服務器寫入id信息的路徑,通常是/var/run/named.pid,但如果你重新設置了目錄的布局的話也可以根據需要對其進行更改。

上面的例子中第一個區登記項用來通知bind在何處定位根服務器的信息。服務器發送和接收的不僅是你自己的域信息同時也包括internet上所有的域信息。并不是每個服務器上都有每個域名的登記項,但每個服務器都知道怎樣獲取信息。當然,由于列表會定期更新,所以也應當定期作記錄。

在named.conf示例文件中第二個區登記項是一個"主控"域項,意思是這個dns服務器保存著example.com的有效信息, internet上其他所有的dns服務器都將用它來參照任何與這個域相關的信息。example.com項引用/var/named/sample.com.zone這個文件。這是一個純文本文件,它告訴dns服務器所有有關example.com的信息,包括serial值、刷新率、所有的dns紀錄以及其他一些項目。表b顯示了這個區數據庫文件的示例。


dns區數據庫文件示例

@ in soa ns1.sample.com. (
200101111 ,serial
14400 ,refresh after 4 hours
3600 ,retry after 1 hour
604800 ,expire after 1 week
86400) ,minimum ttl of 1 day
,
,nameservers
,
in ns ns1.sample.com. ,
in ns ns2.sample.com. ,
,
,domain mail handlers
,
sample.com. in mx 10 mail
,
,hosts in order
,
www in a 212.204.219.71
ftp in a 212.204.219.71
mail in a 212.204.219.71
pop in cname mail

soa是start of authority的縮寫,所有區文件都要以它打頭

。順序號(serial)使服務器能夠紀錄所進行過的各次更新,守護進程最近一次啟動后只要數字出現了增長,它就會重新把信息讀入到數據庫中去。舉例來說,你可以從0開始然在每次更新之后加讓一個數字,也可以使用日期項如200101111。這很有用,因為它讓你能夠看最近的一次更新的發生并且看出一天是否發生過多次更新。接下來的四行以秒的形式處理刷新和超時周期,如果bind數據庫沒有發生過人工或者服務器范圍的刷新,服務器會自動的重新讀入信息。不需要經常改變此處所列出的數值,只有由于某種原因域非常頻繁地改變它們的信息時才需要對這些數值進行更改。接著列出的是域名,這樣bind就會知道是誰控制整個域。

接著列出的是mx紀錄,,它使服務器知道當有郵件信息請求sample.com時應當發出什么信息,在本例中,mail.samle.com的優先級是10。你可以列出多個mx紀錄作為郵件服務器的備份。數字越小優先級越高。要注意的是還有一個相應的a紀錄給出了mail.sample.com的ip地址,這是必不可少的,這樣dns服務器就可以知道怎樣根據域直接把郵件請求發往何處。一個a紀錄僅僅是把ip地址賦給一個子域項,如www、mail、ftp或者ns,這些都必須用上面的格式錄入,而且必須與一個ip地址相關聯。比如說,當某個用戶請求www.sample.com時,他將會被指向該域所在的web服務器的ip地址212.104.219.71。

上面的例子中還有一個cname項,cname是指canonical name,用于指定ip地址的別名,使用這些別名時還是要回過頭參考已經使用過的a紀錄。

輔助服務器部分

看過name.conf中的主控服務器部分后我們再來看看輔助服務器部分: zone "sample2.com" {
type slave,
file "/var/named/sample2.com.zone",
master { 10.0.0.1, },

最主要的兩個區別一是type項,它既可以是master也可以使slave,二是ip地址指定的是主控dns服務器

。其他的都和master項相同。

啟動bind
用于啟動dns服務的程序是named,讀作"name d"。你可以通過執行/etc/rc.d/init.d/named start命令來運行這個程序。如果服務器已經處于運行狀態,你可以用restart命令。這個腳本程序應該是在安裝時放進正確的目錄中的,它在啟動時運行以初始化服務器。你總是應當用ps aux命令檢查一下named是否已經運行,這個命令會列出當前所有進程的清單。

總結
現在你對如何在linux上使用bind有了一個比較好的了解。通過下載最新的版本,對它進行基本的配置后你就可以把一個red hat linux的機器變成一個成熟的dns服務器。有關dns和bind的主題很容易塞滿整本書。我建議你使用程序附帶的文檔,以及oreilly出版的《dns和bind》一書(譯注:中文版由水利出版社出版)。域名解析是internet能夠工作所必備的,也是linux一個出色的用途。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金沙县| 肇东市| 津南区| 宜城市| 荔浦县| 仙居县| 北安市| 长宁区| 富源县| 抚顺县| 屏南县| 左云县| 大理市| 呈贡县| 资阳市| 宜良县| 德阳市| 伊春市| 莲花县| 乌鲁木齐县| 西乌珠穆沁旗| 襄汾县| 盘山县| 西乌| 文水县| 武乡县| 民丰县| 普安县| 增城市| 平度市| 天柱县| 承德市| 长丰县| 曲水县| 海淀区| 扶余县| 黎川县| 十堰市| 府谷县| 墨脱县| 辽源市|