DNS服务器配置实例

来自CloudWiki
跳转至: 导航搜索

需求

配置符合下列条件的服务器:

  • 域名为linux.net,网段地址为10.0.0.0/24
  • 主域名服务器的地址为10.0.0.3,主机名为dns.linux.net
  • 需要解析的服务器包括:www.linux.net,ftp.linux.net,mail.linux.net

编辑主配置文件

vi /etc/named.conf

options {
        listen-on port 53 {  10.0.0.3; };#本机IP
        ...
        allow-query     {any; };
        

       ...
};
:



vi /etc/named.rfc1912.zones

将下列内容添加到该文件中

zone "linux.net" IN {
        type master;
        file "linux.net";
};
zone "0.0.10.in-addr.arpa" IN {
        type master;
        file "db.0.0.10";
};
zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback";
};

思考:linux系统中配置DNS服务器时,若需要添加一个主域名服务器解析区域,应该使用什么type ?

配置正向区域数据库文件

[root@maxin yum.repos.d]# cd /var/named/chroot/var/named

[root@maxin named]# vi linux.net

$TTL 1D
@       IN SOA  dns.linux.net. root.dns.linux.net. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN      NS      dns.linux.net.
        IN      MX      10 mail.linux.net.
dns     IN      A       10.0.0.3(本机IP)
www     IN      A       10.0.0.3(本机IP)
ftp     IN      A       10.0.0.20
mail    IN      A       10.0.0.21


配置反向区域数据库文件

[root@maxin named]# cd /var/named/chroot/var/named

[root@maxin named]# ls

chroot  data  dynamic  linux.net  named.ca  named.empty  named.localhost  named.loopback  slaves

[root@maxin named]# vi db.0.0.10

@       IN SOA  dns.linux.net. root.dns.linux.net. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN      NS      dns.linux.net.
3      IN      PTR     dns.linux.net.
3      IN      PTR     www.linux.net.
20      IN      PTR     ftp.linux.net.
21      IN      PTR     mail.linux.net.

配置本机反向区域文件

上文同一目录下,新建文件named.local

@       IN SOA  dns.linux.net. root.dns.linux.net. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN      NS      dns.linux.net.
1       IN      PTR     localhost.

启动DNS服务

[root@maxin named]# service named restart
Stopping named: umount: /var/named/chroot/var/named: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
                                                           [  OK  ]
Starting named:                                            [  OK  ]
[root@maxin named]# ps aux|grep named
named     5006  0.0  0.4  47712  9380 ?        Ssl  05:40   0:00 /usr/sbin/named -u named -t /var/named/chroot
root      5017  0.0  0.0   4312   720 pts/0    S+   05:41   0:00 grep named

客户端配置

Linux客户端

为了简化环境,可在DNS服务器上进行客户端配置

vi /etc/resolv.conf

search  linux.net
nameserver      10.0.0.3

cd /etc/sysconfig/network-scripts

vi ifcfg-eth0 修改:

DNS1=10.0.0.47

service network restart

Windows客户端

Linux9-17.png

Linux9-19.png

用浏览器(最好用浏览器的隐身模式)输入配的网址,打开相应的网页:

Linux9-20.png

测试DNS服务

测试DNS命令

nslookup www.linux.net

Server:         10.0.0.3
Address:        10.0.0.3#53

Name:   www.linux.net
Address: 10.0.0.10

使用交互式方法查询:

[root@maxin network-scripts]# nslookup
> server
Default server: 10.0.0.3
Address: 10.0.0.3#53
> dns.linux.net
Server:         10.0.0.3
Address:        10.0.0.3#53

Name:   dns.linux.net
Address: 10.0.0.47
> 10.0.0.20
Server:         10.0.0.3
Address:        10.0.0.3#53

20.0.0.10.in-addr.arpa  name = ftp.linux.net.
> set type=mx
> linux.net
Server:         10.0.0.3
Address:        10.0.0.3#53

linux.net       mail exchanger = 10 mail.linux.net.
> exit

[root@maxin network-scripts]# nslookup
> set debug
> mail.linux.net
Server:         10.0.0.3
Address:        10.0.0.3#53

------------
    QUESTIONS:
        mail.linux.net, type = A, class = IN
    ANSWERS:
    ->  mail.linux.net
        internet address = 10.0.0.21
        ttl = 86400
    AUTHORITY RECORDS:
    ->  linux.net
        nameserver = dns.linux.net.
        ttl = 86400
    ADDITIONAL RECORDS:
    ->  dns.linux.net
        internet address = 10.0.0.3
        ttl = 86400
------------
Name:   mail.linux.net
Address: 10.0.0.21
> www.linux.net
Server:         10.0.0.3
Address:        10.0.0.3#53

------------
    QUESTIONS:
        www.linux.net, type = A, class = IN
    ANSWERS:
    ->  www.linux.net
        internet address = 10.0.0.10
        ttl = 86400
    AUTHORITY RECORDS:
    ->  linux.net
        nameserver = dns.linux.net.
        ttl = 86400
    ADDITIONAL RECORDS:
    ->  dns.linux.net
        internet address = 10.0.0.3
        ttl = 86400
------------
Name:   www.linux.net
Address: 10.0.0.10
> set nodebug
> exit


host命令:

[root@maxin network-scripts]# host www.linux.net
www.linux.net has address 10.0.0.10
[root@maxin network-scripts]# host 10.0.0.21
21.0.0.10.in-addr.arpa domain name pointer mail.linux.net.
[root@maxin network-scripts]# host -a mail.linux.net
Trying "mail.linux.net"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24437
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;mail.linux.net.                        IN      ANY

;; ANSWER SECTION:
mail.linux.net.         86400   IN      A       10.0.0.21

;; AUTHORITY SECTION:
linux.net.              86400   IN      NS      dns.linux.net.

;; ADDITIONAL SECTION:
dns.linux.net.          86400   IN      A       10.0.0.3

Received 82 bytes from 10.0.0.47#53 in 0 ms

dig命令:

[root@maxin network-scripts]# dig mail.linux.net

; <<>> DiG 9.7.0-P2-RedHat-9.7.0-5.P2.el6 <<>> mail.linux.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8103
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;mail.linux.net.                        IN      A

;; ANSWER SECTION:
mail.linux.net.         86400   IN      A       10.0.0.21

;; AUTHORITY SECTION:
linux.net.              86400   IN      NS      dns.linux.net.

;; ADDITIONAL SECTION:
dns.linux.net.          86400   IN      A       10.0.0.3

;; Query time: 0 msec
;; SERVER: 10.0.0.47#53(10.0.0.47)
;; WHEN: Thu Oct 25 05:59:51 2018
;; MSG SIZE  rcvd: 82

[root@maxin network-scripts]# dig -x 10.0.0.10

; <<>> DiG 9.7.0-P2-RedHat-9.7.0-5.P2.el6 <<>> -x 10.0.0.10
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32382
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;10.0.0.10.in-addr.arpa.                IN      PTR

;; ANSWER SECTION:
10.0.0.10.in-addr.arpa. 10800   IN      PTR     www.linux.net.

;; AUTHORITY SECTION:
0.0.10.in-addr.arpa.    10800   IN      NS      dns.linux.net.

;; ADDITIONAL SECTION:
dns.linux.net.          86400   IN      A       10.0.0.3

;; Query time: 0 msec
;; SERVER: 10.0.0.47#53(10.0.0.47)
;; WHEN: Thu Oct 25 05:59:59 2018
;; MSG SIZE  rcvd: 101