DNS作用
Dns=domain name system
域名管理系统
域名:
由特定的格式组成
用来表示互联网这某一台计算机或者计算机组逇名称
能够让人更方便的访问互联网
而不用记忆能够被机器直接读取的
ip
地址
互联网中的计算机都是通过
ip
地址相互访问的
ipv4|ipv6
域名代替
ip
实现计算机的访问,是
ip
地址的别名
每个域名都应该有一个对应的
ip
地址
将域名正向解析为
IP
A
记录
DNS IP
反向解析域名
PTR
反向解析
DNS工作原理
查询方式
1.
递归查询,逐级查询,一次到位,但是速度慢
2.
迭代查询,多次查询一个地址,可以缓存
一次递归,多次迭代
dig解析域名
yum -y install bind-utils.x86_64
只要
ip
地址,不要解析过程
[root
@localhost
~
]
# dig @server www.baidu.com
dig
:
couldn
't get address for '
server
': not found
[root
@localhost
~
]
# dig www.baidu.com
反向解析
[root
@localhost
~
]
# dig -x 180.101.50.188
搭建DNS环境准备
DNS
域名解析都是
udp/53,
主从之间的数据传输默认使用
tcp/53
dns
服务端软件
setenforce 0
vim /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld
DNS软件安装与查询
安装
bind
软件
yum search bind
[root@dns ~]# yum -y install bind
安装可以使用
rpm -ql
是否安装
find
查询文件
[root
@dns
~
]
# rpm -qa|grep bind
bind-libs-9
.11.4
-
26
.P2.el7_9
.16
.x86_64
bind-9
.11.4
-
26
.P2.el7_9
.16
.x86_64
bind-libs-lite-9
.11.4
-
26
.P2.el7_9
.16
.x86_64
查看配置文件
[root
@dns
~
]
# rpm -ql bind
/
etc
/
logrotate.d
/
named
/
etc
/
named
#
配置文件
/
etc
/
named.conf
/
etc
/
named.iscdlv.key
#
定义区域文件 正向和负向解析
/
etc
/
named.rfc1912.zones
/
etc
/
named.root.key
/
etc
/
rndc.conf
/
etc
/
rndc.key
#
日志文件
/
var
/
log
/
named.log
/
var
/
named
/
var
/
named
/
data
/
var
/
named
/
dynamic
启动服务
systemctl start named
DNS配置文件
/etc/named.conf
主要配置访问权限控制
配置哪些主机可以访问
dns
服务器
/etc/named.rfc1912.zones
主要定义域名如何解析,正向解析,解析到具体的
ip
地址
备份文件
[root
@dns
~
]
# cp /etc/named.conf /etc/named.conf.bak
[root
@dns
~
]
# cp /etc/named.rfc1912.zones
/etc/named.rfc1912.zones.bak
[root
@dns
~
]
# ls -l /etc/named*
DNS正向解析
配置主配置文件
named.conf
添加
any
,所有主机都可以访问
[root
@dns
~
]
# vim /etc/named.conf
options {
#
允许任何主机访问
listen-on port
53
{
127.0.0.1
;any; };
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 { localhost;any; };
配置
zones
文件
创建文件
file "yuanyu.zhangmin.zone";
vim /var/named/yuanyu.zhangmin.zone
定义正向解析
复制文件修改
[root@dns ~]# vim /etc/named.rfc1912.zones
#
显示行
:set nu
#
复制内容
:19,23 co 42
42
43 zone "yuanyu.zhangmin" IN {
44 type master;
45 file "yuanyu.zhangmin.zone";
46 allow-update { none; };
47 };
[root
@dns
~
]
# cd /var/named/
[root
@dns
named]
# ls
data
dynamic named.ca named.empty named.localhost
named.loopback slaves
[root
@dns
named]
# cp -p named.localhost
-p
保持文件原属性赋值
编辑域名文件
vim yuanyu.zhangmin.zone
[root
@dns
~
]
# cd /var/named/
[root
@dns
named]
# ls
data
dynamic named.ca named.empty named.localhost
named.loopback slaves
[root
@dns
named]
# cp -p named.localhost
yuanyu.zhangmin.zone
[root
@dns
named]
# ls
data
dynamic named.ca named.empty named.localhost
named.loopback slaves yuanyu.zhangmin.zone
[root
@dns
named]
# ls -l
总用量
20
#
缓存周期 一天
$TTL
1D
# @
当前域
IN
互联网
SOA
开始授权
@
当前域
rname.invalid
邮箱
@ IN SOA @ rname
.
invalid
.
(
#
更新序列号
0
; serial
#
跟新间隔
1D
; refresh
#
失败重试
1H
; retry
#
区域文件的过期时间
1W
; expire
#
缓存的最小生存周期
3H
)
; minimum
NS @ A
127.0.0.1
AAAA ::1
检查文件
/etc/named.conf
和
zone
文件
[root
@dns
named]
# named-checkconf /etc/named.conf
[root
@dns
named]
# named-checkconf /etc/named.rfc1912.zones
[root
@dns
named]
# named-checkzone yuanyu.zhangmin.zone
启动DNS服务
[root
@dns
named]
# systemctl start named
[root
@dns
named]
# netstat -lnput|grep named
web服务器配置
yum -y install nginx
客户端进行DNS测试
添加
dns
服务器
临时
echo "nameserver 10.1.1.11" > /etc/resole.conf
[root
@web
~
]
# echo "nameserver 10.1.1.11" >
/etc/resolv.conf
[root
@web
~
]
#
#
临时添加,重启
network
就还原了
永久
[root
@web
~
]
# vim /etc/sysconfig/network-scripts/ifcfg
ens33
#
添加
dns
服务就可以了
DNS
:
10.1.1.11
检测域名是否正确
[root
@web
~
]
# ping www.yuanyu.zhangmin
[root
@web
~
]
# yum -y install elinks.x86_64