一、為ec.com配置DNS 服務器(限於局域網內部)
1、安裝DNS 套件 :BIND
這個套件是配置DNS 服務器所必需的。使用RPM 來檢驗一下:
[root@aPPServer etc]# rpm -qa | grep bind
bind-utils-9.2.2-21 <=這個是用來作為 ClIEnt 端搜尋domain name 的指令
redhat-config-bind-2.0.0-14
ypbind-1.12-5
bind-9.2.2-21 <=這個是用來安裝 Server 的
基本上,BIND的主要設定檔為/etc/named.conf,各種針對主機的設定值都在這個檔案中設定!但是具體的hostnameIP 的對應關系,則是由zone 來設定的!但是注意的是:這個zone 的檔案名稱則是需要在/etc/named.conf 裡面命名好。zone 的檔案一般放置在/var/named 裡面。
2、設定部分
DNS server 的類型分為三類:MasterSlaveCache-only
由於我們只有一部主機提供DNS 服務,所以采用的是Master
A.手動規劃hostname 與IP 的對應表
這裡我們的domain name(域名)是ec.com,網域為192.168.0.0/256,只是設定一部電腦,為:
電腦系統 電腦IP 電腦名稱 說明
Red Hat 9 192.168.0.10 mail.ec.com 這台電腦即我們DNS 主機,名稱為mail.ec.com
B.設定/etc/named.conf 檔案
在檔案裡加入下面代碼,即定義出我們自己的的一組正反解設定,就是所謂的 zone
zone "ec.com" IN { //這個 zone表示domain name 為ec.com ,正解
type master;
file "named.ec.com"; //zone 對應的檔案名,可以隨便取,檔案位於/var/named
};
zone "0.168.192.in-addr.arpa" IN { //反解的IP 網段!那個in-addr.arpa是固定的IP 段寫法!
type master; //注意,它是192.168.0 反過來寫的 0.168.192,最後一定加上in-addr.arpa
file "named.192.168.0";
};
C.創建/var/named/named.ec.com 檔案 (即與上面/etc/named.conf 檔案裡的zone 對應)
代碼如下:
$TTL 86400 //這個和清除 cache的時間有關系,單位是秒,一般設為一天
@ IN SOA mail.ec.com. root.mail.ec.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
@ IN NS mail.ec.com. //指明管理域名ec.com 的主機為mail.ec.com
@ IN MX 10 mail.ec.com. //指明[email protected] 的郵件服務器為mail.ec.com
mail IN A 192.168.0.10 //指明mail.ec.com主機的IP 地址
一些相關說明:
@ 這個即代表 zone裡定義的東西。以這個檔案為例,因為我們在/etc/named.conf裡定義出ec.com 這個
domain name 為一個zone 的,所以,在這裡,@代表的就是 ec.com
SOA ¥即Start of Authority 的縮寫。這個東西在每個zone 的設定檔裡都會出現
¥SOA後面會接兩個名稱,第一個為主機名稱,注意的是在mail.ec.com後面有個小數點(。)它代表一個完整的hostname + domain name !如果沒有加上(。)的話,那麼就表示僅為 hostname ,還需要加上 domain name !例如這裡我們不加的話,系統就會認為主機名為mail.ec.com.ec.com!第二個為管理員的email!因為不能使用@,所以這裡同樣用(。)來代替!
D.創建/var/named/named.192.168.0 檔案 (同樣與上面/etc/named.conf 檔案裡的zone 對應)
代碼如下:
$TTL 86400
@ IN SOA mail.ec.com. root.mail.ec.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
@ IN NS mail.ec.com.
10 IN PTR mail.ec.com. //指明192.168.0.10反解為mail.ec.com
F.啟動 named與port (DNS 服務在53 端口)
[root@aPPServer root]# /etc/rc.d/init.d/named start
named 已經在運行
[root@aPPServer root]# netstat -tuln | grep 53
tcp 0 0 192.168.0.10:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN
udp 0 0 192.168.0.10:53 0.0.0.0:*
udp 0 0 127.0.0.1:53 0.0.0.0:*
3、ClIEnt 端的設定
這裡我們測試是在同一台Linux 機器上,所以要修改/etc/resolv.conf .這個檔案指定DNS 主機的IP ,ClIEnt端正是用這裡面設定的IP 去追蹤名稱解析的。
[root@aPPServer root]# vi /etc/resolv.conf
加入(不是覆蓋為!!)下面這一行代碼:
nameserver 192.168.0.10
在Windows 下面即將DNS 主機地址設為 192.168.0.10
最後我們來測試一下:
[root@aPPServer root]# host mail.ec.com
mail.ec.com has address 192.168.0.10
[root@aPPServer root]# host 192.168.0.10
10.0.168.192.in-addr.arpa domain name pointer mail.ec.com.
[root@aPPServer root]# nslookup mail.ec.com
Note: nslookup is deprecated and may be removed from future releases.
Consider using the `dig" or `host" programs instead. Run nslookup with
the `-sil[ent]" option to prevent this message from appearing.
Server: 192.168.0.10
Address: 192.168.0.10#53
Name: mail.ec.com
Address: 192.168.0.10
一切正常!!
二、配置sendmail
1、安裝sendmail、IMAP套件
Red Hat 9 已經默認安裝,檢查一下先:
[root@aPPServer root]# rpm -qa | grep sendmail
sendmail-cf-8.12.10-1
sendmail-8.12.10-1
[root@aPPServer root]# rpm -qa | grep m4
m4-1.4.1-13
[root@aPPServer root]# rpm -qa | grep imap
PHP-imap-4.3.2-8.ent
imap-2002d-2
[root@aPPServer root]# rpm -q mailx
mailx-8.1.1-31
2、修改主要配置檔案
A.尋找檔案的?容
[root@aPPServer root]# cd /etc/mail
[root@aPPServer mail]# vi sendmail.mc
找到下面這一段:
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA")
將他刪除
B.重新制作檔案:
[root@aPPServer mail]# m4 sendmail.mc > sendmail.cf
3、啟動 Mail Server
A、啟動sendmail
# /etc/rc.d/init.d/sendmail start
B、啟動 POP3 服務
[root@aPPServer root]# cd /etc/xinetd.d
[root@aPPServer xinetd.d]# vi ipop3
修改見下:
service pop3
{
socket_type = stream
wait = no
user = root
server = /usr/sbin/ipop3d
log_on_success += HOST DURATION
log_on_failure += HOST
disable = no
}
修改完畢後需要重新啟動xinetd 使修改起作用
# /etc/rc.d/init.d/xinetd restart
C、啟動imap 服務
同上,只是檔案是imap
D、[root@aPPServer xinetd.d]# netstat -tl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:pop3 *:* LISTEN
tcp 0 0 *:imap *:* LISTEN
tcp 0 0 *:smtp *:* LISTEN
4、設定主機名稱
[root@aPPServer xinetd.d]# cd /etc/mail
[root@aPPServer mail]# vi local-host-names //在裡面增加主機名稱
mail.ec.com
5、設定郵件服務器使用權限/etc/mail/Access
由於只是局域網內部使用,並不寄信到外部,所以不涉及到relay 的功能,所以這裡不做改動。當然也可以reject/discard 內部的一部分IP 的發信,用不著。
6、設定使用者別名/etc/aliases
A、群發功能 (當帳號過多不好維護時,可以用include 的功能導入相關連的檔案)
/etc/aliases 的語法如下:
在郵件上面的收件者帳號: 真實帳號1,真實帳號2,真實帳號3......
pm: pm1, pm2, pm3......
這樣發給[email protected]的郵件就會復制成三份,分別發給[email protected],[email protected],[email protected]
命令如下:
# vi /etc/aliases //在裡面加入下面行
pm: pm1,pm2,pm3
#newaliases //這行命令很重要!更新作用!!
B、別名設定
命令