Friday, October 22, 2010
RHEL5/CentOS5 mail server 1 - DNS
1 . DNS設定條件
主機設定資訊
主機名稱 : dns.test.com.tw
IP : 192.168.239.170
Netmask : 255.255.255.0
Gateway : 192.168.239.2
DNS : 168.95.1.1
DNS設定資訊
domain name : test.com.tw
dns 主機名稱 : dns.test.com.tw > 192.168.239.170
mail 主機名稱 : mail.test.com.tw > 192.168.239.170
MX 標籤 : mail.test.com.tw (10)
domain name : example.com.tw
dns 主機名稱 : dns.example.com.tw > 192.168.239.170
mail 主機名稱 : mail.example.com.tw > 192.168.239.180
MX 標籤 : mail.example.com.tw (10)
2 . 掛載光碟
# mkdir /cdrom
# mount /dev/cdrom /cdrom
# cd /cdrom/CentOS/
3 . DNS 所需套件 BIND 及設定檔讀取流程
# rpm -ivh bind-9.3.4-6.P1.el5.i386.rpm bind-chroot-9.3.4-6.P1.el5.i386.rpm caching-nameserver-9.3.4-6.P1.el5.i386.rpm
開機自動啟動
# chkconfig named on
DNS服務重新啟動
# service named restart
3.1 Bind 設定檔圖取流程
Bind 8 含以前的版本所讀取設定檔的流程
Zone File 領域設定檔 -> Resource Record File 正反解領域資料庫
Bind 9 讀取設定檔流程
Configuration File參數設定檔 -> Zone File領域設定檔 -> Resource Record File正反解資料庫
4 . Configuration File 設定
舊版設定中,named.conf包含了參數以及領域設定,但是新版 BIND 9 把[領域設定] 變成可獨立出去的項目了。
查詢 -> 比對Configuration File條件 -> 提供符合條件的領域資料
bind9預設讀取的設定檔是 named.caching-nameserver.conf,變更設定可以利用此檔為範本。
# cd /var/named/chroot/etc/
# cp -a named.caching-nameserver.conf named.conf
# vi named.conf
options {
listen-on port 53 { 127.0.0.1; 192.168.239.170; }; #啟用服務的IP
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";
query-source port 53;
query-source-v6 port 53;
allow-query { localhost; any; }; #允許查詢的範圍
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { localhost; any; }; #來源位置的比對
match-destinations { localhost; any; }; #目的位置的比對
recursion yes; #遞迴查詢(是否可以查詢正反解資料庫以外的名稱)
include "/etc/named.zones"; #符合上面比對所提供的zone檔案
5 test.com.tw 正解領域設定
5.1 在 named.zones 領域設定檔中新增 test.com.tw
在 named.zones 領域設定檔中新增 test.com.t,並且指定所要提供的資料庫檔案
# cd /var/named/chroot/etc/
# cp -a named.rfc1912.zones named.zones
# vi named.zones
在檔案的最底下加入以下設定
zone "test.com.tw" IN {
type master;
file "test.com.tw.hosts";
allow-update { none; };
};
5.2 設定 test.com.tw 正解資料庫
# cd /var/named/chroot/var/named/
# cp -a localhost.zone test.com.tw.hosts
# vi test.com.tw.hosts
$TTL 86400
@ IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
test.com.tw. IN NS dns.test.com.tw.
test.com.tw. IN MX 10 mail.test.ocm.tw.
dns.test.com.tw. IN A 192.168.239.170
mail.test.com.tw. IN A 192.168.239.170
6 192.168.237.0 反解領域設定
6.1 在 named.zones 領域設定檔中新增 192.168.237.0 反解領域
# cd /var/named/chroot/etc/
# vi named.zones
在檔案的最底下加入以下設定
zone "239.168.192.in-addr.arpa" IN {
type master;
file "192.168.239.arpa";
allow-update { none; };
};
6.2 設定 192.168.239.0 反解資料庫
# cd /var/named/chroot/var/named/
# cp -a localhost.zone 192.168.239.arpa
# vi 192.168.239.arpa
$TTL 86400
@ IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS dns.test.com.tw.
70 IN PTR dns.test.com.tw.
75 IN PTR mail.test.com.tw.
80 IN PTR mail.example.com.tw.
7 . 新增一個領域 example.com.tw 在同一台DNS上
一般維護常遇到的大多是只有一個網域,但是多少會遇到一些公司有兩個網域名稱但是只有一台
DNS機器。對於mail寄送而言,只要兩個領域都找的到 MX A 資源紀錄,郵件的寄送過程只有名稱解析內容不同而已,郵件寄送的過程都一樣。
7.1 在 Zone File領域設定檔 中新增example.com.tw的設定
# cd /var/named/chroot/etc/
# vi named.zones
在檔案的最底下加入以下設定
zone "example.com.tw" IN {
type master;
file "example.com.tw.hosts";
allow-update { none; };
};
7.2 新增 example.com.tw 的正解資料庫
# cd /var/named/chroot/var/named/
# cp -a localhost.zone example.com.tw.hosts
# vi example.com.tw.hosts
$TTL 86400
@ IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS dns.example.com.tw.
@ IN MX 10 mail.example.com.tw.
dns.example.com.tw. IN A 192.168.239.170
mail.example.com.tw. IN A 192.168.239.180
Labels:
Linux