DNS服务器搭建

DNS服务的作用

将域名转换成IP地址的功能
DNS服务器搭建

DNS概念

DNS是一个分布式数据库,命名系统采用层次的逻辑结构,如同一棵倒置的树。这个逻辑的树形结构称为域名空间。由于DNS划分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息。
DNS服务器搭建

FQDN域名

FQDN --完全正式域名。能准确表示出其相对于DNS域树根的位置,也就是节点到DNS树根的完整表述方式,从节点到树根采用反向书写,并将每个节点用“.”分隔。

DNS根域由Internet域名注册授权机构管理。*域有3类,分别为:
组织域:采用3个字符的代号,表示DNS域中所包含的组织的主要功能或活动。比如,com为商业机构组织,edu为教育机构组织,gov为*机构组织,mil为军事机构组织,net为网络机构组织,org为非营利机构组织,int为国际机构组织。
地址域:采用两个字符的国家或地区代号,如cn为中国、kr为韩国、us为美国。
反向域:这是个特殊域,名字为in-addr.arpa,用于将IP地址映射到域名(反向查询)。

DNS域名解析过程

DNS服务器搭建
(1)客户端向本地DNS服务器直接查询www.163.com的域名。
(2)本地DNS无法解析此域名,它先向根域服务器发出请求,查询.com的DNS地址。
(3)根域DNS管理.com、.net、.org等*域名的地址解析,它收到请求后,把解析结果返回给本地的DNS。
(4)本地DNS服务器得到查询结果后,接着向管理.com域的DNS服务器发出进一步的查询请求,要求得到163.com的DNS地址。
(5).com域把解析结果返回给本地DNS服务器0。
(6)本地DNS服务器得到查询结果后,接着向管理163.com域的DNS服务器发出查询具体主机IP地址的请求(www),要求得到满足要求的主机IP地址。
(7)163.com把解析结果返回给本地DNS服务器。
(8)本地DNS服务器得到了最终的查询结果,它把这个结果返回给客户端,从而使客户端能够和远程主机通信

正、反向解析

正向解析:正向解析是指域名到IP地址的解析过程。
反向解析:反向解析是从IP地址到域名的解析过程。反向解析的作用为服务器的身份验证。

DNS服务器配置

首先我们配置正向解析

任务要求
某校园网要架设一台DNS服务器负责long.com域的域名解析工作。DNS服务器的FQDN为dns.long.com,IP地址为192.168.225.10。要求为以下域名实现正向域名解析服务。
dns.long.com 192.168.225.10
mail.long.com 192.168.225.2
slave.long.com 192.168.225.3
www.long.com 192.168.225.4
ftp.long.com 192.168.225.5
另外,为www.long.com设置别名为web.long.com。
实验操作
首先安装bind服务

[root@dns ~]# yum install bind bind-chroot -y

编辑全局配置文件

[root@dns ~]# vim /etc/named.conf
        listen-on port 53 { any; };   //监听的IP地址及端口
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };   //指定SELinux的影响
        dnssec-validation no;
        ......
        ......
include "/etc/named.rfc1912.zones";   //主配置文件
include "/etc/named.root.key";

主配置文件的名称一定要与/etc/named.conf文件中指定的文件名一致。
修改主配置文件
仿照文件中格式添加即可。

[root@dns ~]# vim /etc/named.rfc1912.zones
zone "long.com" IN {
        type master;
        file "long.com.zone";
        allow-update{ none;};
};

修改bind的区域配置文件,
创建long.com.zone正向区域文件。

[root@dns ~]# cd /var/named   //文件路径
[root@dns named]# ls
chroot  data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@dns named]# cp -p named.localhost  long.com.zone
[root@dns named]# vim long.com.zone 
$TTL 1D
@       IN SOA  @ root.long.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
@          IN  NS        dns.long.com.
@          IN  MX   10   mail.long.com.
dns        IN  A         192.168.225.10
mail       IN  A         192.168.225.2
slave      IN  A         192.168.225.3
www        IN  A         192.168.225.4
ftp        IN  A         192.168.225.5
web        IN  CNAME     www.long.com.
~                                         

在dns服务器上配置防火墙,设置主配置文件和区域文件的属组为named,然后重启DNS服务。

[root@dns ~]# firewall-cmd --permanent --add-service=dns
success
[root@dns ~]# firewall-cmd --reload
success
[root@dns ~]# chgrp named /etc/named.conf
[root@dns ~]# systemctl restart named

配置Linux客户端,并使用nslookup测试

[root@client ~]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.225.10
search long.com
[root@client ~]# nslookup
> ftp   //正向查询,查询域名所对应IP
Server:		192.168.225.10
Address:	192.168.225.10#53

Name:	ftp.long.com
Address: 192.168.225.5
> dns
Server:		192.168.225.10
Address:	192.168.225.10#53

Name:	dns.long.com
Address: 192.168.225.10
> www
Server:		192.168.225.10
Address:	192.168.225.10#53

Name:	www.long.com
Address: 192.168.225.4

> 192.168.225.10
** server can't find 10.225.168.192.in-addr.arpa.: NXDOMAIN   //反向无法解析

配置反向解析
修改主配置文件,格式仿照文件即可

[root@dns ~]# vim /etc/named.rfc1912.zones
zone "225.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.225.zone";
        allow-update { none; };
};

创建192.168.225.zone 反向区域文件。

[root@dns ~]# cd /var/named/   //文件路径
[root@dns named]# ls
chroot  data  dynamic  long.com.zone  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@dns named]# cp -p named.loopback 192.168.225.zone
[root@dns named]# vim 192.168.225.zone 
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
        PTR     localhost.
@       IN      NS      dns.long.com.
@       IN  MX  10      mail.long.com.
10      IN      PTR     dns.long.com.
2       IN      PTR     mail.long.com.
3       IN      PTR     slave.long.com.
4       IN      PTR     www.long.com.
5       IN      PTR     ftp.long.com.
~                                           

在dns服务器上配置防火墙,设置主配置文件和区域文件的属组为named,然后重启DNS服务。

[root@dns ~]# firewall-cmd --permanent --add-service=dns
success
[root@dns ~]# firewall-cmd --reload
success
[root@dns ~]# chgrp named /etc/named.conf
[root@dns ~]# systemctl restart named
> 192.168.225.10
** server can't find 10.225.168.192.in-addr.arpa.: NXDOMAIN
> ^C[root@client ~]# 
[root@client ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.225.10
search long.com
[root@client ~]# nslookup
> 192.168.225.2     //反向查询,查询IP所对应域名
2.225.168.192.in-addr.arpa	name = mail.long.com.
> 192.168.225.10
10.225.168.192.in-addr.arpa	name = dns.long.com.
> 192.168.225.3
3.225.168.192.in-addr.arpa	name = slave.long.com.
> 

DNS服务器还有其他操作方式
这里不做演示

上一篇:凉心的比赛(一)题解


下一篇:负载均衡原理之一:DNS轮循