DNS域名管理服务
- DNS服务的作用及工作原理
- DNS服务的正向和反向解析配置
-
一、DNS介绍
DNS域名解析系统
域名:有特定的格式组成,用来表示互联网中某一台计算机或者计算机组的名称。能够使人更方便的访问互联网,而不用记住能够被机器直接读取的IP地址
1. DNS的作用
域名正向解析
- 域名 —-> IP A记录
- 域名 —-> IP A记录
域名反向解析
在整个DNS系统的最上方一定是. (小数点)这个DNS服务器(称为root),也叫“根域”
3. DNS工作原理
如果询问一次得到结果, 递归查询 C-S 由CLIENT到SERVER
如果询问多次得到结果, 迭代查询 S-S 由SERVER到SERVER
二、DNS服务器搭建
- DNS的域名解析都是 udp/53,主从之间的数据传输默认使用tcp/53
- DNS软件: bind
需求1
搭建DNS服务器,能将www.aaa.io 解析成192.168.1.254 正向解析如果换作是bbs.aaa.io 是一样的,bbs只是该域下所管理的一台主机
环境:
- DNS-server:10.1.1.2
- client:10.1.1.3
思路:
- 关闭防火墙和selinux
- 配置yum源
- 软件三步曲
- 查看并安装软件
- 确认成功安装
- 查看软件列表(配置文档)
- 查看并安装软件
- 了解配置文件(语法|参数配置) —> man 5 xxx.conf
- 根据需求通过修改配置文件完成服务的搭建
- 启动服务,开机自启动
- 测试验证
步骤:
- DNS-server上:
- 关闭防火墙和selinux
yum list | grep bind``yum -y install bind
rpm -q bind
- 查看软件的文件列表
rpm -ql bind
- 了解配置文件
- 主配置文件
- 子配置文件
- 主配置文件
- 修改配置文件完成服务的搭建 ```powershell
- 修改主配置文件 /etc/named.conf —>监听方式和允许谁来查询
vim /etc/named.conf 修改内容:
options {
listen-on port 53 { 127.0.0.1;any; }; //any全网监听
listen-on-v6 port 53 { ::1; };
directory “/var/named”;
dump-file “/var/named/data/cache_dump.db”;
allow-query { localhost;any; }; //any允许任何人查询 recursion yes; dnssec-enable no; dnssec-validation no; / Path to ISC DLV key / bindkeys-file “/etc/named.iscdlv.key”; managed-keys-directory “/var/named/dynamic”; }; …statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
- 修改子配置文件 /etc/named.rfc1912.zones —>定义管理域 aaa.io 在文件的最后增加以下内容: zone “aaa.io” IN { type master; file “aaa.io.zone”; //文件名自己取 allow-update { none; }; };
- 在/var/named 目录里创建相应的zone文件
cp -p /var/named/named.localhost /var/named/aaa.io.zone //注意文件的权限
@ IN SOA aaa.io. rname.invalid. ($TTL 1D
@ NS dns1.aaa.io. //dns1可以随便指定,但后面的A记录保持一致 dns1 A 10.1.1.2 //前两行,一定是DNS服务器的IP,要在正向文件中指定出来 www A 192.168.1.254 //DNS服务器只是帮助解析的,与自身网段无关0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
使用命令检查配置文件语法是否有误 named-checkconf /etc/named.conf named-checkconf /etc/named.rfc1912.zones named-checkzone aaa.io.zone aaa.io.zone //区域文件写2遍 ```
启动服务,
service named start``chkconfig named on
netstat -nltup | grep 53
查看tcp 和udp协议
- 测试验证。
client:10.1.1.3上
1. 指定DNS服务器
echo "nameserver 10.1.1.2" > /etc/resolv.conf
2. 使用工具去测试
nslookup www.aaa.io
dig @10.1.1.2 www.aaa.io
host www.aaa.io
需求2
搭建DNS服务器实现,正向反向解析 192.168.1.254 —-> www.aaa.io
步骤:
- /etc/named.conf 主配置文件
/etc/named.rfc1912.zones 定义了aaa.io 正向域
文件最后增加以下内容
zone "1.168.192.in-addr.arpa" IN { //192.168.1.0反着写,0不用写
type master;
file "192.168.1.zone"; //文件名自己取
allow-update { none; };
};
创建/var/named/192.168.1.zone 文件
cp -p named.loopback 192.168.1.zone
$TTL 1D
@ IN SOA aaa.io. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS dns1.aaa.io. //如果dns1.aaa.io和正向区域文件里存在,可不用写下面的A记
//录,整行可以删掉
dns1 A 10.1.1.2
254 PTR www.aaa.io. //192.168.1.254
重启服务(SERVER端),测试验证
- 建议关闭NetworkManager
service NetworkManager stop
chkconfig NetworkManager off
dig @10.1.1.2 -x 192.168.1.254
- 查看软件是否安装
yum | list ntp
rpm -q ntp
rpm -ql ntp
- 允许10.1.1.0网段的主机向我同步时间
echo "restrict 10.1.1.0 mask 255.255.255.0 nomodify notrap" >> /etc/ntp.conf
service ntpd restart
- 查看下端口,
netstat -nltpu | grep ntpd
- 客户端同步,
ntpdate 10.1.1.4
10.1.1.4为SERVER端 - 依赖于外网,同步时间有延迟
方法2:
echo "disabled = no" >> /etc/xinetd.d/time-dgram
echo "disabled = no" >> /etc/xinetd.d/stream
service xinetd restart
netstat -nltup | grep :37
- 一般适用于局域网
- 客户端同步,
rdate -s 10.1.1.4
10.1.1.4为SERVER端
2. 部署安装
环境:
master-dns: 10.1.1.2
slave-dns: 10.1.1.3
ntp-server: 10.1.1.4
思路:
- master和slave的系统时间保持一致
- slave服务器上安装相应的软件(系统版本、软件版本保持一致)
- 根据需求修改相应的配置文件(master和slave都应该修改)
步骤:
1. 同步master和slave的系统时间
crontab -e #添加定时任务,master和slave上都需要做
*/2 * * * * /usr/bin/rdate -s 10.1.1.4 &>/dev/null
2. 搭建备用的dns服务器
以下操作在slave上进行
1) 安装软件
yum -y install bind
2) 修改配置文件
vim /etc/named.conf #定义监听方式以及允许谁来查询
与配置dns配置文件一样,略过
3) 修改子配置文件
vim /etc/named.rfc1912.zones
zone "test.org" IN {
type slave; //类型是slave
masters {10.1.1.2;}; //指定master dns的ip地址
file "slaves/slave.test.org"; //同步过来的文件的保存路径及名字
};
zone "momowu.cc" IN {
type slave;
masters {10.1.1.2;};
file "slaves/slave.momowu.cc"; //文件名自己取
};
3. 在master上操作
1) /etc/named.conf
2) /etc/named.rfc1912.zones
allow-update {none;}; //删除,或者把none改成slave的ip
4. 重启服务,master和slave都要操作
service named restart
5. 测试验证
client: 10.1.1.4
echo nameserver 10.1.1.2 > /etc/resolv.conf
echo nameserver 10.1.1.3 >> /etc/resolv.conf
- 只允许特定的slave(10.1.1.3)向master进行同步数据
vim /etc/named.conf
- 在花括号内添加
allow-transfer {10.1.1.3;};
- 在花括号内添加