一 、dns介绍
dns(domain name system ) 域名管理系统
域名:
由特定的格式组成,用来表示互联网中某一台计算机或者计算机组的名称,能够是人更方便的访问互联网,而不用记住能够被机器直接读取的ip地址。
1. dns的作用
域名的正向解析
将主机域名转换为对应的ip 地址,以便网络程序能够通过主机域名访问到对应的服务器主机
域名——>ip a记录
域名的反向解析
将主机的ip地址转换为对应的域名,以便网络(服务)程序能够通过ip地址查询到主机的域名
ip——>域名 ptr记录
2. dns结构
①根域 .
在整个 dns 系统的最上方一定是 . (小数点) 这个 dns 服务器 (称为 root),也叫”根域“。
根域 <13台 全世界只有13台。1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。>
②一级域名<顶级域|国家域>
com edu gov org cc io| cn uk us ru ja ko
③二级域名
qq.com baidu.com google.com
二、dns服务器的搭建
dns 的域名解析都是 udp/53 . 主从之间的数据传输默认使用tcp/53
dns软件:
bind是一款开放源码的dns服务器软件,bind由美国加州大学berkeley(伯克利)分校开发和维护的,全名为berkeley internet name domain它是目前世界上使用最为广泛的dns服务器软件,支持各种unix平台和windows平台。bind现在由互联网系统协会(internet systems consortium)负责开发与维护。
1、 安装软件
[root@dns-server ~]# yum -y install bind1
确认安装成功
[root@dns-server ~]# rpm -q bind
bind-9.8.2-0.17.rc1.el6_4.6.x86_6412
查看文件列表
[root@dns-server ~]# rpm -ql bind
/etc/networkmanager/dispatcher.d/13-named
/etc/logrotate.d/named
/etc/named
/etc/named.conf
······
/***********************以下为重点文件*********************/
/etc/logrotate.d/named //日志轮转文件
/etc/named //配置文件的主目录
/etc/named.conf 主配置文件
/etc/named.rfc1912.zones zone文件,定义域
/etc/rc.d/init.d/named 启动脚本
/usr/sbin/named 二进制命令
/usr/sbin/named-checkconf 检查配置文件的命令 named.conf named.rfc1912.zones
/usr/sbin/named-checkzone 检查区域文件的命令
/var/log/named.log 日志文件
/var/named 数据文件的主目录
/var/named/data
/var/named/named.ca 根域服务器
/var/named/named.empty
/var/named/named.localhost 正向解析区域文件的模板
/var/named/named.loopback 反向解析区域文件的模板
/var/named/slaves 从dns服务器下载文件的默认路径
/var/run/named 进程文件
12345678910111213141516171819202122232425262728
2、 配置文件设置
主配置文件:
vim /etc/named.conf
options {
listen-on port 53 { 127.0.0.1; any; }; 监听方式 ,any表示全网监听
directory /var/named;
dump-file /var/named/data/cache_dump.db; dns缓存
statistics-file /var/named/data/named_stats.txt; 统计
memstatistics-file /var/named/data/named_mem_stats.txt; 内存统计
allow-query { localhost; any; }; 允许哪些人可以查询;any代表任何人
recursion yes; 是否递归
dnssec-enable yes; dns安全扩展机制(签名认证)//这两个yes可以改为no,也可以不改
dnssec-validation yes;
dnssec-lookaside auto;
/* path to isc dlv key */
bindkeys-file /etc/named.iscdlv.key;
managed-keys-directory /var/named/dynamic;
};
说明:
dnssec 域名系统安全,他是dns的安全扩展协议
dlv dnssec 后备密钥
这些安全机制的设定,是为了保护dns服务器与用户之间的数据安全,避免恶意数据对用户的欺骗
zone . in { 根域服务器
type hint;
file named.ca;
};
include /etc/named.rfc1912.zones;
include /etc/named.root.key;12345678910111213141516171819202122232425262728293031
总结:
①主配置文件只需要更改两个地方,即增加全网监听和全网查询两个any。
② dns安全扩展机制(签名认证)的yes可以改为no
子配置文件介绍
vim /etc/named.rfc1912.zones
...
//定义正向域的模板
zone localhost.localdomain in {
type master;
file named.localhost;
allow-update { none; };
};
//定义反向的模板
zone 1.0.0.127.in-addr.arpa in {
type master;
file named.loopback;
allow-update { none; };
};
12345678910111213141516
子配置文件写法
//建议不要改原文件内容,在文件末尾追加内容1
[root@dns-server etc]# vim /etc/named.rfc1912.zones
47 zone yu.net in { //只写到二级域名
48 type master;
49 file yu.net.zone; //写上自己定义的在/var/name目录中的zone文件
50 allow-update { none; };
51 };
52
53 zone 221.168.192.in-addr.arpa in { //反向解析时ip倒着写
54 type master;
55 file 221.168.192.zone; //写上自己定义的在/var/name目录中的zone文件
56 allow-update { none; };
57 };
1234567891011121314
zone文件介绍
[root@dns-server ~]# cd /var/named/
[root@dns-server named]# ls
data named.ca named.localhost slaves
dynamic named.empty named.loopback
[root@dns-server named]# cat named.loopback //反向解析模板
$ttl 1d
@ in soa @ rname.invalid. (
0 ; serial
1d ; refresh
1h ; retry
1w ; expire
3h ) ; minimum
ns @
a 127.0.0.1
aaaa ::1
ptr localhost.
[root@dns-server named]# cat named.localhost //正向解析模板
$ttl 1d
@ in soa @ rname.invalid. (
0 ; serial //更新序列号
1d ; refresh //更新间隔(从服务器下载数据)
1h ; retry //失败重试
1w ; expire //区域文件过期时间
3h ) ; minimum //缓存的最小生存周期
ns @
a 127.0.0.1
aaaa ::1
$ttl 缓存的生存周期
@ = zonename = itcast.com 当前域
in 互联网
soa 开始授权
ns dns服务端 nameserver
a ipv4 正向
aaaa ipv6
cname 别名
mx 邮件交互记录 5 数字代表优先级 数字越小优先级越高 123456789101112131415161718192021222324252627282930313233343536373839
注:
不要修改原文件,复制一份再修改。
zone文件写法
1 $ttl 1d
2 @ in soa yu.net. rname.invalid. ( //写入域名,注意要写根域名
3 0 ; serial
4 1d ; refresh
5 1h ; retry
6 1w ; expire
7 3h ) ; minimum
8 @ ns dns.yu.net. //dns1可以随便指定,但要与下面的a记录保持一致
9 dns1 a 192.168.221.129 //指定dns服务器地址
10 www a 192.168.221.139 //指定域名地址
//反向解析
1 $ttl 1d
2 @ in soa yu.net. rname.invalid. (
3 0 ; serial
4 1d ; refresh
5 1h ; retry
6 1w ; expire
7 3h ) ; minimum
8 @ ns dns1.yu.net.
9 dns1 a 192.168.221.129
10 139 ptr www.yu.net.
1234567891011121314151617181920212223
语法检查
[root@dns-server named]# named-checkconf /etc/named.conf
[root@dns-server named]# named-checkconf /etc/named.rfc1912.zones
[root@dns-server named]# named-checkzone yu.net.zone yu.net.zone //zone文件名写两边
zone yu.net.zone/in: loaded serial 0
ok
[root@dns-server named]# named-checkzone 221.168.192.zone 221.168.192.zone
zone 221.168.192.zone/in: loaded serial 0
ok
123456789
3、测试验证
[root@dns-client ~]# echo nameserver 192.168.221.129 >/etc/resolv.conf //指明dns服务器地址
[root@dns-client ~]# nslookup www.yu.net
server: 192.168.221.129
address: 192.168.221.129#53
name: www.yu.net
address: 192.168.221.139
//测试成功
[root@dns-client ~]# nslookup 192.168.221.139
server: 192.168.221.129
address: 192.168.221.129#53
139.221.168.192.in-addr.arpa name = www.yu.net.
//测试成功12345678910111213141516
三、 dns主从服务器搭建
1、 保持时间同步
[root@dns-slave ~]# crontab -l
*/5 * * * * /usr/bin/rdate -s 192.168.221.129 &>/dev/null12
2、 搭建备用dns服务器
修改slave主配置文件
//安装软件
[root@dns-slave ~]# yum install -y bind
//修改配置文件
[root@dns-slave ~]# vim /etc/named.conf //允许监听(详细内容见前文)1234
修改slave子配置文件
[root@dns-slave ~]# vim /etc/named.rfc1912.zones
44 zone yu.net in {
45 type slave; //标明类型为slave
46 masters {192.168.221.129;}; //标明主机ip地址
47 file slaves/slave.ye.net; //标明同步过来的文件保存路径及名字
48 };
49
50 zone 221.168.192.in-addr.arpa in {
51 type slave;
52 masters {192.168.221.129;};
53 file slaves/slave.221.168.192; //slaves在/var/named/文件夹下
54 };
12345678910111213
修改master端子配置文件
[root@dns-server ~]# vim /etc/named.rfc1912.zones
44 zone yu.net in {
45 type master;
46 file yu.net.zone;
47 };
48
49 zone 221.168.192.in-addr.arpa in {
50 type master;
51 file 221.168.192.zone;
52 };
//删除了 allow-update { none; }; 允许其他机器进行同步
//allow-transfer {10.1.1.3;}; //可以指定允许哪个slave来下载数据123456789101112
3、 测试主从同步
slave拉取master文件测试
[root@dns-server ~]# service named restart //master重启
stopping named: [ ok ]
starting named: [ ok ]
[root@dns-slave named]# service named start
generating /etc/rndc.key: [ ok ]
starting named: [ ok ]
[root@dns-slave named]# cd /var/named/
[root@dns-slave named]# ls
data named.ca named.localhost slaves
dynamic named.empty named.loopback
[root@dns-slave named]# cd slaves/
[root@dns-slave slaves]# ls
slave.221.168.192 slave.ye.net
//文件成功从master同步过来12345678910111213141516
正反解析测试
[root@server ~]# echo nameserver 192.168.221.129 >/etc/resolv.conf
[root@server ~]# echo nameserver 192.168.221.139 >>/etc/resolv.conf
[root@server ~]# cat /etc/resolv.conf
nameserver 192.168.221.129
nameserver 192.168.221.139
[root@server ~]# nslookup www.yu.net
server: 192.168.221.129
address: 192.168.221.129#53
name: www.yu.net
address: 192.168.221.139
[root@server ~]# nslookup 192.168.221.139
server: 192.168.221.129
address: 192.168.221.129#53
139.221.168.192.in-addr.arpa name = www.yu.net.
//解析成功
123456789101112131415161718192021
master宕机测试
[root@dns-server ~]# service named stop
stopping named: [ ok ]
[root@server ~]# nslookup www.yu.net
server: 192.168.221.139
address: 192.168.221.139#53
name: www.yu.net
address: 192.168.221.139
[root@server ~]# nslookup 192.168.221.139
server: 192.168.221.139
address: 192.168.221.139#53
139.221.168.192.in-addr.arpa name = www.yu.net.
//master宕机情况下,slave解析成功
123456789101112131415161718
芜湖到揭阳物流专线网页设计之橙色系列进阶篇北京网页设计公司:了解客户需求 做有效益的网站合肥到衡东物流专线东莞到扬中物流专线厦门到保山物流专线seo学习论坛有哪些 哪个比较适合小白学习大连到保亭物流专线