DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
端口:udp/53(用户查询时使用的端口,以及主从服务器同步), 用户查询只需53/udp。 tcp/53(用于主从服务器之间的同步),如果这个两个端口有一个无法访问时主从服务器无法同步。
DNS查询类型:
递归查询 服务器负责到底的叫递归查询
迭代查询 服务器推荐你去找其他服务器叫迭代查询
解析类型:
FQDN --> IP 正向解析
IP --> FQDN 反向解析 (arpa)
注意:正反向解析是两个不同的名称空间,是两棵不同的解析树
本次实验使用bind软件在CentOS 7.3系统来搭建dns服务
安装配置bind软件
bind:服务器端,服务名named
bind-ibs:相关库
bind-utils:客户端
bind-chroot:一个安全软件,安装后会把bind的文件会以文件挂载的方式放在/var/named/chroot下
服务脚本和名称:/etc/rc.d/init.d/named、/usr/lib/systemd/system/named.service
主配置文件:/etc/named.conf, /etc/named.rfc1912.zones、/etc/rndc.key
解析库文件:/var/named/ZONE_NAME.ZONE
根服务器的IP地址记录文件/var/named/named.ca
[root@centos7.3 etc]#yum -y install bind* #安装bind软件包
[root@centos7.3 etc]#systemctl start named #启动dns服务,named是bind软件的服务名
修改配置文件
options { #主配置
listen-on port 53 { 127.0.0.1; }; #监听端口和监听的本机IP地址
listen-on-v6 port 53 { ::1; }; #IPv6监听的端口和IP地址
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; }; #允许那些IP向服务器请求DNS解析
/*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion yes; #是否开启服务器的递归查询,yes为开启
dnssec-enable no; #是否开启DNSSec安全认证(鉴定数据来源和数据完整性)
dnssec-validation no; #是否开启验证,默认为yes
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging { #日志配置
channel default_debug {
file "data/named.run"; #日志文件
severity dynamic; #记录级别
};
};
zone "." IN { #跟域配置
type hint;
file "named.ca"; #这个文件中保存里13个根域服务器的IP地址
};
include "/etc/named.rfc1912.zones"; #域配置文件
include "/etc/named.root.key";
主要修改这一部分
options {
listen-on port 53 { loaclhost; }; #localhost监听本机所有端口,也可以修改为本机的一个IP地址
listen-on-v6 port 53 { ::1; }; #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 { any; }; #any表示所有IP
重启服务
[root@CentOS7.3 ~]#systemctl restart named #重启named服务
[root@CentOS7.3 ~]#ss -nutl #查看监听端口
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 192.168.166.130:53 *:*
udp UNCONN 0 0 127.0.0.1:53 *:*
udp UNCONN 0 0 ::1:53 :::*
tcp LISTEN 0 10 192.168.166.130:53 *:*
tcp LISTEN 0 10 127.0.0.1:53 *:*
tcp LISTEN 0 128 *:22 *:*
tcp LISTEN 0 128 127.0.0.1:953 *:*
tcp LISTEN 0 10 ::1:53 :::*
tcp LISTEN 0 128 :::22 :::*
tcp LISTEN 0 128 ::1:631 :::*
tcp LISTEN 0 128 ::1:953 :::*
named服务的tcp/53、udp/53端口都已经打开
现在的DNS服务器已经可以提供服务器了,但只是查询做了转发,并没有配置本地区域信息,不能解析本地域名。
网友评论