最全面的DNS域名解析服务!

Posted 龙少。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最全面的DNS域名解析服务!相关的知识,希望对你有一定的参考价值。

一.BIND域名服务基础

1.DNS系统的作用及类型

(1)作用

① 正向解析

根据域名查找对应的IP地址

② 反向解析

根据IP地址查找对应的域名

③ DNS系统的分布式数据结构

FQDN完全合格域名
FQDN=主机名+域名

域名一般由根域 顶级域 二级域 三级域 组成

例如
www.sina.com.cn.
主机名三级域二级域顶级域根域

dns基本的查找步骤:
1.查看缓存
2.查看hosts文件
3.找dns服务器
4.dns服务器查看缓存
5.dns服务器访问根域…

找DNS 服务器 服务器有 域名和ip对应关系的表
第一次没有对应关系
找根域.
返回服务器 找顶级域
返回服务器 找二级域
返回服务器 找三级域 找到主机 并反馈到服务器
形成表 主机和服务器都会有 主机会有缓存

本机会有缓存表
第二次会直接通过缓存获取对应关系
如果缓存清除了,会再找服务器通过服务器的对应关系表获取

dns的里有几个概念:
1.递归查询
能直接得到结果的,客户机直接查询域名服务器,能够知道访问的地址
能够知道准确结果的,叫递归
不能够知道准确结果的,需要去查询,叫迭代
2.迭代查询
从域名服务器先查根域——顶级域——二级级域

(2)类型

① 缓存域名服务器

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

② 主域名服务器

特定DNS区域的权威服务器,具有唯一性
负责维护该区域内所有域名->IP地址的映射记录
需要自行建立所负责区域的地址数据文件

③ 从域名服务器

也称为辅助域名服务器,是对主域名服务器的热备份
其维护的域名->IP地址记录来源于主域名服务器
需要从主域名服务器自动同步区域地址数据库

2.BIND的安装和配置文件

(1)BIND的安装和控制

bind是应用最为广泛的DNS服务程序
官方站点:www.isc.org/

相关软件包
bind-9.9.4-37.el7.x86_64.rpm
bind-utils-9.9.4-37.el7.x86_64.rpm
bind-libs-9.9.4-37.el7.x86_64.rpm
bind-chroot-9.9.4-37.el7.x86_64.rpm

bind软件安装完毕后会自动增加一个名为named的系统服务。

(2)BIND服务的配置文件

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

在这里插入图片描述

② 区域配置文件
/etc/named.rfc1912.zones

在这里插入图片描述

③ 区域数据文件的模板
/var/named/named.localhost
在这里插入图片描述

二.正向解析

把www.wudi.com 解析成本机地址192.168.206.165
在这里插入图片描述

[root@localhost ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.206.165  netmask 255.255.255.0  broadcast 192.168.206.255
        inet6 fe80::68db:ecba:f4cf:6e1f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f2:e6:6e  txqueuelen 1000  (Ethernet)
        RX packets 18030  bytes 23836591 (22.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5641  bytes 419073 (409.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

1.yum -y install bind

2.vim /etc/named.conf

在这里插入图片描述

3.vim /etc/named.rfc1912.zones

在这里插入图片描述

4.cp -p /var/named/named.localhost /var/named/wudi.com.zone

5.vim /var/named/wudi.com.zone

在这里插入图片描述

[root@localhost ~]# systemctl start named
[root@localhost ~]# netstat -atnp | grep named.
tcp        0      0 192.168.206.165:53      0.0.0.0:*               LISTEN      77017/named         
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      77017/named         
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      77017/named         
tcp6       0      0 ::1:53                  :::*                    LISTEN      77017/named         
tcp6       0      0 ::1:953                 :::*                    LISTEN      77017/named         


6.进入win10认证

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.下载httpd服务访问www.wudi.com

yum -y install httpd

[root@localhost ~]# systemctl start httpd
[root@localhost ~]# 
[root@localhost ~]# netstat -antp | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      78019/httpd         
[root@localhost ~]# cd /var/www/html
[root@localhost html]# ls
[root@localhost html]# vim index.html

在这里插入图片描述

8.进入win10访问验证

通过域名访问
在这里插入图片描述
通过IP地址访问
在这里插入图片描述

补充说明 添加别名泛域名邮件设置
vim /var/named/wudi.com.zone
在这里插入图片描述
systemctl start named

进入win10认证
在这里插入图片描述

三.反向解析

一般用于反垃圾邮件

1.yum -y install bind

2.vim /etc/named.conf

在这里插入图片描述

3.vim /etc/named.rfc1912.zones

在这里插入图片描述
在这里插入图片描述

4.cp -p /var/named/named.localhost /var/named/wudi.com.zone

5.vim /var/named/wudi.com.zone

在这里插入图片描述

6.重启服务查看服务

[root@localhost ~]# systemctl start named
[root@localhost html]# netstat -anpu | grep 53
udp        0      0 192.168.122.1:53        0.0.0.0:*                           87532/named         
udp        0      0 192.168.206.165:53      0.0.0.0:*                           87532/named         
udp        0      0 127.0.0.1:53            0.0.0.0:*                           87532/named         
udp        0      0 192.168.122.1:53        0.0.0.0:*                           7902/dnsmasq        
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           6364/avahi-daemon:  
udp6       0      0 ::1:53                  :::*                                87532/named         
   

7.解析验证

进入win10 验证
在这里插入图片描述
在这里插入图片描述

linux验证
vim /etc/resolv.conf
在这里插入图片描述

[root@localhost ~]# host 192.168.206.129
129.206.168.192.in-addr.arpa domain name pointer www.wudi.com.


[root@localhost ~]# host 192.168.206.129 192.168.206.129
Using domain server:
Name: 192.168.206.129
Address: 192.168.206.129#53
Aliases: 

129.206.168.192.in-addr.arpa domain name pointer www.wudi.com.
[root@localhost ~]# nslookup 192.168.206.129 192.168.206.129
129.206.168.192.in-addr.arpa	name = www.wudi.com.

四.构建缓存域名服务器

需要3台虚拟机,一台linux作为dns服务器,一台linux作为dns缓存服务器,一台win10作为客户机验证

1.dns服务器配置正向解析

主要配置
在这里插入图片描述
在这里插入图片描述
vim /etc/named.conf
在这里插入图片描述
vim /etc/named.rfc1912.zones

在这里插入图片描述
cp -p /var/named/named.localhost /var/named/wudi.com.zone

vim /var/named/wudi.com.zone
在这里插入图片描述
systemctl start named

2.dns缓存服务器配置

(1)安装bind yum -y install bind

在这里插入图片描述

(2)vim /etc/named.conf

在这里插入图片描述

下面的全部删除

在这里插入图片描述
在这里插入图片描述

3.验证

(1)验证正向解析

在这里插入图片描述
在这里插入图片描述

(2)验证缓存

在这里插入图片描述

在这里插入图片描述

五.构建主从域名服务器

1.主域名服务器

特定DNS区域的权威服务器,具有唯一性

负责维护该区域内所有域名->IP地址的映射记录

需要自行建立所负责区域的地址数据文件

2.从域名服务器

也称为辅助域名服务器,是对主域名服务器的热备份

其维护的域名->IP地址记录来源于主域名服务器

需要从主域名服务器自动同步区域地址数据库

均是为了实现备份和冗余

3.配置

使用3台虚拟机,一台linux为主服务器,一台linux为从服务器,一台win10做客户机验证使用

(1)主域名服务器配置

主要配置

① ifconfig查看网卡ip
在这里插入图片描述
② 安装bind
在这里插入图片描述
③ vim /etc/named.conf
在这里插入图片描述
④ vim /etc/named.rfc1912.zones

在这里插入图片描述

⑤ cp -p /var/named/named.localhost /var/named/wudi.com.zone

⑥ vim /var/named/wudi.com.zone
在这里插入图片描述
⑦ systemctl start named

补充
重载dns的配置文件
[root@localhost ~]# rndc reload
server reload successful

(2)从域名服务器配置

主要配置

① ifconfig查看网卡ip
在这里插入图片描述

② 安装bind
在这里插入图片描述

③ vim /etc/named.conf

在这里插入图片描述
④ vim /etc/named.rfc1912.zones
在这里插入图片描述
⑤启动服务查看服务
在这里插入图片描述

(3)验证

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

如果要实现实时同步

需要添加2个设置

在这里插入图片描述

在这里插入图片描述

然后重载服务

在这里插入图片描述

在这里插入图片描述

六.构建分离解析域名服务器

1.实验环境:

网关服务器(DNS服务器):192.168.192.100(vmnet1)/12.0.0.1(vmnet2)
内网web服务器:192.168.192.211 网关:192.168.192.100 搭建httpd服务并启动
内网win7客户机:192.168.192.150 网关:192.168.192.100 DNS:192.168.192.100
外网win10客户机:12.0.0.2 网关:12.0.0.1 DNS:12.0.0.1

在网关服务器实现DNS分离解析技术,使局域网主机解析www.kgc.com为192.168.192.211,外网主机解析www.kgc.com为12.0.0.1。

在关机状态下添加一块网卡,并更改为仅主机模式,重启系统。

2.安装bind

yum -y install bind

3.修改网卡配置

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

IPADDR=192.168.245.201
NETMASK=255.255.255.0
#GATEWAY=192.168.245.2   #他自己就是网关服务器所以不用在配置网关
#DNS1=114.114.114.114

cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens37

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

NAME=ens37
#UUID=73def3c3-ee97-4521-a9da-753a12ab19bb  #一定别忘了注释UUID,因为这是ens33网卡复制过来的
DEVICE=ens37
IPADDR=12.0.0.1
NETMASK=255.255.255.0

4.修改主配置文件

vim /etc/named.conf

options {
        listen-on port 53 { any; };    #设置监听地址为本机ip或者any
        listen-on-v6 port 53 { ::1; };
        allow-query     { any; };      #设置允许谁来解析,设为any

vim /etc/named.rfc1912.zones

view "lan" {								    #定义内网view,view代表容器分割,名字随意,便于标识就好
	match-clients { 192.168.192.0/24; };    	#匹配内网访问的网段
	zone "kgc.com" IN {    				        #设置要解析的区域
		type master;   				 
		file "kgc.com.zone.lan";   	 	        #数据配置文件名
	};      
	 
	zone "." IN {							#将根域配置从主配置文件剪切过来
		type hint;							#hint是根区域类型
		file "named.ca";
	};      
};
 
view "wan" {     							#定义外网view
    match-clients { any; };					#匹配除了内网网段以外的任意地址,或者外网网段12.0.0.0
    zone "kgc.com" IN {
        type master;
        file "kgc.com.zone.wan";
    };
    
};

#注意:一旦启用view,所有的zone必须都在view下,所以要把系统默认的自检用的zone也放在view下然后在named.conf中删除

cd /var/named
cp -p named.localhost kgc.com.zone.lan
cp -p named.localhost kgc.com.zone.wan

vim kgc.com.zone.lan

$TTL 1D
@       IN SOA  kgc.com. admin.kgc.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      kgc.com.
        A       192.168.192.211
www IN 	A       192.168.192.211	

vim kgc.com.zone.wan

$TTL 1D
@       IN SOA  kgc.com. admin.kgc.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      kgc.com.
        A       12.0.0.1
www IN	A       12.0.0.1	#解析成网关出接口ip地址

5.systemctl start named #启动服务

6.验证:

在内、外网客户端的域名解析配置文件中添加DNS服务器地址

在内、外网客户端上测试
nslookup www.kgc.com

如果要访问网页需要制定防火墙规则并且开启路由转发功能
vim /etc/sysctl.conf //配置内核参数开启路由转发,echo 1 > /proc/sys/net/ipv4/ip_forward为临时配置
net.ipv4.ip_forward=1
sysctl -p 从文件加载系统参数

iptables -L -t nat //查看nat表规则
iptables -t nat -A PREROUTING -d 12.0.0.1 -i ens37 -j DNAT --to-destination 192.168.192.211

以上是关于最全面的DNS域名解析服务!的主要内容,如果未能解决你的问题,请参考以下文章

DNS服务——域名解析容错

怎样在WIN7系统下用BIND做DNS域名解析,该怎么配置

docker 部署 coredns(内部域名解析)

docker 部署 coredns(内部域名解析)

shell脚本实现批量解析域名IP地址(支持多DNS)

DNS分离解析和智能解析 1构建DNS域名服务器的分离解析 DNS分离解析域名服务器概述 DNS分离解析域名服务器实际也是主域名DNS服务器,这里所说的分离解