1. 程式人生 > >DNS服務器安裝

DNS服務器安裝

主目錄 redhat 延時 完成 工具 rep dns服務 status mask

DNS服務器安裝
思路:
關閉防火墻和selinux
配置yum源
軟件三部曲:
查看並安裝軟件
確認並成功安裝
查看軟件列表
了解配置文件(語法|參數設置) ------man 5 xxx.conf
根據需求通過修改配置文件完成服務搭建
啟動服務,開機自啟動
測試驗證

yum install -y bind
rpm -q bind 查看是否安裝成功
查看軟件列表rpm -ql bind |less
/etc/logrotate.d/named  日誌輪轉
/etc/named  配置文件主目錄
/etc/named.conf 主配置文件
/etc/named.rfc1912.zones    zone 文件 定義域
/etc/rc.d/init.d/named  啟動腳本

/usr/sbin/named     二進制文件
/usr/sbin/named-checkconf   檢查配置文件命令 named.conf named.rfc1912
/usr/sbin/named-checkzone   檢查zone文件是否正確。區域文件是否正確

/var/log/named.log  日誌文件
/var/named      數據文件的主目錄
/var/named/data 
/var/named/named.ca     跟域服務器
/var/named/named.empty  
/var/named/named.localhost      正向解析區域文件的模板
/var/named/named.loopback       反向
/var/named/slaves               dns服務器下載文件的默認路徑
/var/run/named      進程文件

主配置文件:
options {
listen-on port 53 { 127.0.0.1; };  監聽方式:ip地址為指定監聽 any為全網監聽
listen-on-v6 port 53 { ::1; };          是指當主機有多個網卡的時候,無論客戶端連接哪個ip
directory   "/var/named";               如果為any 都得到回應
dump-file   "/var/named/data/cache_dump.db";  dns緩存
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query     { localhost; };   允許哪些人查詢,any為任何人,可以ip指定誰,分號結尾
recursion yes;  是否遞歸

dnssec-enable yes;      DNS安全擴張機制——簽名認證
dnssec-validation yes;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";

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

};

zone "." IN {  跟域服務器 
type hint;
file "named.ca";

};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

子配置文件
/etc/named.rfc1912.zones

正向解析區域文件的模板
zone "localhost.localdomain" IN {
type master;
file "named.localhost";
allow-update { none; };

};

反向
zone "1.0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };

};

cat named.localhost
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial 主從才有用 跟新序列號
1D ; refresh
更新間隔-從服務器下載數據
1H ; retry 失敗重試
1W ; expire
區域文件的過期時間
3H ) ; minimum * 緩存的最小生存時間
NS @
A 127.0.0.1
AAAA ::1

裏面需要認識的符號:$TTL  緩存的生存時間
                    @ 當前域,域子配置文件有關
                    IN  互聯網
                    SOA     開始授權
                    NS      dns服務器  name server 
                    A       ipv4 
                    AAAA    IPV6
                    CNAME   別名
                    MX      郵件交互記錄 5 蘇子代表優先級,數字越小,優先級越高

根據需求搭建
dns服務器 192.168.31.62
client 192.168.31.41

www.quan.com 203.195.217.229
修改配置文件 named.conf 監聽方式 允許誰來查詢。
options {
listen-on port 53 { 127.0.0.1;any;};加入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 { localhost;any; };加入any
recursion yes;

    dnssec-enable no;   修改為no
    dnssec-validation no; 修改為no

    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";

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

};

修改子配置文件 /etc/named.rfc19212.zones---定義管理域 quan.com
追加一下
zone "quan.com" IN {
    type master;
    file "quan.com.zone";  // 文件名自定義  但需在var/name/創建出來
    allow-update { none; };

};

創建區域文件 /var/named/創建與上一步的文件
cp -p /var/named/named.localhost  /var/named/quan.com.zone

-rw-r-----. 1 root  named  152 Jun 21  2007 quan.com.zone
註意:因為文件的所屬組這些與直接創建文件的不一致,導致錯誤,用cp -p 復制

$TTL 1D
@ IN SOA quan.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS dns.quan.com. //dns可以隨便指定,但是後面的A記錄保持一致
dns A 192.168.31.62 //當前dns服務器的IP

www A 203.195.217.229 //

命令檢查配置文件語法
[root加CentOS6油 ~]$named-checkconf /etc/named.conf
[root加CentOS6油 ~]$named-checkconf /etc/named.rfc1912.zones
[root加CentOS6油 ~]$cd /var/named/ //先進入目錄
[root加CentOS6油 named]$named-checkzone quan.com.zone quan.com.zone 必須寫兩遍的域文件,否則不成工
zone quan.com.zone/IN: loaded serial 0
OK

啟動服務,開機自啟動
service named start
chkconfig named on
netstat -nltp |grep 53
netstat -nltup |grep 53

測試:
client

測試工具一 nslookup

指定dns服務器
[root加CentOS7油~]#echo nameserver 192.168.31.62 >/etc/resolv.conf
[root加CentOS7油~]#cat /etc/resolv.conf
nameserver 192.168.31.62
[root加CentOS7油~]#

[root加CentOS7油~]#nslookup www.quan.com
Server: 192.168.31.62
Address: 192.168.31.62#53

Name: www.quan.com
Address: 203.195.217.229

dig 工具

[root加CentOS7油~]#dig @192.168.31.62 www.quan.com

; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7 <<>> @192.168.31.62 www.quan.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46530
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.quan.com. IN A

;; ANSWER SECTION:
www.quan.com. 86400 IN A 203.195.217.229

;; AUTHORITY SECTION:
quan.com. 86400 IN NS dns.quan.com.

;; ADDITIONAL SECTION:
dns.quan.com. 86400 IN A 192.168.31.62

;; Query time: 1 msec
;; SERVER: 192.168.31.62#53(192.168.31.62)
;; WHEN: Thu Apr 11 10:34:31 CST 2019
;; MSG SIZE rcvd: 91

host工具
指定dns服務器
[root加CentOS7油~]#echo nameserver 192.168.31.62 >/etc/resolv.conf
[root加CentOS7油~]#cat /etc/resolv.conf
nameserver 192.168.31.62
[root加CentOS7油~]#host www.quan.com
www.quan.com has address 203.195.217.229

註意:正向解析沒問題
反向解析不行,因為沒有進行反向解析配置
如果不可以的話,檢查防火墻和selinux和網絡

需求2
dns server 192.168.31.62
client 192.168.31.41

解析:www.quan.com ---203.195.217.229

步驟:1. /etc/named.conf 前面進行了配置了,不需要更改

  1. /etc/named.rfc1912.zones 定義了quan.com正向的域
    追加:
    zone "217.195.203.in-addr.arpa" IN {
    type master;
    file "203.195.217.zone";
    allow-update { none; };
    };

    3.創建203.195.217.zone
    [root加CentOS6油 /]$cat /var/named/203.195.217.zone
    $TTL 1D
    @ IN SOA quan.com. rname.invalid. (
    0 ; serial
    1D ; refresh
    1H ; retry
    1W ; expire
    3H ) ; minimum
    @ NS dns.quan.com. 註意:因為正向解析已經寫入了dns.quan.com對應的dns服務器地址
    229 PTR www.quan.com. 如果寫的是abc.quan.com的話,在按照 添加A記錄

重啟服務,測試驗證
[root加CentOS6油 /]$service named restart
Stopping named: . [ OK ]
Starting named: [ OK ]
[root加CentOS7油~]#host 203.195.217.229
229.217.195.203.in-addr.arpa domain name pointer www.quan.com.

[root加CentOS7油~]#dig @192.168.31.62 -x 203.195.217.229 註意: 反向解析要加入-x 加ip

; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7 <<>> @192.168.31.62 -x 203.195.217.229
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16311
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;229.217.195.203.in-addr.arpa. IN PTR

;; ANSWER SECTION:
229.217.195.203.in-addr.arpa. 86400 IN PTR www.quan.com.

;; AUTHORITY SECTION:
217.195.203.in-addr.arpa. 86400 IN NS dns.quan.com.

;; ADDITIONAL SECTION:
dns.quan.com. 86400 IN A 192.168.31.62

;; Query time: 0 msec
;; SERVER: 192.168.31.62#53(192.168.31.62)
;; WHEN: Thu Apr 11 11:23:19 CST 2019
;; MSG SIZE rcvd: 117

主從DNS搭建
環境:
必須安裝版本相同的bind軟件
maser——dns:192.168.31.62 root加CentOS6油
slave——dns:192.168.31.140 [email protected]
ntp-server:192.168.31.152 時間同步服務器 [email protected]
測試主機

1。master 和slave 的系統時間保持一致
[root加CentOS6油 ~]$crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[root加CentOS6油 ~]$crontab -l
/2 * /usr/bin/rdata -s 192.168.31.152

[[email protected] ~]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[[email protected] ~]# crontab -l
*/2 * * * * /usr/bin/rdata -s 192.168.31.152 &>/dev/null

2.slave服務器上安裝相應的軟件(系統版本,軟件版本高度保持一致)
安裝軟件yum install -y bind
修改主配置文件 和主服務器一樣
修改子配置文件
zone "quan.com" IN {
type slave; 指定類型
file "slaves/slave.quan.com"; 同步過來的文件的保存路徑,主配置中已經設置了當前目錄
masters {192.168.31.62;}; 指定master dns 的ip地址 分號不能省
};

zone "momowu.cc" IN {
type slave;
file "slaves/slave.momowu.cc";
masters {192.168.31.62;};
}:
註意:不需要手動創建slave.momowu.cc

在master主操作
/etc/named.conf

/etc/named.rfc1912.zones
將定義域的allow-update {none;}; 刪掉,允許
zone "quan.com" IN {
type master;
file "quan.com.zone";
};

重啟服務
master:service named restart
slave : service named restart

註意:如果重啟後,沒有生成同步文件,要查看iptables 或者selinux有無關閉

測試:

修改:[root加CentOS7油~]#vim /etc/resolv.conf
nameserver 192.168.31.62
nameserver 192.168.31.140
~

[root加CentOS7油~]#nslookup www.quan.com
Server: 192.168.31.62
Address: 192.168.31.62#53

Name: www.quan.com
Address: 203.195.217.229

將master關掉之後

[root加CentOS7油~]#nslookup www.quan.com
Server: 192.168.31.140
Address: 192.168.31.140#53

Name: www.quan.com
Address: 203.195.217.229
將master恢復之後,提供DNS還是master 主要還是與客戶端的DNS服務器寫的先後有關

3.根據需求修改相應配置文件(master slave都要)

註意:若要值允許固定的服務器同步DNS數據,修改/etc/named.conf
man 5 named.conf 查看配置參數
添加 allow-transfer {192.168.31.140;};

搭建時間同步服務器NTP network time protocol 端口123
[[email protected] ~]
查看有無安裝: rpm -q ntp yum list |grep ntp
安裝軟件yum install -y ntp
查詢文件 rpm -ql ntp

修改配置文件:
加入一行
restrict 192.168.31.0  mask 255.255.255.0 nomodify notrap
192.168.31.0這個網段的主機都可以進行時間同步
重啟服務:

客戶端:
[[email protected] ~]# ntpdate 192.168.31.152
11 Apr 14:07:08 ntpdate[28462]: no server suitable for synchronization found
依賴於外網,同步時間有延時

方法2:
    安裝xinetd軟件:yum install -y xinetd
    修改配置文件/etc/xinetd.d/time-dgram
                /etc/xinetd.d/time-stream
                將disable = yes  改為no  
    重啟服務 
    netstat -tunlp |grep 37 

    客戶端:
    [[email protected] ~]# rdate -s 192.168.31.152
    [[email protected] ~]# date
    Thu Apr 11 16:38:53 CST 2019

DNS服務器安裝