DNS
1. 基本概念
/etc/named.conf配置文件
listen-on port 53 { 192.168.32.0/24; }; 表示谁可以使用该dns解析,可以有三种写法
- listen-on port 53 { 192.168.32.0/24; }; # 直接写192.168.32.0/24的网段
- listen-on port 53 { any; }; # any —— 任意网段,这种比较危险
- // listen-on port 53 { 192.168.32.0/24; }; # 注释掉
allow-query { localhost; }; 表示权限,允许哪个用户使用dns解析
- allow-query { localhost; 192.168.32.0/24; }; # 允许这个网段的用户使用该dns解析
- allow-query { any; }; # 任何主机,这种比较危险
- // allow-query { localhost; }; # 注释掉
各种资源记录
区域解析库:由众多资源记录RR(Resource Record)组成
name [TTL] IN rr_type value
域名 生命周期 使用internet协议 记录类型:A PTR IP地址
记录类型:A AAAA PTR SOA NS CNAME MX
-
SOA start Of Authority 起始授权记录,一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录SOA,说明了在众多NS记录中哪一台才是主要的服务器。在任何DNS记录文件中,都是以SOA记录开始
-
NS(Name Server) NS记录,用于表示当前区域的DNS服务器,服务器类型为域名服务器
-
A(internet Address) A记录,正向域名解析,域名 -> IP地址
-
AAAA AAAA记录,IPv6
-
PTR(PoinTeR) PTR记录,反向解析,IP地址 -> 域名
-
CNAME(Canonical Name) 别名记录
-
MX(mali eXchanger) MX记录, 邮件交换器
-
TXT TXT记录,对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如SPF(反垃圾邮件)记录,https验证等
SOA与NS记录的区别:NS表示域名服务器记录,用来指定该域名由哪个DNS服务器来解析;SOA表示起始记录,记录了当前域名的基本信息,以及主从域名服务器之间同步的信息
/var/named/named.localhost配置文件
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
NS master
master A 192.168.32.50
www A 192.168.32.100
ftp.wy.com IN CNAME mail.wy.com
-
$TTL 1D: 生命周期,1天,全局配置
-
第一个@:指代域名,wy.com
-
IN:表示使用internet协议解
-
SOA:表示起始记录,记录了当前域名的基本信息,和主从域名服务器之间同步的规定
-
第二个@(或者wy.com.): 当前服务器的名称
-
rname.invalid. : 邮箱地址,邮箱rname与invalid之间应该用@,但是@被用掉了,@有其他含义了
db数据库中,一行行的数据表示记录;一列列的数据表示字段
- 0 ; seria 版本号,表示是否更新,如果0变为1,表示数据库内容发生了改变,从域名服务器需要赶紧来跟主域名服务器更新数据,取值范围0-10
- 1D ; refresh 刷新时间,拉取时间,有两种拉取方式:① 从服务器主动向主服务器拉取数据;② 主服务器主动给数据给从服务器
- 1H ; retry 如果从服务器这次更新失败了,1个小时后再试一次
- 1W ; expire 过期时间,如果从服务器老是拉取不了数据,1周以后过期
- 3H ; minimum 如果有一个无聊的人老是来查找错误的解析地址,那么在3小时内,用户再查找直接返回找不到
固定格式
name [TTL] IN rr_type value
域名 缓存时间 internet记录 区域解析库 值
master A 192.168.32.50
域名 记录类型 IP地址
ftp.wy.com IN CNAME mail.wy.com
域名 internet记录 别名记录 别名的域名
注意事项
A记录中的IP地址可以随意设置
例如NS记录中有master,那么下面的A记录中也必须要有master记录
2. 实验
正向解析
目的(用途):将域名解析成IP地址
实验准备
-
一台主机
-
关闭防火墙、关闭核心防护
1. yum安装bind
[root@localhost ~]# rpm -q bind
未安装软件包 bind
[root@localhost ~]# yum install -y bind*
2. 将网卡的DNS改为自己的建立的dns服务器的IP地址
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
DNS1=114.114.114.114
# 改为以下dns
DNS1=192.168.32.11
[root@localhost ~]# systemctl restart network
[root@localhost ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.32.11
[root@localhost ~]#
3. 修改named的主配置文件 /etc/named.conf
[root@localhost ~]# vim /etc/named.conf
options {
listen-on port 53 { 192.168.32.0/24; };
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; };
# 检查配置文件是否有问题
1)[root@localhost ~]# systemctl restart named
2)[root@localhost ~]# rndc reload
server reload successful
[root@localhost ~]#
4.修改named的区域配置文件 /etc/named.rfc1912.zones
[root@localhost ~]# vim /etc/named.rfc1912.zones
zone "wy.com" IN {
type master; # 指定类型为主域名服务器
file "wy.com.zone"; # 在named的家目录(/var/named)下必须有和该文件一样的文件名
};
# 检查配置文件是否有问题
1)[root@localhost ~]# systemctl restart named
2)[root@localhost ~]# rndc reload
server reload successful
[root@localhost ~]#
5. 进入到named的家目录中,利用“named.localhost”这个文件作为模板,cp -a一个和“wy.com.zone”同名的文件,并修改“wy.com.zone”文件的内容(注意“wy.com.zone”的权限必须和“named.localhost”的权限一致)
[root@localhost ~]# cd /var/named # 进入named的家目录
[root@localhost named]# cp -a named.localhost wy.com.zone # 保留权限复制文件,并改为名“wy.com.zone”
[root@localhost named]# ll
总用量 20
drwxr-x--- 7 root named 61 11月 14 11:39 chroot
drwxr-x--- 7 root named 61 11月 14 11:39 chroot_sdb
drwxrwx--- 2 named named 23 11月 14 13:59 data
drwxrwx--- 2 named named 60 11月 14 14:04 dynamic
drwxrwx--- 2 root named 6 4月 1 2020 dyndb-ldap
-rw-r----- 1 root named 2253 4月 5 2018 named.ca
-rw-r----- 1 root named 152 12月 15 2009 named.empty
-rw-r----- 1 root named 152 6月 21 2007 named.localhost
-rw-r----- 1 root named 168 12月 15 2009 named.loopback
drwxrwx--- 2 named named 6 10月 16 21:26 slaves
-rw-r----- 1 root named 152 6月 21 2007 wy.com.zone
[root@localhost named]# vim /var/named/wy.com.zone # 修改wy.com.zone配置文件
$TTL 1D
@ IN SOA master rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
master A 192.168.32.50
www A 192.168.32.100
[root@localhost ~]# systemctl restart named
# 重启named
6. host 域名 查看域名是否能解析成IP地址
[root@localhost named]# host www.wy.com
www.wy.com has address 192.168.32.100
[root@localhost named]#
* 泛域名
@ 不需要输入主机名
[root@localhost named]# vim /var/named/wy.com.zone
www A 192.168.32.100
[root@localhost ~]# host wwwwwww.wy.com
wwwwwww.wy.com has address 192.168.32.100
# *泛域名起作用,当我们主机名输入不正确,多输或少输,都应该不影响我解析该域名
[root@localhost ~]# host wy.com
wy.com has address 192.168.32.100
# @起作用,可以让我们不输入主机名也可以正确解析出域名
反向解析
目的(用途):将IP地址解析成域名
主从复制
目的:高可用,防止主域名服务器瘫痪
实验准备
-
两台主机 192.168.32.11(主域名服务器) 192.168.32.12(从域名服务器)
-
关闭防火墙、关闭核心防护
1. yum安装bind
[root@localhost ~]# rpm -q bind
未安装软件包 bind
[root@localhost ~]# yum install -y bind*
2. 将两台主机的网卡DNS改为自己的建立的dns服务器的IP地址
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
DNS1=114.114.114.114
# 改为以下dns
DNS1=192.168.32.11
[root@localhost ~]# systemctl restart network
[root@localhost ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.32.11
[root@localhost ~]#
3. 修改两台主机的named的主配置文件 /etc/named.conf
[root@localhost ~]# vim /etc/named.conf
options {
listen-on port 53 { any; };
allow-query { any; };
# 检查配置文件是否有问题
1)[root@localhost ~]# systemctl restart named # 关机,重启
2)[root@localhost ~]# rndc reload # 不关机,重启
server reload successful
[root@localhost ~]#
4.修改两台主机的named的区域配置文件 /etc/named.rfc1912.zones
主机ip:11
[root@localhost ~]# vim /etc/named.rfc1912.zones
zone "wy.com" IN {
type master; # 指定类型为主域名服务器
file "wy.com.zone"; # 在named的家目录(/var/named)下必须有和该文件一样的文件名
allow-transfer {192.168.32.12;}; # 允许192.168.32.12IP地址通过
};
# 检查配置文件是否有问题
1)[root@localhost ~]# systemctl restart named # 关机,重启
2)[root@localhost ~]# rndc reload # 不关机,重启
server reload successful
[root@localhost ~]#
主机ip:12
[root@localhost ~]# vim /etc/named.rfc1912.zones
zone "wy.com" IN {
type slave; # 指定类型为主域名服务器
file "slaves/wy.com.zone";
masters {192.168.32.11;};
};
# 检查配置文件是否有问题
1)[root@localhost ~]# systemctl restart named # 关机,重启
2)[root@localhost ~]# rndc reload # 不关机,重启
server reload successful
[root@localhost ~]#
5. 主机11,进入到named的家目录中
利用“named.localhost”这个文件作为模板,cp -a一个和“wy.com.zone”同名的文件
并修改“wy.com.zone”文件的内容
(注意“wy.com.zone”的权限必须和“named.localhost”的权限一致)
[root@localhost ~]# cd /var/named # 进入named的家目录
[root@localhost named]# cp -a named.localhost wy.com.zone # 保留权限复制文件,并改为名“wy.com.zone”
[root@localhost named]# vim wy.com.zone
$TTL 1D
@ IN SOA master rname.invalid. (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
NS slave
slave A 192.168.32.51
master A 192.168.32.50
www A 192.168.32.100
# 检查配置文件是否有问题
1)[root@localhost ~]# systemctl restart named # 关机,重启
2)[root@localhost ~]# rndc reload # 不关机,重启
server reload successful
[root@localhost ~]#
6. 主机12测试结果
[root@localhost ~]# systemctl restart named # 关机,重启
[root@localhost ~]# cd /var/named/slaves
[root@localhost slaves]# ls
wy.com.zone
[root@localhost slaves]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.32.11
[root@localhost slaves]# echo "nameserver 192.168.32.12" > /etc/resolv.conf
[root@localhost slaves]# cat /etc/resolv.conf
nameserver 192.168.32.12 # 使用从服务器的dns还是可以解析出结果,说明从服务器复制了主服务器的数据库数据
[root@localhost ~]# host www.wy.com
www.wy.com has address 192.168.32.100
[root@localhost ~]#
分离解析
目的:不同网段的主机输入同样的域名,根据主机IP地址的不同,解析的结果也不同
标签:named,root,192.168,localhost,DNS,com,wy
From: https://www.cnblogs.com/wuyao-bk/p/17842716.html