DNS 正反向解析、主從同步配置

DNS 正反向解析、主從同步配置數據庫

1、介紹
1.1全世界現有三個大的網絡信息中心:vim

一、位於美國的 Inter-NIC,負責美國及其餘地區;緩存

二、位於荷蘭的RIPE-NIC,負責歐洲地區;服務器

三、位於日本的APNIC ,負責亞太地區。markdown

1.2DNS的分佈式數據結構網絡

223812746.png數據結構

緩存域名服務器app

·經過想其餘域名服務器查詢得到域名——》ip 地址記錄tcp

·講域名查詢結果緩存到本地,提升重複查詢時的速度分佈式

主域名服務器

·特定DNS區域的官方服務器,具備惟一性

·負責維護該區域內全部域名——》ip地址的映射記錄

從域名服務器

·也稱爲輔助域名服務器

·其維護的域名——》ip 地址記錄來源與主域名服務器

bind-utils

bind

bind-libs

bind-chroot

/etc/named.conf mount

/var/named/chroot/etc/named.conf

主從DNS同步的兩種方式:

一、主服務器發送指令讓從服務器同步

二、從服務器根據序列號同步主服務器數據庫文件

簡單DNS配置:

[root@DNS~]# yum install bind bind-utils bind-chroot bind-libs

[root@DNS~]# mount

/dev/mapper/VolGroup-lv_rooton / type ext4 (rw)

proc on/proc type proc (rw)

sysfs on/sys type sysfs (rw)

devpts on/dev/pts type devpts (rw,gid=5,mode=620)

tmpfs on/dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")

/dev/sda1on /boot type ext4 (rw)

/dev/sr0on /media/cdrom type iso9660 (ro)

none on/proc/sys/fs/binfmt_misc type binfmt_misc (rw)

[root@DNS~]# service named start

Generating/etc/rndc.key: [ OK ] //加密處理,有時候或許會在這裏卡住,能夠在該系統上移動鼠標。

Startingnamed: [ OK ]

[root@DNS~]# mount

/dev/mapper/VolGroup-lv_rooton / type ext4 (rw)

proc on/proc type proc (rw)

sysfs on/sys type sysfs (rw)

devpts on/dev/pts type devpts (rw,gid=5,mode=620)

tmpfs on/dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")

/dev/sda1on /boot type ext4 (rw)

/dev/sr0on /media/cdrom type iso9660 (ro)

none on/proc/sys/fs/binfmt_misc type binfmt_misc (rw)

/etc/named on/var/named/chroot/etc/named type none (rw,bind)

/var/named on/var/named/chroot/var/named type none (rw,bind)

/etc/named.conf on/var/named/chroot/etc/named.conf type none (rw,bind)

/etc/named.rfc1912.zones on/var/named/chroot/etc/named.rfc1912.zones type none (rw,bind)

/etc/rndc.key on/var/named/chroot/etc/rndc.key type none (rw,bind)

/usr/lib64/bind on/var/named/chroot/usr/lib64/bind type none (rw,bind)

/etc/named.iscdlv.key on/var/named/chroot/etc/named.iscdlv.key type none (rw,bind)

/etc/named.root.key on/var/named/chroot/etc/named.root.key type none (rw,bind)

能夠看出,是利用mount的方式

[root@DNS ~]# ps aux|grep named

named 1316 0.0 3.0 162844 15172 ? Ssl 20:20 0:00 /usr/sbin/named -unamed -t /var/named/chroot

查看啓動進程,運行在chroot的環境中

[root@DNS ~]#netstat -nutpl |grep named

tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1316/named

tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 1316/named

tcp 0 0 ::1:53 :::* LISTEN 1316/named

tcp 0 0 ::1:953 :::* LISTEN 1316/named

udp 0 0 127.0.0.1:53 0.0.0.0:* 1316/named

udp 0 0 ::1:53 :::* 1316/named

監聽53號端口

配置:

在全局定義裏,把監聽端口和容許訪問段都改成any

options {

listen-on port 53 { any; };

   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";

   allow-query     { any; };

   recursion yes;

添加一個正向區域名

zone"zhang.com" IN{

type master;

   file "zhang.com.zone";

};

[root@MASTER ~]#named-checkconf named.conf

none:0: open:named.conf: file not found

[root@MASTER ~]# cd/var/named/chroot/etc/

[root@MASTER etc]#named-checkconf named.conf

[root@MASTER etc]#

檢查語法錯誤

224950495.png

其所屬的組爲named

[root@MASTER named]#ll

total 36

drwxr-x---. 6root named 4096 Oct 12 20:57 chroot

drwxrwx---. 2 namednamed 4096 Oct 12 21:01 data

drwxrwx---. 2 namednamed 4096 Oct 12 21:01 dynamic

-rw-r-----. 1root named 1892 Feb 18 2008 named.ca

-rw-r-----. 1root named 152 Dec 15 2009 named.empty

-rw-r-----. 1root named 152 Jun 21 2007 named.localhost

-rw-r-----. 1root named 168 Dec 15 2009 named.loopback

drwxrwx---. 2 namednamed 4096 Dec 5 2012 slaves

-rw-r--r--. 1root root 120 Oct 12 21:15 zhang.com.zone

[root@MASTER named]#chgrp named zhang.com.zone

[root@MASTER named]#ll

total 36

drwxr-x---. 6root named 4096 Oct 12 20:57 chroot

drwxrwx---. 2 namednamed 4096 Oct 12 21:01 data

drwxrwx---. 2 namednamed 4096 Oct 12 21:01 dynamic

-rw-r-----. 1root named 1892 Feb 18 2008 named.ca

-rw-r-----. 1root named 152 Dec 15 2009 named.empty

-rw-r-----. 1root named 152 Jun 21 2007 named.localhost

-rw-r-----. 1root named 168 Dec 15 2009 named.loopback

drwxrwx---. 2 namednamed 4096 Dec 5 2012 slaves

-rw-r--r--. 1root named 120Oct 12 21:15 zhang.com.zone

配置正向域

[root@MASTER named]#vim zhang.com.zone

$TTL 1D //緩存時間

@ IN SOAdns.zhang.com. root.zhang.com. (

0 ;serial

3H ;minimum

15M ;

1W ;expire

1D) ;refresh

@ ns dns.zhang.com.

dns IN A 192.168.1.1

www IN A 192.168.1.2

$TTL 1D:設置郵箱地址解析記錄的默認緩存時間,默認爲1天(1D)

@IN SOA @ rname.invalid. (設置SOA標記、域名、域管理郵箱rname@invalid,因爲 @ 有其餘含義,因此用「.」代替。注意: @ 在正向區域文件中表明的是「dns.zhang.com. 和 root.zhang.com.」)

0 :更新序列號,用於標示數據庫的表換,能夠在10位之內,若是存在從dns區域,建議每次更新完數據庫,手動加1.

1D :刷新時間,從域名服務器更新該地址數據庫文件的間隔時間,默認爲1天;

1H :重試延時,從域名服務器更新地址數據庫失敗之後,等待多長時間,默認爲1小時;

1W :失效時間,超過該時間仍沒法更新地址數據庫,則再也不嘗試,默認爲1周;

3H ;設置無效地址解析記錄(該數據庫中不存在的地址)

NS @ :域名服務器記錄,用於設置當前域的DNS服務器的域名地址;

A 127.0.0.1 :設置域名服服務器的A記錄,地址爲ipv4的地址127.0.0.1;

AAAA ::1 :設置域名服務器的A 記錄,地址爲ipv6的地址。

每次配置完後重啓服務:

[root@MASTER named]#service named restart

Stopping named: [ OK ]

Starting named: [ OK ]

測試:

[root@MASTER named]#nslookup www.zhang.com

Server: 192.168.41.146

Address: 192.168.41.146#53

Name: www.zhang.com

Address: 192.168.1.2

CNAME 的做用

若在zone文件中添加:

blog IN CNAME www

則會定向到原來的www中,即:

www IN A 192.168.1.2

[root@MASTER named]#nslookup blog.zhang.com

Server: 192.168.41.146

Address: 192.168.41.146#53

blog.zhang.com canonicalname = www.zhang.com.

Name: www.zhang.com

Address: 192.168.1.2

配置反向解析:

格式:通常格式爲「ip.arpa」,ip不包含最後一位。

[root@MASTER named]#vim /etc/named.conf

zone"1.168.192.in-addr.arpa" IN {

type master;

   file "zhang.com.zone.db";

};

[root@MASTER named]#vim zhang.com.zone.db

$TTL 1D

@ IN SOAdns.zhang.com. root.zhang.com. (

1 ;

                                   3H;minimum

                                   15M ;

                                   1W ;expire

                                   1D);refresh

@ ns dns.zhang.com.

1 IN PTR dns.zhang.com. //建立反向PTR指針

2 IN PTR www.zhang.com.

重啓服務:

[root@MASTER named]#service named restart

Stopping named: [ OK ]

Starting named: [ OK ]

測試:

[root@MASTER named]#nslookup 192.168.1.1

Server: 192.168.41.146

Address: 192.168.41.146#53

1.1.168.192.in-addr.arpa name= dns.zhang.com.

[root@MASTER named]#nslookup 192.168.1.2

Server: 192.168.41.146

Address: 192.168.41.146#53

2.1.168.192.in-addr.arpa name= www.zhang.com.

配置從服務器:

[root@SLAVE ~]# yuminstall bind bind-chroot bind-utils bind-libs

[root@SLAVE ~]#service named start

Generating/etc/rndc.key: [ OK ]

Starting named: [ OK ]

跟主服務器同樣:

在全局定義裏,把監聽端口和容許訪問段都改成any

listen-on port 53 {any; };

allow-query { any; };

添加正向和反向區域:

zone"zhang.com" IN {

type slave;

masters{ 192.168.41.146; };注意格式

file "slaves/zhang.com.zone";

};

zone"1.168.192.in-addr.arpa" IN {

type slave;

   masters { 192.168.41.146; };

   file"slaves/zhang.com.zone.db";

};

/var/named/chroot/var/named/slaves

重啓服務。

[root@SLAVE slaves]#ls

[root@SLAVE slaves]#

沒有同步到主服務器的文件

因此主服務器要配置防火牆:

防火牆配置:

[root@MASTER etc]#iptables -I INPUT 4 -m state --state NEW -p tcp --dport 53 -j ACCEPT

[root@MASTERetc]# iptables -I INPUT 4 -m state --state NEW -p udp --dport 53 -j ACCEPT

[root@MASTER etc]#service iptables save

[root@SLAVE slaves]#ls

zhang.com.zone zhang.com.zone.db

能夠同步。

本地測試:

[root@SLAVE slaves]#nslookup www.zhang.com

Server: 192.168.41.147

Address: 192.168.41.147#53

Name: www.zhang.com

Address: 192.168.1.2

[root@SLAVE slaves]#nslookup

192.168.1.1

Server: 192.168.41.147

Address: 192.168.41.147#53

1.1.168.192.in-addr.arpa name= dns.zhang.com.

遠地測試:

先修改/etc/resolv.conf

[root@DNS etc]#nslookup

www.zhang.com

;; connection timedout; trying next origin

;; connection timedout; no servers could be reached

修改從服務器防火牆配置:

iptables-I INPUT 4 -m state --state NEW -p udp --dport 53 -j ACCEPT

[root@SLAVE slaves]#service iptables save

iptables: Savingfirewall rules to /etc/sysconfig/iptables:[ OK ]

遠地測試:

[root@DNS etc]#nslookup 192.168.1.2

Server: 192.168.41.147

Address: 192.168.41.147#53

2.1.168.192.in-addr.arpa name= www.zhang.com.

配置自動同步:

主服務器配置:

須要在option選項中添加:

allow-transfer { 192.168.41.147; };

   also-notify { 192.168.41.147; };

   notify yes;

小結:

一、master slave 使用udp 53號端口進行通信。

二、BIND域名服務器的文件會所有掛載到/var/named/chroot/目錄下,即便***鏈接上了DNS服務器,他怎麼修改,都是修改/var/named/chroot/中的文件,並不會影響系統 / 下面其餘文件的狀況。

三、

當咱們主DNS服務器上修改完成後重啓服務,會主動傳送notify值,若是輔助DNS服務器沒有收到才參考Refresh,Refresh不成功,則參考Retry ,Retry 一直不成功, 則參考 Expire,若是Expire也不成功,則選擇放棄zone transfer的過程。

相關文章
相關標籤/搜索