Linux:DNS系统的分布式数据结构及服务器搭建

嵌入式技术

1368人已加入

描述

DNS简介

DNS(Domain Name System)域名系统:

是一种采用客户端/服务器机制,负责实现计算机名称与IP地址转换的系统。DNS作为一种重要的网络服务,既是国际互联网工作的基础,同时在企业内部网络中也得到了广泛地应用。

DNS服务器的作用

正向解析:根据主机名称(域名)查找对应的IP地址
反向解析:根据IP地址查找对应的主机域名

DNS系统的分布式数据结构

DNS服务器

DNS查询方式

递归查询:大多数客户机向DNS服务器解析域名的方式
迭代查询:大多数DNS服务器向其他DNS服务器解析域名的方式

DNS服务器的类型

缓存域名服务器

缓存域名服务器:也称唯高速缓存服务器,通过向其他域名服务器查询获得域名->IP地址记录,将域名查询结果缓存到本地,提高重复查询时的速度。

主域名服务器

主域名服务器:特定DNS区域的官方服务器,具有唯一性,负责维护该区域内所有域名->IP地址的映射记录。

从域名服务器

从域名服务器:也称为辅助域名服务器,其维护的域名->IP地址记录来源于主域名服务器。

BIND域名服务基础

 BIND(Berkeley Internet Name Daemon)伯克利Internet域名服务。
官方站点:https://www.isc.org/
BIND服务器端程序
主要执行程序:/usr/sbin/named
服务脚本:/etc/init.d/named
默认监听端口:53
主配置文件:/etc/named.conf
保存DNS解析记录的数据文件位于:/var/named/chroot/var/named/

配置文件分析

/etc/named.conf

options { #选项
        listen-on port 53 { 127.0.0.1; }; #服务监听端口为53
        listen-on-v6 port 53 { ::1; }; #服务监听端口为53(ipv6)
        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; }; #允许连接的客户机
        recursion yes; #递归查找
 
        dnssec-enable yes; #DNS加密
        dnssec-validation yes; #DNS加密高级算法
        dnssec-lookaside auto; #DNS加密的相关东西
 
        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key"; #加密用的key(私钥公钥的加密,很强)
};

logging { #日志
        channel default_debug {
                file "data/named.run"; #运行状态文件
                severity dynamic; #静态服务器地址(根域)
        };
};
 
zone "." IN { #根域解析
        type hint;  master slave
        file "named.ca"; #根域配置文件
};
 
include "/etc/named.rfc1912.zones"; #扩展配置文件(新开域名)

/etc/named.rfc1912.zones

zone "localhost.localdomain" IN { #本地主机全名解析
        type master; #类型为主域
        file "named.localhost"; #域配置文件(文件存放在/var/named目录中)
        allow-update { none; }; #不允许客户端更新
};
 
zone "localhost" IN { #本地主机名解析
        type master;
        file "named.localhost";
        allow-update { none; };
};
 
zone ".0.ip4.arpa" IN { #ipv6本地地址反向解析
        type master;
        file "named.loopback";
        allow-update { none; };
};
 
zone "1.0.0.127.in-addr.arpa" IN { #本地地址反向解析
        type master;
        file "named.loopback";
        allow-update { none; };
};
 
zone "0.in-addr.arpa" IN { #本地全网地址反向解析(和/域更新用的)
        type master;
        file "named.empty";
        allow-update { none; };
};

/var/named/named.localhost

$TTL 1D #更新为最长1天
@(使用域的域名)       IN SOA(权威DNS服务器)  @(权威DNS服务器的名称) rname.invalid.(rname@invalid的邮件) (
                                        0       ; serial #(更改号)十位数的序列号
                                        1D      ; 更新频率
                                        1H      ; 失败重新尝试时间
                                        1W      ; 失效时间
                                        3H )    ; 缓存时间
        NS(域名服务器)      @(域名服务器名称)
        A(正向解析记录)       127.0.0.1(正向解析的ip)
        AAAA(ipv6正向解析)    ::1(ipv6正向解析的ip)

搭建DNS服务器

安装DNS服务器

安装bind程序包

yum install bind

启动服务

systemctl start named.service

设置自启动状态

systemctl enable named.service

配置文件

配置主配置文件

vim /etc/named.conf

改动为
listen-on-v6 port 53 { any; };

allow-query { any; };

配置zones文件

正向解析配置

添加 正向解析
zone "lzy.com." IN {
type master;
file "lzy.com.zone";
allow-update { none; };
};

反向解析配置

添加反向解析
zone "134.168.192.in-addr.arpa" IN {
tpye master;
file "134.168.192.zone";
allow-update { none; };
};

配置区域配置文件

复制文件

cp /var/named/named.empty /var/named/lzy.com.zone
cp /var/named/named.empty /var/named/134.192.168.zone

修改权限

chown :named zlt.com.zone

正向解析配置

为excesoft.com域名设计正向解析,将/var/named/named.empty复制重命名为excesoft.com.zone,
修改文件属组为named,并对其内容进行修改

$TTL 3H
@IN SOA lzy.com. root.lzy.com. (
0;serial
1D;refresh
1H;retry
1W;expire
3H);minimum
NSdns.lzy.com.
dnsA192.168.134.139
wwwA192.168.134.139

反向解析配置

为excesoft.com域名设计反向解析,将/var/named/named.empty复制重命名为137.168.192.zone,修
改文件属组为named,并对其内容进行修改。

配置网卡

vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static
IPADDR1=192.168.134.139
NETMASK=255.255.255.0
GATEWAY=192.168.134.2
DNS1=192.168.134.139

启动DNS服务器

systemctl start named.service

检查配置文件

named-checkconf

配置客户端

修改配置文件

修改配置文件:#vim /etc/resolv.conf。
写入以下内容:
excesoft.
 nameserver 192.168.137.22

测试DNS服务器

测试DNS服务器
在客户端计算机上使用命令 nslookup进行测试。

审核编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分