DNS服务(修改版1.0)

DNS介绍

DNS(Domain  Name  Service) 域名解析服务

基于 C/S 结构,端口:53/udp、53/tcp

/etc/hosts 在本机设置IP与FQDN的对应关系

/etc/resolv.conf 增加实现DNS的IP

/etc/nsswitch.conf 可修改DNS服务实现的优先顺序(默认主机hosts优先)

DNS域名是递归类划分:

根域 --> 一级域  -->  二级域  --> …………--> 最多到127级域

FQDN(Fully  Qualified  Domain  Name) 正式完整域名


DNS服务相关程序包:

Server:bind(目前应用最广泛)

bind程序包提供的相关文件:

1.named.service(服务名)

2./etc/named.conf(主配置文件)

3./var/name/(默认存放区域解析库文件)

4./etc/named.rfc1912.zones(定义区域文件名)

Client:bind-utils(提供了测试DNS的工具:dig、host、nslookup)

1.dig FQDN [@DNS_IP](无[]表示从本机查看)

(dig -t NS 域名 [@DNS_IP] 查看谁提供“域名”解析服务)

2.host FQDN

3.nslookup

>server DNS_IP

>FQDN


DNS服务器

主要分为 主DNS服务器、从DNS服务器、缓存DNS服务器(转换器);

主DNS服务器:主管理和维护负责解析的域内解析库;

解析库是由众多资源记录组合而成,包括以下内容:

SOA:Start of Authority 起始授权记录,每个区域解析库SOA记录必须排在第一位,并且只有一条;

A:用于解析FQDN的IPv4地址 

AAAA:用于解析FQDN的IPv6地址

PTR:用于反向解析,由IP地址解析FQDN

NS:Name Server,用于标记当前域的DNS服务器

CNAME:Canonical Name ,表示别名

MX:Mail exchange,邮件交换器


服务器得的搭建

主要涉及需要的文件为:

/etc/named.conf                    主要配置文件

/etc/named.rfc1912.zones  区域信息设置文件

/var/named/                            此目录下主要设置区域解析文件

在此三个文件中配置好相关内容,即可生效DNS服务器


DNS服务器的规划实验

实验:实现正向DNS主服务器的搭建

vim /etc/named.conf

listen-on port 53 {localhost;};(localhost表示本机所有IP地址)

allow-query { any; };(表示此DNS服务可对所有主机服务)

vim /etc/named.rfc1912.zones

zone "ruixiaoyu.com" IN {

type master;

file "ruixiaoyu.com.zone";

};

cd /var/named/

vim ruixiaoyu.com.zone(注意所属组为named)

$TTL 1D

@         IN     SOA    dns1 admin ( 01 1D 1H 1W 3H )

                       NS      dns1

dns1              A        172.18.122.241

test                 A        1.1.1.1

                        A        2.2.2.2

www           CNAME   test

 

检查配置文件语法:

named-checkconf

检查区域解析库文件语法:

named-checkzone ruixiaoyu.com /var/named/ruixiaoyu.com.zone

rndcc reload == systemctl reload named (重新加载配置文件)



/etc/named.conf中:

recursion yes(允许进入根域递归查询)

/etc/named.rfc1912.zones中区域信息下:

allow-update { any;};(允许任何人对此区域解析库进行修改)

客户端进行修改:

nsupdate

>server DNS_IP

>update add 资源记录

>send



实验:主从架构DNS服务器(主DNS为上一个实验)

为保证安全,特定从服务器才可抓取区域解析库文件

在主DNS服务器上:

vim /etc/named.conf

allow-transfer {172.18.123.17;};(从服务器地址)

vim ruixiaoyu.com.zone(增加)

            NS  dns2

dns2     A  172.18.123.17

从DNS服务器设置:

vim /etc/named.conf

listen-on port 53 {localhost;};

allow-query { any; };

allow-transfer { none;};

vim /etc/named.rfc1912.zones

zone "ruixiaoyu.com" IN {

type slave;

masters { 172.18.122.241;};

file "slaves/ruixiaoyu.com.slave.zone";

};

sytemctl start named

(注意:主从复制,基于主服务的区域解析库文件里的序列号)


实验:DNS子域的实现(主DNS服务器是上面已经建好的)

方法一:在主DNS服务器上

vim ruixiaoyu.com.zone(增加)

www.ziyu    A    3.3.3.3

方法二:在主DNS服务器上

vim /etc/named.rfc1912.zones

zone "ziyu.ruixiaoyu.com" IN {

type master;

file "ziyu.ruixiaoyu.com.zone";

};

vim ziyu.ruixiaoyu.com.zone(注意所属组为named)

$TTL 1D

@         IN        SOA        dns1 admin ( 01 1D 1H 1W 3H )

                            NS        dns1

dns1                    A         172.18.122.241

www                     A         3.3.3.3

方法三:在新的一台主机建立(也称为子域的委派)

在主DNS服务器

vim /etc/named.conf

dnssec-enable no;

dnssec-validation no;

vim ruixiaoyu.com.zone(增加)

ziyu           NS      dns3

dns3          A         172.18.123.34

在新主机上建立子域:

vim /etc/named.rfc1912.zones

zone "ziyu.ruixiaoyu.com" IN {

type master;

file "ziyu.ruixiaoyu.com.zone";

};

vim ziyu.ruixiaoyu.com.zone(注意所属组为named)

$TTL 1D

@           IN         SOA       dns1    admin ( 01 1D 1H 1W 3H )

                              NS        dns1

dns1                      A         172.18.123.34

www                      A          3.3.3.3


实验:实现DNS的转发(主DNS服务器是上面已建好的)

在另外一台主机上建立一个新的域

vim /etc/named.conf

listen-on port 53 {localhost;};

allow-query { any; };

vim /etc/named.rfc1912.zones

zone "jiudian.com" IN {

type master;

file "jiudian.com.zone";

};

cd /var/named/

vim jiudian.com.zone(注意所属组为named)

$TTL 1D

@ IN           SOA            dns1         admin ( 01 1D 1H 1W 3H )

                     NS              dns1

dns1             A               172.18.121.22

www              A               4.4.4.4

全局性:在主DNS服务器上

vim /etc/named.conf

forward first;(表示没有的域进行转发,转发后若查询不到,再去根上找)

forward only;(表示没有的域进行转发,转发后若是仍找不到,就结束)

forwarders { 172.18.121.22;};

特指性:在主DNS服务器上

vim /etc/named.rfc1912.zones

zone "jiudian.com" IN {

type forward;

forward first;(或者forward only)

forwarders { 172.18.121.22;};

};

主DNS服务器上

vim /etc/named.conf

dnssec-enable no;

dnssec-validation no;

 

DNS服务器 rndc flush 可清除缓存(rndc管理基于tcp:953)



实验:实现智能DNS(自动分配给客户端最近的DNS服务器)

可通过CDN(Content Delivery Network)服务进行管理

假设有三个网段,分别给不同地区使用

vim /etc/named.conf

acl beijingnet {

192.168.26.0/24;

};

acl shanghainet {

172.18.0.0/16;

};

acl othernet {

any;

};

(需要注意acl的顺序,客户端ip会按照此顺序进行排查)

建立三个不同的区域解析库文件

cd /var/named/

vim ruixiaoyu.com.zone.bj(注意所属组为named)

$TTL 1D

@          IN       SOA        dns1 admin ( 01 1D 1H 1W 3H )

                           NS         dns1

dns1                   A          172.18.122.241

www                    A           1.1.1.1

vim ruixiaoyu.com.zone.sh(注意所属组为named)

$TTL 1D

@          IN       SOA        dns1 admin ( 01 1D 1H 1W 3H )

                           NS         dns1

dns1                   A          172.18.122.241

www                    A           2.2.2.2

 

vim ruixiaoyu.com.zone.ot(注意所属组为named)

$TTL 1D

@          IN       SOA        dns1 admin ( 01 1D 1H 1W 3H )

                           NS         dns1

dns1                   A          172.18.122.241

www                    A           3.3.3.3

此时需要启用view视图,并且此时区域信息文件则必须放在view下

vim /etc/named.conf

zone "." IN {

type hint;

file "named.ca";

};

(这一段迁移至/etc/named.rfc1912.zones中)

创建view视图信息

vim /etc/named.conf

view beijingview {

match-clients { beijingnet;};

zone "ruixiaoyu.com" IN {

type master;

file "ruixiaoyu.com.zone.bj";

};

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

};

view shanghaiview {

match-clients { shanghainet;};

zone "ruixiaoyu.com" IN {

type master;

file "ruixiaoyu.com.zone.sh";

};

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

};

view otherview {

match-clients { othernet;};

zone "ruixiaoyu.com" IN {

type master;

file "ruixiaoyu.com.zone.ot";

};

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

};

其中区域信息

zone "ruixiaoyu.com" IN {

type master;

file "ruixiaoyu.com.zone.bj";

};

也可以换写为(注意组的权限为named)

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

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

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

然后在各自独立的总区域信息文件中,加入设置的区域信息



 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值