日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux6.4 dns 主从,dns正反解析与主从复制文件同步

發布時間:2025/3/12 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux6.4 dns 主从,dns正反解析与主从复制文件同步 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

去設置我們的zone:

vim named.rfc1912.zones

在最后添加:

zone "example.com" IN {(zone的名稱)

type master; ? ? ? ? ? ? ? ? ? ? ? ? ? ? (什么類型)

file "example.com.zone"; ? ? ? ? (數據庫文件在哪)

allow-update { none; };

};

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

type master;

file "example.com.local";

allow-update { none; };

};

再去配置我們的數據庫文件:

cd/var/named/chroot/var/named

cp -p named.localhost example.com.zone

cp -p named.loopback ?example.com.local

切記,不要將這兩個文件復制到跟我們的named.conf在同一個目錄,不然重啟服務的時候會以下出錯(實驗在這里浪費好多時間):

Error in named configuration:

zone localhost.localdomain/IN: loaded serial 0

zone localhost/IN: loaded serial 0

zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0

zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0

zone 0.in-addr.arpa/IN: loaded serial 0

zone example.com/IN: loading from master file example.com.zone failed: file not found

zone example.com/IN: not loaded due to errors.

_default/example.com/IN: file not found

zone 0.168.192.in-addr.arpa/IN: loading from master file example.com.local failed: file not found

zone 0.168.192.in-addr.arpa/IN: not loaded due to errors.

_default/0.168.192.in-addr.arpa/IN: file not found

由于我是用物理機做的DNS去給虛擬機用,方便用虛擬機做實驗嘛=。=所以下面這兩個文件是我的配置:

vim ? example.com.zone

$TTL 1D

@ ? ? ? IN SOA ?silence.example.com. ? ?root.example.com. (

0 ? ? ? ; serial

1D ? ? ?; refresh

1H ? ? ?; retry

1W ? ? ?; expire

3H ) ? ?; minimum

NS ? ? ?silence.example.com.

silence ?A ? ? ? 192.168.0.100

A ? ? ? 192.168.0.100

vm1 ? ? A ? ? ? 192.168.0.201

vm2 ? ? A ? ? ? 192.168.0.202

vm3 ? ? A ? ? ? 192.168.0.203

vm4 ? ? A ? ? ? 192.168.0.204

vm5 ? ? A ? ? ? 192.168.0.205

vm6 ? ? A ? ? ? 192.168.0.206

vm7 ? ? A ? ? ? 192.168.0.207

vm8 ? ? A ? ? ? 192.168.0.208

vim example.com.local

$TTL 1D

@ ? ? ? IN SOA ?silence.example.com. ? ?root.example.com. (

0 ? ? ? ; serial

1D ? ? ?; refresh

1H ? ? ?; retry

1W ? ? ?; expire

3H ) ? ?; minimum

NS ? ? ?silence.example.com.

100 ? ? PTR ? ? example.com.

100 ? ? PTR ? ? silence.example.com.

201 ? ? PTR ? ? vm1.example.com.

202 ? ? PTR ? ? vm2.example.com.

203 ? ? PTR ? ? vm3.example.com.

204 ? ? PTR ? ? vm4.example.com.

205 ? ? PTR ? ? vm5.example.com.

206 ? ? PTR ? ? vm6.example.com.

207 ? ? PTR ? ? vm7.example.com.

208 ? ? PTR ? ? vm8.example.com.

下面來說說這兩個文件的內容:

@ :代表zone的意思,在example.com,zone中代表example.com在example.com.local中代表0.168.192.in-addr.arpa

.:這個點很重要,代表一個完整的主機名而不是hostname,如果沒有.則vm1.example.com代表vm1.example.com.example.com

A ?:Address 域名向ip地址轉換的記錄;

PTR:Printer ip地址向域名轉換的記錄;

NS:代表域內的dns服務器;

MX:代表域內的郵件服務器;

CNAME:域名的別名;

SOA:start of authority用于標示域內主DNS服務器。

Serial﹕其格式通常會是“年月日+修改次序”(但也不一定如此﹐您自己能夠記得就行)。當 slave 要進行數據同步的時候﹐

會比較這個號碼。如果發現在這里的號碼比它那的值“大”﹐?就進行更新﹐否則忽略。不過設 serial 有一個地方您要留意﹕不能超過 10 位數字﹗

Refresh﹕這里是是告訴 slave 要隔多久要進行數據同步(是否同步要看 Serial 的比較結果)。

Retry﹕如果 slave 在進行更新失敗后﹐要隔多久再進行重試。

Expire﹕這是記錄逾期時間﹕當 slave 一直未能成功與 master 取得聯絡﹐那到這里就放棄 retry﹐同時這里的數據也將標識為過期( expired )。

Minimum﹕這是最小預設 TTL 值﹐如果您在前面沒有用“$TTL”來定義﹐就會以此值為準。

OK,文件配置來之后,重啟服務,開啟客戶機進行測試吧~(注意更改你的測試機的DNS)

下面是我的測試情況:

[root@vm3 named]# dig vm1.example.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> vm1.example.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER<

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;vm1.example.com.INA

;; ANSWER SECTION:

vm1.example.com.86400INA192.168.0.201

;; AUTHORITY SECTION:

example.com.86400INNSsilence.example.com.

;; ADDITIONAL SECTION:

silence.example.com.86400INA192.168.0.100

;; Query time: 2 msec

;; SERVER: 192.168.0.100#53(192.168.0.100)

;; WHEN: Sat Oct 11 19:21:45 2014

;; MSG SIZE ?rcvd: 87

[root@vm3 named]# dig -x 192.168.0.204

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> -x 192.168.0.204

;; global options: +cmd

;; Got answer:

;; ->>HEADER<

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;204.0.168.192.in-addr.arpa.INPTR

;; ANSWER SECTION:

204.0.168.192.in-addr.arpa. 86400 INPTRvm4.example.com.

;; AUTHORITY SECTION:

0.168.192.in-addr.arpa.86400INNSsilence.example.com.

;; ADDITIONAL SECTION:

silence.example.com.86400INA192.168.0.100

;; Query time: 1 msec

;; SERVER: 192.168.0.100#53(192.168.0.100)

;; WHEN: Sat Oct 11 19:23:24 2014

;; MSG SIZE ?rcvd: 111

再來折騰下主從復制與文件同步吧~~

去主DNS(我的物理機)上進行配置:

cd /var/named/chroot/etc

對于name.conf這個文件暫時還不需要配置

vim ?name.rfc1912zones

zone "example.com" IN {

type master;

file "example.com.zone";

allow-update { none; };

allow-transfer { 192.168.0.203; };

};

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

type master;

file "example.com.local";

allow-update { none; };

allow-transfer { 192.168.0.203; };

};

在原來的每個域中加來一條參數而已!

現在需要一臺虛擬機作為我的輔助DNS,馬上開一臺虛擬機 IP:192.168.0.203(DNS設置為自身)

在虛擬機中安裝好bind bind-chroot

yum install bind bind-chroot -y

/etc/init.d/named start

cd /var/named/chroot/etc

vim named.conf

整個文件大致被我糟蹋成這個樣子:

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;

// ? ? ?dnssec-enable yes;

// ? ? ?dnssec-validation yes;

// ? ? ?dnssec-lookaside auto;

/* Path to ISC DLV key */

// ? ? ?bindkeys-file "/etc/named.iscdlv.key";

// ? ? ?managed-keys-directory "/var/named/dynamic";

};

logging {

channel default_debug {

file "data/named.run";

severity dynamic;

};

};

view localhost_resolver {

recursion yes;

include "/etc/named.rfc1912.zones";

zone "." IN {

type hint;

file "named.ca";

};

zone "example.com" IN {

type slave;

masters { 192.168.0.100; };

file "slaves/example.com.zone"; ? ? ?(從主DNS復制過來的數據保存在/var/named/chroot/var/named/slaves)

};

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

type slave;

masters { 192.168.0.100; };

file "slaves/example.com.local";

};

};

include "/etc/named.root.key";

在這個文件中,由于我們用到view來聲明,所以所有的域都應該在view中包含,不然重啟服務會出現以下錯誤:

Error in named configuration:

/etc/named.conf:37: when using 'view' statements, all zones must be in views

[FAILED]

OK,重啟我的輔助DNS。看下我們要的兩個數據文件復制過來了嗎?文件同步:

在主DNS中配置

cd /var/named/chroot/etc

vim named.rfc1912.zones

修改我們的zone

zone "example.com" IN {

type master;

file "example.com.zone";

allow-update { none; };

allow-transfer { 192.168.0.203; };

also-notify { 192.168.0.203; };

};

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

type master;

file "example.com.local";

allow-update { none; };

allow-transfer { 192.168.0.203; };

also-notify { 192.168.0.203; };

};

在原來的配置加上also-notify參數!

然后就是我們兩個數據庫文件的修改:

vim ?/var/named/chroot/var/named/example.com.zone

$TTL 1D

@ ? ? ? IN SOA ?silence.example.com. ? ?root.example.com. (

2014101204 ? ? ?; serial(d. admas)

2H ? ? ? ? ? ? ?; refresh

20M ? ? ? ? ? ? ; retry

1W ? ? ? ? ? ? ?; expire

1D) ? ? ? ? ? ? ; minimum

NS ? ? ?silence.example.com.

silence A ? ? ? 192.168.0.100

A ? ? ? 192.168.0.100

vm1 ? ? A ? ? ? 192.168.0.201

vm2 ? ? A ? ? ? 192.168.0.202

vm3 ? ? A ? ? ? 192.168.0.203

vm4 ? ? A ? ? ? 192.168.0.204

vm5 ? ? A ? ? ? 192.168.0.205

vm6 ? ? A ? ? ? 192.168.0.206

vm7 ? ? A ? ? ? 192.168.0.207

vm8 ? ? A ? ? ? 192.168.0.208

依樣畫葫蘆,example.com.local會修改了嗎?

在每次修改我們的數據庫文件時我們一定要記住修改serial的值,然后reload服務,查看下輔助DNS的文件數據有沒有同步吧~~~

總結

以上是生活随笔為你收集整理的linux6.4 dns 主从,dns正反解析与主从复制文件同步的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。