欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

第三章 在Debian上用Exim配置郵件服務(wù)器

本站整理   發(fā)布時間:2009-03-10 11:16:52   作者:jb51.net   我要評論
本文是在《通過exim建立家庭網(wǎng)絡(luò)的郵件系統(tǒng)》一文的基礎(chǔ)上修改的

本章目錄
0 聲明
1 簡介
2 安裝
3 配置
4 小測試
5 修改 From: 的地址
6 配置Fetchmail
7 修改exim的投遞限制
8 綜合測試
9 TODO
10 結(jié)束語
11 參考文獻(xiàn)
0 聲明
  本文是在《通過exim建立家庭網(wǎng)絡(luò)的郵件系統(tǒng)》一文的基礎(chǔ)上修改的,作者:Jan
W. Stumpel, Oegstgeest, The Netherlands。
  這篇章的地址是:http://211.167.66.225/~yzhao/lg-zh/lg-zh-issue8/stumpel.html
1 簡介
  我想現(xiàn)在一個再普通的單位,也會需要用到電子郵件。我所在的企業(yè),已經(jīng)到了無法離開email的地步——每當(dāng)郵件服務(wù)器出現(xiàn)問題,我的電話都會被打爆。在M$平臺上,郵件服務(wù)器市場基本上被兩個軟件占領(lǐng):M$的Exchange和Lotus的Domino/Notes。這些軟件所花費(fèi)的費(fèi)用,實在不小。而Unix平臺上,我們有很多選擇,而且都是免費(fèi)的。
  在Debian里面,我們不用Sendmail,也不用Qmail和Postfix,而是用Exim,這是Debian的缺省郵件服務(wù)器,連基本系統(tǒng)都附帶了這個軟件。理由我就不說了,反正,Debian推薦的,不會錯。
1.1 我們將實現(xiàn)的功能
  ◆
局域網(wǎng)中的用戶可以實現(xiàn)本地郵件的發(fā)送和轉(zhuǎn)發(fā)。
  ◆ 發(fā)往局域網(wǎng)以外的郵件有正確From:<郵件地址>,以使外部的郵件能夠正確的回復(fù)。
  ◆
電子郵件賬號是所有本地子網(wǎng)用戶所共享,但是要實現(xiàn)每個用戶僅僅能夠收到自己的郵件。
  ◆ exim作為郵件的收發(fā)代理(它比sendmail好配置的多)。
  ◆ mail作為linux端的郵件客戶程序。
  ◆ Microsoft Outlook Express 作為Win2000端的郵件客戶程序(同樣你也可以使用其它的類似工具,比如Foxmail)。
  ◆ qpopper 作為POP3服務(wù)器, 用來把郵件從Linux系統(tǒng)中轉(zhuǎn)移到Win2000機(jī)器上。
  ◆ fetchmail 用來從互聯(lián)網(wǎng)上收取郵件。
  我在兩臺機(jī)器上(分別安裝Linux和Win2000系統(tǒng))做的測試,當(dāng)然,win9x/NT/XP都可以,而且兩臺機(jī)器都是Linux的話也當(dāng)然可以。這個方案,應(yīng)付一個中小型的辦公室應(yīng)該綽綽有余。
1.2 網(wǎng)絡(luò)和命名
  在這篇文章中我假定以下的名字(您實際應(yīng)用時應(yīng)該做寫修改,以適應(yīng)您的實際情況):
  ◆ 擁有者和系統(tǒng)管理員的名稱 kanaka Leng。
  ◆ Linux機(jī)器名為 Debian。
  ◆ Win2000 機(jī)器名為 Notepad。 通常使用者為 ganghua Leng。
  ◆ kanaka 在 Debian 機(jī)器上的注冊用戶名為 kanaka。
  ◆ ganghua 在 Debian 機(jī)器上的注冊用戶名為 ganghua。
  ◆ ganghua 在 Notepad 機(jī)器上的注冊用戶名也為 ganghua。
她的在linux下的Debian機(jī)器和 Win2000上的口令也相同。
  ◆
我們公司的局域網(wǎng)通過寬帶連接互聯(lián)網(wǎng),當(dāng)然你通過普通撥號也可以。
  ◆ kanaka 和 ganghua 都使用電子郵件地址:kanaka@yeah.net。
  ◆ kanaka到POP3收信的口令為kanakapswd。
  ◆ ISP的發(fā)送郵件的郵件服務(wù)器為smtp.yeah.net。
  ◆ ISP的接受郵件的郵件服務(wù)器為pop3.yeah.net。
  機(jī)器Debian和Notepad都屬于一個域,域名為test.com。
這個域名是我們內(nèi)部搞測試用的,我們并沒有注冊這個域名,
因而對于外部網(wǎng)絡(luò)來說, 并不能直接識別這個域名。
  此外,我還假設(shè)內(nèi)部網(wǎng)絡(luò)已經(jīng)正常工作,
并且已經(jīng)擁有使用daild實現(xiàn)的非永久撥號連接,或者寬帶網(wǎng)連接。
在Debian機(jī)器上也沒有安裝DNS服務(wù)。/etc/resolv.conf中只是加入了ISP提供的兩個DNS服務(wù)器的地址。同樣的設(shè)置也要加在Notepad機(jī)器上的TCP/IP設(shè)置中。
1.3 郵件地址
在"To:"和"From:"中指定郵件地址是一封郵件的基本組成部分,
此外還有更多的內(nèi)容。 舉例來說:
To: ganghua Leng <kanaka@yeah.net>
'ganghua Leng'是一個"real-name part"(真實姓名部分)。
這是通過撰寫電子郵件的程序加上的。
這個部分就是將郵件發(fā)送給ganghua本人的依據(jù)。 注意:如果在real-name
part中有句點存在, 郵件地址必須用"符號包圍起來(例如:"kanaka
C.Leng")。 您可以用man mailaddr參考一下相關(guān)的幫助頁。
2 安裝
  由于我們已經(jīng)安裝了Debian基本系統(tǒng),而Debian基本系統(tǒng)里面含有exim和mail這兩個軟件,所以我們只需要安裝這兩個:fetchmail、fetchmailconf和qpopper。
#
apt-get install fetchmail fetchmailconf qpopper
  其中,fetchmailconf是用來配置fetchmail的工具。
  系統(tǒng)會有一些問題提問你。當(dāng)問你是否以root身份運(yùn)行system-wide
fetchmail時,答Yes。其他的都選默認(rèn)值。
3 配置
3.1 配置Debian的hosts
  Debian機(jī)器上的/etc/hosts文件內(nèi)容如下:
127.0.0.1 localhost
192.168.1.1 Debian.test.com Debian
192.168.1.2 Notepad.test.com Notepad
3.2 配置exim
  在Debian下,這一切都是由eximconfig程序來完成的。
#
eximconfig
  程序?qū)柕揭恍﹩栴},你可以參考下面的回答:
  ◆ 你的系統(tǒng)是一個Internet主機(jī)(選擇1,雖然你在局域網(wǎng)。這樣你可以發(fā)郵件到互聯(lián)網(wǎng))。
  ◆ “顯示的郵件域名”為test.com。
  ◆ 系統(tǒng)有其他的名稱嗎?你可以回答 Debian:localhost。
  ◆ 你不想轉(zhuǎn)發(fā)任何非本地域的郵件。保持none,按回車。
  ◆ 你想轉(zhuǎn)發(fā)的本地域地址為192.168.1.0/16。
  ◆ 處理向外轉(zhuǎn)發(fā)的郵件的smarthost 地址為 smtp.yeah.net。
  ◆ 系統(tǒng)管理員的郵件為kanaka(非root)。
3.3 配置Win2000
3.3.1 hosts
  在Notepad機(jī)器上的c:\winnt\system32\drivers\etc\hosts文件中的內(nèi)容跟Debian機(jī)器中的/etc/hosts文件的內(nèi)容一樣。
127.0.0.1 localhost
192.168.1.1 Debian.test.com Debian
192.168.1.2 Notepad.test.com Notepad
3.3.2 郵件客戶端
  在Microsoft Outlook Express(或者你在Win2000使用的其他此類的郵件客戶程序)。
必須都將Debian輸入作為SMTP 郵件服務(wù)器和POP3服務(wù)器。 在“POP3賬號名”和“POP3口令”輸入框,#p#分頁標(biāo)題#e#
輸入用戶名ganghua和她在linux下的口令。 輸入姓名為ganghua Leng;
電子郵件地址為 ganghua@test.com。
注意電子郵件地址必須以本地域做后面的地址。
4 小測試
  通過上述的設(shè)置,本地的用戶之間應(yīng)該已經(jīng)可以實現(xiàn)相互的發(fā)送和回復(fù)信件了。在Outlook
Express里面的測試我就不說了,我來說一下在Debian上面用mail來做測試。
#
mail kanaka
Subject:
This is my First test-mail!
Hi,kanaka,
This is the first time that I send a mail by exim.
.
Cc: kanaka@yeah.net
#
  上面我們給本地的kanaka發(fā)了一封郵件,并抄送給了互聯(lián)網(wǎng)上的kanaka@yeah.net。注意,要結(jié)束一封信的內(nèi)容,在新的一行輸入“.”就可以了。我在Win2000上用Outlook
Express就可以收到發(fā)給kanaka的信;而發(fā)給kanaka@yeah.net的信,我到freemail.yeah.net站點上去,也收到了。
  現(xiàn)在test.com已經(jīng)真正成為了一個具有郵件轉(zhuǎn)發(fā)功能的本地域,而且可以發(fā)送郵件到互聯(lián)網(wǎng)上的kanaka@yeah.net。但是,一個格式為From:kanaka@test.com的地址顯然是無法被外部用戶回復(fù)的,
因為對于外部網(wǎng)絡(luò)來說, test.com是一個不存在的(因而不合法)的域名。因此,我們還需要修改From:的地址。
5 修改 From: 的地址
  在往互聯(lián)網(wǎng)上發(fā)送郵件的時候,為了他們可以正確的回復(fù),我們必須把本地的From:地址格式改變成為一個合法的電子郵件地址。
借助于exim的"傳送過濾器", 我們可以實現(xiàn)這一功能。
往外部轉(zhuǎn)發(fā)的郵件經(jīng)過這個傳送過濾器以后, From:
中的地址就會被改變, 而對于本地郵件則沒有什么影響。
  下面的過濾器將實現(xiàn)這個惡作劇式的技巧,
首先我們確定我們要改變的地址永遠(yuǎn)包含在"<>"符號之內(nèi)。
雖然不能完全保證, 但是通常的郵件程序:mail甚至Microsoft
Outlook Express都是生成這種格式的電子郵件地址。
5.1 創(chuàng)建outfit文件
  我們來創(chuàng)建一個文件,/usr/bin/outfit,內(nèi)容如下:
#!/usr/bin/perl
while (<STDIN>) {
if (/^From: /) {
s/<.*>/<'kanaka@yeah.net'>/;
print "$_"; last;
}
print "$_";
}
while (<STDIN>) { print "$_"; }
  把這個文件放到/usr/bin目錄中,命名為outfit,不要忘記把上面的電子郵件地址換成你自己的電子郵件地址!
  然后,通過下面的命令chmod +x /usr/bin/outfit加上可執(zhí)行的權(quán)限。
#
chmod +x /usr/bin/outfit
5.2 修改exim.conf
  打開/etc/exim/exim.conf,找到下面一行:
driver = smtp
  在它的下面加上兩行,就成了:
driver = smtp
headers_remove = "sender"
transport_filter = "/usr/bin/outfilt"
  通過上述對/etc/exim.conf文件的修改,無論何時發(fā)送一封電子郵件到本地域以外時,都可以被exim正確的投遞了。如果你使用的是撥號網(wǎng)絡(luò),那么Exim(通過daild)每發(fā)送一次郵件,就會向外撥一次號。而我們公司的寬帶24小時在線,所以郵件每次都是直接就發(fā)出去了。
6 配置Fetchmail
  我們需要運(yùn)行fetchmailconfig,來在你的主目錄里產(chǎn)生一個叫.fetchmailrc的文件,否則你就不能使用fetchmail。
fetchmial將從互聯(lián)網(wǎng)的郵件服務(wù)器上取回郵件(并轉(zhuǎn)交給exim再做本地投遞)。
#
fetchmailconfig
fetchmialconf must be run
under X
  你看到了吧,它說fetchmialconf這個程序比如在X下面運(yùn)行。唉!我們要把debian做服務(wù)器用,而服務(wù)器根本不需要安裝X的,我們不會為了配置fetchmail再去安裝一個X系統(tǒng)和一個窗口管理器吧!好吧,那么我們就手工寫這個文件吧,其實也很簡單。
  由于我們是要把郵件接收到kanaka在本地的信箱里面,所以應(yīng)該在kanaka的主目錄里面產(chǎn)生這個.fetchmailrc,所以我們切換到kanaka用戶,再進(jìn)行操作:
# su
kanaka
$ cd
$ nano
.fetchmailrc
   然后,輸入以下內(nèi)容,存盤退出即可:
set postmaster "postmaster"
poll pop3.yeah.net with proto POP3 user "kanaka@yeah.net" password "kanakapswd"
  .fetchmailrc文件可以在不同用戶之間相互拷貝,只要把文件的屬主設(shè)置成相關(guān)的用戶即可。不過把用戶的郵件密碼用明碼寫在這個文件中顯然是一種不明智的方式。
或許應(yīng)該有更好的方法,請大家告訴我啊,呵呵。
  然后,使用fetchmail命令來把郵件從互聯(lián)網(wǎng)上拖到本地來:
$
fetchmail
1 message for kanaka@yeah.net at
pop3.yeah.net (1648 octets).
reading message kanaka@yeah.net@pop3.yeah.net:1 of 1 (1648 octets) .
flushed
  然后,你可以在win2000的Outlook Express里面,從本地接收這些郵件。
7 修改exim的投遞限制
  Exim 缺省的一次投遞郵件的最大數(shù)量為100封。
你可以根據(jù)你們單位的實際情況,修改這個值。如果需要取消這個限制,就把它改為0,不過小心受到攻擊:
smtp_accept_queue_per_connection = 0
8 綜合測試
  你可以在Debian上和Win2000上多發(fā)幾封郵件,做一下測試。
9 TODO
  在下一個版本中,我們將描述如何使用.forward文件,實現(xiàn)轉(zhuǎn)發(fā),把信件正確的投遞郵件給某個用戶,而不是一下子都發(fā)給kanaka。
  我們還將描述,如何建立一個webmail系統(tǒng)。
10 結(jié)束語
  本文是《Debian服務(wù)器設(shè)置入門》系列教程之第三章,建議您按照順序閱讀,有問題可以和作者kanaka聯(lián)系。
11 參考文獻(xiàn)
  本文在開頭就聲明,本文是在《通過exim建立家庭網(wǎng)絡(luò)的郵件系統(tǒng)》一文的基礎(chǔ)上修改的,作者:Jan#p#分頁標(biāo)題#e#
W. Stumpel, Oegstgeest, The Netherlands。
  這篇章的地址是:http://211.167.66.225/~yzhao/lg-zh/lg-zh-issue8/stumpel.html
  之所以這樣,是因為,這篇文章對我們來說太珍貴了,除了她,我沒有找到其他關(guān)于exim的資料。
  非常感謝原文作者,以及翻譯者!
《Debian服務(wù)器設(shè)置入門》系列教程之第四章:Samba服務(wù)器
第四章 在Debian上配置Samba服務(wù)器
本章目錄
1 介紹
 
2 背景介紹
3 安裝
4 小測試
5 快速入門
6 配置
7 測試
8 TODO
9 結(jié)束語
10 參考文獻(xiàn)
1 介紹   
  如果某一個單位,他們的桌面計算機(jī)必須使用M$
Windows平臺的話,那么他們很可能不可避免的需要Windows服務(wù)器產(chǎn)品,比如Windows
NT Server或者Windows 2000 Server,甚至Windows 2000 Advanced Server。要知道,要合法的擁有這些服務(wù)器的軟件(按照微軟的所謂許可協(xié)議購買連接數(shù))的話,再加上昂貴的硬件費(fèi)用,可并不是一比小費(fèi)用。如果有一個途徑,可以讓你在普通硬件的基礎(chǔ)上,免費(fèi)實現(xiàn)Windows
NT/2000服務(wù)器的功能,你說,何樂而不為呢?
  ——這就是桑巴,一個免費(fèi)的,強(qiáng)大的,靈活的,輕便的,samba。
2 背景介紹
  如果你不是從第一章開始看我的文章,那么我得介紹一下這些情況:
  我的有一臺安裝了win2000的機(jī)器,叫做notepad,它屬于workgroup這個工作組。
  我的Debian GNU/Linux安裝在一臺普通的臺式計算機(jī)上,機(jī)器名字叫debian,域名叫test.com。
3 安裝
3.1 軟件版本
  由于我們用的sid的sources.list,所以得到的是2.99版+3.0Alpha版的samba。其配置方法與以前版本有些不同。
3.2 安裝
  安裝過程非常簡單:
# apt-get install samba
  系統(tǒng)會問你,請參考這些答案:
  用debconf配置samba嗎?Yes。
  輸入工作組名,或者域名:workgroup。
  使用口令加密?Yes。
  以什么方式運(yùn)行samba?我們選擇默認(rèn)的daemons方式,讓他在后臺監(jiān)聽。
  創(chuàng)建samba口令庫?Yes。
4 小測試
  你也許不相信,但是現(xiàn)在,你已經(jīng)可以在Windows的網(wǎng)上鄰居里面看到這臺名字叫Debian的Linux主機(jī)了!
  找到網(wǎng)上鄰居的workgroup組,你會發(fā)現(xiàn)她確實已經(jīng)在那里了。怎么樣,振奮吧!
  不過,你會發(fā)現(xiàn),無論你輸入什么用戶名和口令,都無法通過驗證。那是因為,我們還沒有告訴samba,驗證哪些用戶和口令。
  
5 快速入門
  Samba只有一個配置文件!
  那就是/etc/samba/smb.conf。
  下面這個只有幾行的smb.conf,就可以讓samba為我們工作!
[global]
log file = /var/log/samba/log.%m
[tmp]
comment = Temporary file space
path = /tmp
read only = no
public = yes
6 配置
6.1 檢查當(dāng)前配置
  我們的samba現(xiàn)在已經(jīng)運(yùn)行了,那么,它正在提供哪些服務(wù)呢?如果打開/etc/samba/smb.conf,你可能會覺得內(nèi)容太多,看不過來了;那好,我們有個命令可以用:testparm。這個命令,可以讓我們檢查smb.conf的配置是否正確,而且還可以列出一個實際上有效的 smb.conf的內(nèi)容:
# testparm
  通過這個命令,你看到了吧,實際上發(fā)揮作用的配置,就是那么幾行。
6.2 寫一個最小的smb.conf
  實際上,為了做實驗,我們可以寫一個更小的smb.conf,就向上一小節(jié)里面提到的那樣。那個配置文件,可以讓samba把/tmp共享,并且可以往里寫文件。
  好,我們不妨就采用上面這個文件吧,請你先將/etc/samba/smb.conf改名,比如改為smb.conf.backup,然后把上面的內(nèi)容抄下來,保存為新的/etc/samba/smb.conf。
  記住,要是修改后的smb.conf生效,需要重新啟動samba:
# /etc/init.d/samba restart
6.3 創(chuàng)建用戶
  在我們創(chuàng)建用戶之前,沒有人能夠訪問samba服務(wù)器,就是說,在windows平臺上,無論用什么用戶名和口令,都無法訪問網(wǎng)上鄰居里面的debian這臺機(jī)器。
  我們需要在/etc/samba/目錄下面,生成一個文件,名字叫:smbpasswd:
# touch /etc/samba/smbpasswd
  然后,使用smbpasswd命令,添加samba用戶:
# smbpasswd -a kanaka
New SMB password:
Retype new SMB password:
  這時,kanaka就被寫進(jìn)了/etc/samba/smbpasswd文件,kanaka就可以從windows訪問samba了。
7 測試
  在你的windows里面,找到網(wǎng)上鄰居的debian,用剛才創(chuàng)建的用戶,訪問它,并向tmp目錄拷貝一個文件。怎么樣,可以了吧。
8 TODO
  這是本文的0.1版,純粹針對初學(xué)者的。
  在下一個版本,我將詳細(xì)描述smb.conf的配置方法,來實現(xiàn)WinNT/2000服務(wù)器的功能。
9 結(jié)束語
  本文是《Debian服務(wù)器設(shè)置入門》系列教程之第四章,建議您按照順序閱讀,有問題可以和作者kanaka聯(lián)系。
10 參考文獻(xiàn)
  《Samba 配置》,地址是:http://www.linuxfocus.org/ChineseGB/March2002/article177.shtml
  《使用 Linux 和 SAMBA替代Windows NT/2000 服務(wù)器》,地址是:http://www.linuxfocus.org/ChineseGB/May2002/article247.shtml
  讓我們一起感謝原文作者,以及翻譯者!
《Debian服務(wù)器設(shè)置入門》系列教程之第五章:Samba服務(wù)器
第五章 在Debian上用Bind配置DNS服務(wù)器
本章目錄
1 什么是DNS
2 為什么需要DNS
3 BIND介紹
4 配置
5 測試
6 TODO
7 結(jié)束語
8 參考文獻(xiàn)
1 什么是DNS  
  初學(xué)者可能不理解DNS到底是什么,干什么用。我是在1998年大學(xué)畢業(yè)時才聽說這個詞的。那時我在聊天室碰到濰坊信息港的一個網(wǎng)管,我恬不知恥地說我也是個網(wǎng)管,他說也維護(hù)DNS嗎?我說,DNS是什么?
  ——DNS,Domain Name Service,或者Domain Name Server,域名服務(wù)/域名服務(wù)器。#p#分頁標(biāo)題#e#
  你在你的瀏覽器里面輸入http://www.linuxsir.com之后,之所以可以上去,就是因為有了DNS。
  簡單地說,DNS把一串名字,轉(zhuǎn)換成了IP地址。你可能會說:如果我直接使用IP地址,那就不需要DNS了嗎?對!不過,請你接著往下看。
2 為什么需要DNS
2.1 互聯(lián)網(wǎng)需要DNS
  現(xiàn)在幾乎整個互聯(lián)網(wǎng)都是基于TCP/IP的。在這個世界里,不管你訪問哪個網(wǎng)站、哪臺機(jī)器,必須得知道它的IP地址才可以。好,我告訴你, 202.106.185.203這個地址,是新浪網(wǎng)的IP地址,你每次上網(wǎng),都得再瀏覽器的地址欄里面輸入http://202.106.185.203 才可以訪問新浪。你可能會說:沒問題,不就一串?dāng)?shù)字嘛,我記得??!可是,你想一下,在Internet上,有多少臺主機(jī)啊!你可能會記住其中幾臺甚至幾十臺的IP地址,但是你肯定記不住全部。
  正是由于IP地址不好記,人們才想了個辦法,讓你只需要記住名字,然后系統(tǒng)通過這個名字,到數(shù)據(jù)庫里面去查找它的IP地址,然后再把查到的IP地址反饋給你,比如反饋給瀏覽器,最后,瀏覽器用這個由DNS給的IP地址去訪問你想去的站點。
2.2 局域網(wǎng)需要DNS
  那么,在局域網(wǎng)內(nèi)部呢?需要DNS嗎?
  太需要了!你不要覺得,單位就這么幾臺機(jī)器,用hosts解析,不也一樣嗎?你可千萬記住這個教訓(xùn),當(dāng)公司越來越大,hosts的維護(hù)量將大的驚人!我所在的公司,前不久就面臨了這種尷尬。所以,一定要有一臺DNS,然后在公司內(nèi)部定義一個規(guī)范的主機(jī)命名規(guī)則,這才是個好網(wǎng)管,呵呵。
3 BIND介紹
  Bind是使用最廣泛的Domain Name Server,它是Berkeley
Internet Name Domain Service的簡寫,伯克里大學(xué)編寫的。這個大學(xué)可真厲害,寫了不少著名程序。
原本bind的版本一直在 4.8.x 4.9.x 左右,后來一口氣跳到8.1.x,是因為大幅度改進(jìn)了功能,并修復(fù)了漏洞?,F(xiàn)在bind有兩個版本在同時發(fā)展,bind
8.x 和 bind 9.x,最新版本是8.3.3和9.2.1。
3 安裝
3.1 軟件版本
  目前debian的sid,同樣提供了8版本的bind和9版本的bind,后者的軟件包名字叫做bind9.deb,版本是最新的9.2.1版。
3.2 安裝
  安裝過程非常簡單:
# apt-get install bind9
4 配置
  由于我們前面第三章在配置郵件服務(wù)器的時候,使用了hosts文件來解析IP地址,現(xiàn)在我們需要把它去掉,讓系統(tǒng)通過DNS來解析它所需要的IP地址。
  我們制作基本的配置。至于高級功能,我們將在本文的下一個版本里描述。
4.1 去掉hosts信息
  如果你閱讀過本文第三章,你就會知道,我有兩臺機(jī)器,一臺筆記本電腦安裝了win2000,名字叫notepad;另一臺臺式機(jī)裝了Debian,機(jī)器名叫debian。他們都屬于test.com這個域,這個域名沒有在ISP那里注冊,是我們內(nèi)部用的。我分別編輯win2000機(jī)器上的\winnt\system32\drivers\etc\hosts這個文件和 debian機(jī)器上的/etc/hosts,去掉下面的這些行:
192.1.110.120 debian.test.com debian
192.1.110.122 notepad.test.com notepad
  這時你可以在win2000機(jī)器上啟動Outlook Express,做一下收取郵件的動作,它會說找不到debian.test.com——這就對了,因為hosts文件里面沒有指向這個名字的IP地址,而且,我們也沒有給win2000指定DNS服務(wù)器,所以它肯定找不到debian.test.com。
4.2 在客戶機(jī)上設(shè)置DNS
  在我的Win2000機(jī)器里面,在桌面上右擊“網(wǎng)上鄰居”選擇屬性,在出現(xiàn)的窗口中右擊“本地連接”選擇屬性,然后雙擊TCP/IP,在右下角的“首選DNS”里面,輸入192.1.110.120。這是我的 Debian機(jī)器在局域網(wǎng)上的IP地址。如果你用的是win98,那么情況差不多,在一個叫做DNS的標(biāo)簽里面設(shè)置首選DNS。我很久不用98了,差不多忘了。
  如果你是個急性子,你會發(fā)現(xiàn),誒?怎么設(shè)上了DNS了,我的Outlook
Express還是說找不到debian.test.com?呵呵,別急別急,我們的DNS服務(wù)器還沒弄好吶!
4.3 在Debian上設(shè)置DNS
  我們要事先把Debian機(jī)器的DNS指向它自己。修改/etc/resolv.conf,修改成:
search test.com
nameserver 192.1.110.120
  你不會把我的IP地址也抄上吧,呵呵。
4.4 配置DNS服務(wù)器
4.4.1 應(yīng)用環(huán)境
  我們把實驗環(huán)境重新描述一下。
  ◆一個C類網(wǎng)段地址 (本例中假定是192.1.110.0)
  ◆企業(yè)域名為 test.com,沒有在ISP注冊。(主域名服務(wù)器地址
192.1.110.120,主機(jī)名為 debian.test.com)
  ◆企業(yè)網(wǎng)通過路由器與Internet連接
  假如你的應(yīng)用環(huán)境與上述條件不同,也請往下看,本文會在上述例子的基礎(chǔ)上針對以下情況作修正:
  ◆多個網(wǎng)段
  ◆封閉的內(nèi)部網(wǎng)
  ◆只能訪問局部公共網(wǎng)的情況(如169網(wǎng)、上海熱線等)
  我們將使用一個叫做rndc的工具,rndc可以用于啟動、中止、重啟動、刷新DNS數(shù)據(jù)、輸出DNS數(shù)據(jù)等多種調(diào)試功能。
4.4.2 配置named.conf
   DNS 服務(wù)器的主體是域名服務(wù)器進(jìn)程
named ,named 啟動后向DNS客戶機(jī)提供域名解析服務(wù),把域名轉(zhuǎn)換成IP地址。
   named 啟動時需要讀取一個初始化文件,缺省情況下是
/etc/bind/named.conf,這是bind的基本配置文件,不過這里面并不包含DNS數(shù)據(jù)。
  注意,你也許會在網(wǎng)上找到一些教程,這些教程有的是以
bind 4.x為藍(lán)本的,所以它的named.conf里面的注釋符號是分號“;”,但是自動bind
8開始,語法變了。下面我們來說一下:
; 這是bind 4.x的注釋,前面用分號
//不過從bind 8開始,有三種注釋符號可以用:
C樣式, C++樣式, 或者shell樣式:
/* 這是C樣式的注釋符號 */
// 這是 C++樣式的注釋符號
# 這是shell樣式的注釋符號
  請你先把默認(rèn)的/etc/bind/named.conf備份一下,我將給大家寫一個簡單的named.conf,用于做Caching-only的DNS配置。
// 指定 named 從
/var/cache/bind 目錄下讀取 DNS 數(shù)據(jù)文件。
// 這個目錄用戶可自行指定并創(chuàng)建,指定后所有的DNS
數(shù)據(jù)文件都存放在此目錄下。
options {
directory "/var/cache/bind"; #p#分頁標(biāo)題#e#
};
// 指定 named 作為 test.com
域的主域名服務(wù)器。
// db.test 文件中包含所有 *.test.com
形式的域名轉(zhuǎn)換數(shù)據(jù)。
zone "test.com" in {
type master;
file "db.test";
};
// 指定 named 作為 192.1.110
網(wǎng)段地址轉(zhuǎn)換主服務(wù)器。
// db.192.1.110 文件中包含了所有 192.1.110.*
形式的地址到域名的轉(zhuǎn)換數(shù)據(jù)。
zone "110.1.192.in-addr.arpa" in {
type master;
file "db.192.1.110";
};
// 指定 named
作為127.0.0網(wǎng)段地址轉(zhuǎn)換主服務(wù)器。
// db.127.0.0 文件中包含了 127.0.0.*
形式的地址到域名的轉(zhuǎn)換數(shù)據(jù)。
//(127.0.0網(wǎng)段地址是局域網(wǎng)接口的內(nèi)部
loopback 地址)
zone "0.0.127.in-addr.arpa" in {
type master;
file "db.127.0.0";
};
// 指定 named 從
db.cache 文件中獲得 Internet 的頂層“根”服務(wù)器地址。
zone "." in {
type hint;
file "db.cache";
};
  要注意第二和第三個區(qū)域中的網(wǎng)段地址是倒寫的,另外,各個區(qū)域所使用的數(shù)據(jù)文件的文件名也是可以自行決定的。
  請把上面的內(nèi)容保存為你的/etc/bind/named.conf。
4.4.3 準(zhǔn)備數(shù)據(jù)文件
  上面的那個named.conf,相信你已經(jīng)看明白了。那里面提到,在/var/cache/bind這個目錄下面,應(yīng)該有DNS數(shù)據(jù)文件db.test、db.192.1.110、db.127.0.0
還有 db.cache。下面我們就要建立這些文件。
4.4.3.1 建立 db.test 文件
   根據(jù) /etc/bind/named.conf 的定義,我們在
/var/cache/bind 目錄下建立 db.test,其中應(yīng)該包括所有在 test.com
域內(nèi)的主機(jī)節(jié)點。但在機(jī)器數(shù)量較多時,為了調(diào)試方便,建議一開始只把幾臺節(jié)點的數(shù)據(jù)放入文件,待
named 正常工作后再把其他節(jié)點的數(shù)據(jù)補(bǔ)充進(jìn)去。下面是 db.test的例子:
@ IN SOA debian.test.com. root.debian.test.com. (
200211131 ; serial, todays date + todays serial #
28800 ; refresh, seconds
7200 ; retry, seconds
3600000 ; expire, seconds
86400 ) ; minimum, seconds
NS debian.test.com.
MX 10 debain.test.com.
; 域名服務(wù)器列表
test.com. IN NS debian.test.com.
; 計算機(jī)名稱和地址
localhost.test.com. IN A 127.0.0.1
debian.test.com. IN A 192.1.110.120
notepad.test.com. IN A 192.1.110.122
; 別名
www IN CNAME debian.test.com.
ftp IN CNAME debian.test.com.
   其中第一行是 SOA
記錄,定義了域名數(shù)據(jù)的基本信息,依次是 DNS 服務(wù)器名、DNS
管理員郵件地址,括號內(nèi)的第一個數(shù)字是文件版本號,每次本文件內(nèi)容修改后,必須更改此號。其余數(shù)字與DNS服務(wù)器直接的數(shù)據(jù)交換有關(guān),在這里我們不需要改動。
   括號后面有一條NS記錄和一條MX記錄,定義了域名服務(wù)器本身的域名和username@test.com
形式郵件地址所對應(yīng)的郵件服務(wù)器名字。
   在此以下是各種域名/地址轉(zhuǎn)換數(shù)據(jù),其中A記錄是DNS域名到IP地址的記錄,是必須有的。
  CNAME定義了一些主機(jī)的別名,比如我們將debian.test.com作為公司的www和ftp服務(wù)器,所以我們提供了 www.test.comftp.test.com作為debian.test.com的別名,用戶只需要根據(jù)習(xí)慣就可以訪問公司的www、ftp服務(wù)器了,如果將來我們換用別的主機(jī)作www和ftp服務(wù)器,只需要修改CNAME記錄就可,對用戶沒有影響。
   注意: CNAME 記錄最后的帶域名的主機(jī)名后必須帶一個“.”。
  復(fù)制這個文件到bind的工作目錄/var/cache/bind,這個目錄是我們剛才在/etc/bind/named.conf里面定義的。
4.4.3.2 建立 db.127.0.0
文件
  這是個反向
DNS數(shù)據(jù)文件。
反向數(shù)據(jù)文件是這樣用的:知道 IP地址,查詢主機(jī)名。每個網(wǎng)段分別有一個數(shù)據(jù)文件。
   反向 DNS 數(shù)據(jù)文件中的主要部分是 PTR 記錄,PTR
記錄中的 IP 地址都只有主機(jī)號,named 會根據(jù) named.conf
的定義自動加上前面的網(wǎng)絡(luò)號,注意后面的主機(jī)名要附加一個“.”
   對于內(nèi)部網(wǎng)段 127.0.0 通常只有一個地址,即 127.0.0.1
loopback 地址,db.127.0.0 內(nèi)容如下:
@ IN SOA debian.test.com root.debian.test.com. (
2002111300 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS debian.test.com.
1 IN PTR localhost.
  把這個文件到復(fù)制/var/cache/bind目錄下面。
4.4.3.2 建立 db.192.1.110 文件
  把所有相同網(wǎng)段的主機(jī) IP地址和主機(jī)名,都寫在里面:
@ IN SOA debian.test.com root.debian.test.com. (
2002111300 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS debian.test.com.
; 所有主機(jī)都寫在這兒
120 PTR debian.test.com.
122 PTR notepad.test.com.
  同樣,要把這個文件到復(fù)制/var/cache/bind目錄下面。
4.4.3.3 建立 db.cache 文件
  默認(rèn)情況下,我們在安裝 bind9的時候,應(yīng)該有個文件在/etc/bind/db.root,這個文件就是我們的想要的根的定義。由于我們在
named.conf中指定的文件名是 db.cache,所以我們把它復(fù)制為db.cache:
# cp /etc/bind/db.root /var/cache/bind/db.cache
5 測試
  我們使用rndc這個工具來控制bind。
5.1 讓新配置文件生效
  因為我們剛才改了配置,所以,需要重新加載一下:
# rndc reload
  然后還需要重新配置一下:
# rndc reconfig
  如果有問題,你可以使用debian為我們準(zhǔn)備的腳本重新啟動bind:
# /etc/init.d/bind9 restart
5.2 在win2000機(jī)器上測試
  在win2000上(就是我們的notepad.test.com),使用Outlook#p#分頁標(biāo)題#e#
Express,收發(fā)郵件。
  看,正常了吧!證明,我們的win2000通過192.1.110.120這臺DNS服務(wù)器,找到了debian.test.com這臺機(jī)器的IP地址了。
5.3 測試工具介紹
  在debian上,我推薦大家使用dig或者h(yuǎn)ost來測試DNS設(shè)置,因為nslookup快要退休了,以后版本的軟件可能不再提供nslookup這個工具了。要使用這些工具,需要安裝dnsutils:
# apt-get install dnsutils
  然后,就可以使用dig來測試DNS了:
# dig -x 192.1.110.120
  第一次運(yùn)行,可能比較慢,別著急,等一會。
6 TODO
  這是本文的0.1版,純粹針對初學(xué)者的,僅僅實現(xiàn)了最普通的功能。
  在下一個版本,我將深入講解DNS的設(shè)置。
7 結(jié)束語
  本文是《Debian服務(wù)器設(shè)置入門》系列教程之第五章,建議您按照順序閱讀,有問題可以和作者kanaka聯(lián)系。

相關(guān)文章

最新評論