DNS(domain NAME SYSTEM)域名解析系统
用来地址解析,比如内网环境想外网听歌,可以配置个DNS服务器,服务器联通内外网,听歌的地址解析成一个IP,再将IP映射到外网。也可进行反向解析,目前没发现有啥用
正向解析
配置
下载软件
yum
install named-chroot
配置文件 分三部分 主配置文件 /etc/named.conf 区域配置文件 /etc/named.rfc1912.zones 保存域名映射关系存的地址 数据配置文件目录 /var/named 对应区域配置文件里的zone,一一对应,一个zone对应一个文件,意味着一个域名对应一个文件
vim /etc/named.conf
1 //
2 // named.conf
3 //
4 // Provided by Red Hat bind package to configure the ISC BIND named
(8
) DNS
5 // server as a caching only nameserver
(as a localhost DNS resolver only
).
6 //
7 // See /usr/share/doc/bind*/sample/
for example named configuration files.
8 //
9
10 options
{
11 listen-on port 53
{ any
; };
12 listen-on-v6 port 53
{ ::1
; };
13 directory
"/var/named";
14 dump-file
"/var/named/data/cache_dump.db";
15 statistics-file
"/var/named/data/named_stats.txt";
16 memstatistics-file
"/var/named/data/named_mem_stats.txt";
17 allow-query
{ any
; };
vim /etc/named.rfc1912.zones
zone
"haha.com" IN
{
type master
;
file "haha.com.zone";
allow-update
{none
;};
}
cp -a named.localhost haha.com.zone
vim haha.com.zone
$TTL 1D
@ IN SOA haha.com. haha.haha.haha.
(
0
; serial
1D
; refresh
1H
; retry
1W
; expire
3H
) ; minimum
NS ns.haha.com.
ns IN A 192.168.10.10
www IN A 192.168.10.10
分离解析技术
因不同国家或地区所使用的IP是不同的,所以为了让不同地区访问同一个服务时,不会因服务器的位置导致访问过慢,使用了分离解析技术,让不同国家访问本地的或比较近的服务器,类似于访问控制列表,对不同的IP进行不同的设置,限制访问的地址。
配置方式
主配置文件,修改bind服务程序的主配置文件,把第11行的监听端口与第17行的允许查询主机修改为any。由于配置的DNS分离解析功能与DNS根服务器配置参数有冲突,所以需要把第51~54行的根域信息删除。
[root@linuxprobe ~
]
………………省略部分输出信息………………
44 logging
{
45 channel default_debug
{
46
file "data/named.run";
47 severity dynamic
;
48
};
49
};
50
51 zone
"." IN
{
52
type hint
;
53
file "named.ca";
54
};
55
56 include
"/etc/named.rfc1912.zones";
57 include
"/etc/named.root.key";
58
………………省略部分输出信息………………
区域配置文件,配置多个区域,并且每个区域设置不同的IP,意味着,这些IP访问时会访问不同的数据配置文件
[root@linuxprobe ~
]
1 acl
"china" { 122.71.115.0/24
; };
2 acl
"american" { 106.185.25.0/24
;};
3 view
"china"{
4 match-clients
{ "china"; };
5 zone
"linuxprobe.com" {
6
type master
;
7
file "linuxprobe.com.china";
8
};
9
};
10 view
"american" {
11 match-clients
{ "american"; };
12 zone
"linuxprobe.com" {
13
type master
;
14
file "linuxprobe.com.american";
15
};
16
};
建立数据配置文件。分别通过模板文件创建出两份不同名称的区域数据文件,其名称应与上面区域配置文件中的参数相对应。
[root@linuxprobe ~
]
[root@linuxprobe named
]
[root@linuxprobe named
]
[root@linuxprobe named
]
@ IN SOA linuxprobe.com. root.linuxprobe.com.
(
0
;serial
1D
;refresh
1H
;retry
1W
;expire
3H
;)minimum
NS ns.linuxprobe.com.
ns IN A 122.71.115.10
www IN A 122.71.115.15
$TTL 1D
@ IN SOA linuxprobe.com. root.linuxprobe.com.
(
0
;serial
1D
;refresh
1H
;retry
1W
;expire
3H
;)minimum
NS ns.linuxprobe.com.
ns IN A 106.185.25.10
www IN A 106.185.25.15
重启bind服务
systemctl restart named
部分感悟
DNS在解析时是从根域开始的,比如www.baidu.com 就是从com后面省略的点开始,当我们访问一个网址时,如果本地的缓存没有数据,就会请求配置的DNS地址,如果还是没有,就请求根域服务器他会记录一级域的服务器地址,如果没有,就访问一级域名的服务器(一般情况下,域名绑定都是绑定在这些服务器上,大部分都是二级域名),访问一级域名服务器后还是没有,就访问2级域名服务器,可能是部分本地运营商的地址,也可能是自己搭建的DNS服务器,大多数情况下,就可以解析出来。数据配置文件内容是通过记录的形式书写的,SOA NS A是三种不同的记录,分别代表着域名服务器参数配置,域名服务器记录,以及真正的域名解析地址。数据配置文件中的www等都是省略了域的书写方式,比如baidu.com这个域,当记录中存在www时,意味着这是www.baidu.com
DNS
https://www.cnblogs.com/heiye123/articles/7687922.html