DNS服务

DNS: 域名解析,监听端口:53

域名:

    1. 根域-->*域-->二级域-->......-->主机名
    2. 根域: .
    3. *域:com、cn、org、gov、edu、net、UK、HK、US、
    4. 二级域:自定义
    5. 主机名:同一域中不能重复。

 

DNS解析类型:

 

正向解析:域名--IP

记录类型:A、AAAA、CNAME、NS、MX

反向解析:IP--域名

记录类型:PTR、CNAME、NS

 

DNS服务器类型:

主要名称服务器:

负责维护解析记录

辅助名称服务器:

提供负载均衡,解析记录只能从主要名称服务器下载。

缓存名称服务器:

提供高速缓存,数据存储在内存中。

 

DNS服务器配置:

DNS:域名解析协议,监听UDP的53号端口。

1. DNS解析类型:

正向解析:将已知的完全限定域名解析为IP地址

完全限定域名:主机名.二级域.*域.【最后的"."指根域,可省略不写】,例如:www.baidu.com

反向解析:将IP地址解析为完全限定域名

2. DNS服务器类型:

主服务器:master服务器,用于维护所有解析文件,其他服务器可以从该服务器下载解析文件

从服务器:slave服务器,作为master服务器的备份,本身修改解析文件

缓存服务器:cache服务器,提高用户的查询速度

3. DNS查询类型:

递归查询:客户端找到第一个DNS服务器时就直接返回查询结果。

迭代查询:客户端查询时第一个DNS服务器没有返回结果,而是向根服务器或者其他服务器请求查询,找到结果后,一层一层返回结果。

4. DNS协议的发展:

HOSTS文件:每个主机中都存在一个HOSTS文件,文件中记录了IP与主机名的对应关系

windows系统:%systemroot%/system32/dirvers/etc/hosts

Linux系统:/etc/hosts

5. 客户端查找解析记录的顺序:

本地DNS缓存-->hosts文件-->首选DNS服务器地址-->备用DNS服务器地址

6. DNS服务部署过程:

1)配置静态IP地址

2)关闭防火墙与selinux

3)配置yum源

4)安装bind软件包,但是不要安装bind-chroot软件包

yum install -y bind

5)DNS配置文件:

     a)配置主DNS服务器:

主配置文件:

options {

listen-on port 53 { 192.168.100.1; };#设置监听地址,DNS服务器地址

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; };#设置访问策略,改为"any"

recursion yes;

dnssec-enable yes;

dnssec-validation yes;

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

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

pid-file "/run/named/named.pid";

session-keyfile "/run/named/session.key";

};

logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

};

zone "." IN {

type hint;

file "named.ca";

};

#添加正向解析区域文件

zone "lanou.com" IN {

type master;

file "lanou.com.zone";

allow-transfer { 192.168.100.2; };#允许从DNS服务下载区域文件,该IP为从DNS服务器地址

};

#添加反向解析区域文件

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

type master;

                        file "192.168.100.arpa";

                        allow-transfer { 192.168.100.2; };  //只配置主要名称服务器不需要添加!

};

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

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

 

区域文件配置:

cd  /var/named/

cp named.empty lanou.com.zone

cp named.empty 192.168.100.arpa

chown .named 192.168.100.arpa

chown .named lanou.com.zone

 

正向解析文件配置:

$TTL 3H

@       IN SOA  lanou.com. admin.lanou.com. (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

@       NS      dns1.lanou.com.

dns1    A       192.168.100.1

dns2    A       192.168.100.2

mail    A       192.168.100.10

ftp     A       192.168.100.11

www     A       192.168.100.100

 

反向解析文件:

$TTL 3H

@       IN SOA  lanou.com. admin.lanou.com. (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

@       NS      dns1.lanou.com.

1       PTR     dns1.lanou.com.

2       PTR     dns2.lanou.com.

10      PTR     mail.lanou.com.

11      PTR     ftp.lanou.com.

100     PTR     www.lanou.com.

 

b)从DNS服务器配置:

主配置文件:

options {

listen-on port 53 { 192.168.100.2; };#设置监听地址,DNS服务器地址

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; };#设置访问策略,改为"any"

recursion yes;

dnssec-enable yes;

dnssec-validation yes;

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

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

pid-file "/run/named/named.pid";

session-keyfile "/run/named/session.key";

};

logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

};

zone "." IN {

type hint;

file "named.ca";

};

#定义正向解析区域文件下载

zone "lanou.com" IN {

type slave;  ####定义从服务器

file "slaves/lanou.com.zone";

masters { 192.168.100.1; };#指定主服务器地址

};

#定义反向解析区域文件下载

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

type slave; ###定义从服务器

                        file "slaves/192.168.100.arpa";

masters { 192.168.100.1; };#指定主服务器地址

};

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

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

 

开启服务器服务:

先开启主服务器,再开启从服务器!!!

7. 验证解析情况:

配置DNS地址:

vim /etc/resolv.conf

nameserver 192.168.100.1 ##设置首选DNS

nameserver 192.168.100.2 ##设置备用DNS

终端验证:

nslookup

8. 资源记录说明:

1、SOA: Start Of Authority,起始授权记录,一个区域解析库有且只能有一个SOA记录,而且必须放在第一条,而且在编写时不能使用“@”符号,使用“.”符号代替

2、NS: Name Service,域名服务记录,一个区域解析库可以有多个NS记录,其中一个为主的,任何一个NS记录后面的服务器名字,都应该在后续有一个A(地址记录);

3、A:  Address, 地址记录,FQDN --> IPv4(正向解析库);

4、AAAA: 地址记录, FQDN --> IPv6(正向解析库);

5、CNAME:Canonical Name,别名记录;

6、PTR: Pointer,IP --> FQDN(反向解析库),IP有特定格式,把IP地址反过来写,1.2.3.4

要写作4.3.2.1;而有特定后缀:in-addr.arpa.,所以完整写法为:4.3.2.1.in-addr.arpa.

7、MX: Mail eXchanger,邮件交换器,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录,优先级:0-99,数字越小优先级越高;

 

上一篇:python导入自定义模块报No module named XXX‘


下一篇:Linux中的DNS服务