DNS:
域名协议 ,工作在应用层
监听端口 tcp udp 监听53 端口
/etc/hosts
最顶级 .
一级域名 .com
二级域名 ibm hp
www
只有上级知道下级 路径
查询类型: 递归查询 例如 a发数据给b,b没有但b知道c有,所以就发给c,于是c拿着答案给b,b在给a
迭代查询 假如 a发送数据给b,b没有就告诉a我没有c有,a就去找b
把主机名称转换成 ip : 正向解析
把ip地址转换成主机名 :反向解析
全球 13个 根节点 日本 澳洲 其余都在美国
记录类型:
1,用户名 转换ip :A 记录
2,ip 转换用户名:PTR指针记录
3,域 的域名服务器是谁的 : NS
4,域的 邮件服务 MTA :MX 邮件交换器
5,别名 : CNANE 正式名称
DNS 服务器类型:
区域传送: 完全 axfr
增量 ixfr 表示只传输变化的内容
只要修改主服务器,辅助服务器过来同步过程就叫 区域传送
主的只能有一个 ,辅助服务器不一定非同步主服务器,也可以从别的地方同步
名称解析:
正向 :需要一个单独数据库文件
反向 :也需要一个单独的数据库
反向解析 把网络地址 反过来写
区域: 是 物理概念
域 :是逻辑概念
查询 步骤
1, 找 /etc/hosts
2, 找缓存 dns cade
3,找server 缓存
4,权威解析 authuritiue
注 有缓存的 就是非权威
DNS 软件
bind: 最新版本 9.8.0
查看bind软件包 yum list all bind*
最主要 两段 1,全局选项段 用 options {
如果有字段 ,字段后需加;号
}; 要求格式非常严格
对全服务器都生效
只对某个区域生效
zone "a.org" {
};
数据文件存放:
/var/named
主配置文件 :/etc/named.conf
建立一个基本的配置文件
首先 建立 vim /etc/named.conf
options {
directory "/var/named"; 用于定义工作目录的
};
定义区域 需要三个区域
zone "." IN { 定义根区域
type hint; 类型 固定的
file "namecd.ca" named.ca 随便起的名
};
zone "localhost" IN { 注 正向
type master; 类型
file "localhost.zone"; 注 localhost.zone 需要建立
}; 以下有介绍
zone "0.0.127.in-addr.arpa" IN { 注 反向的
type master
file "named.local";
};
查询 13个根节点
dig -t NS
前提是能上网
把查询的结果保存在 named.ca
dig -t NS . @a.root-servers.net > /var/named/named.ca
在named 下 看一下 cat named.ca
接下来该建第二个文件
vim localhost.zone
第一 ,宏定义 $TTL 86400 记录生存86400
第二 , 解析记录 name [ttl] IN 记录类型 value
例 格式 www.a.org 86400 IN A 1.1.1.1
第一条记录: 类型为 SOA ,对于一个文件来讲,SOA通常只能有一个。
编辑 vim localhost.zone
$TTL 86400
@ 600 IN SOA localhost. admin.localhost.( :@表示特殊意义就表示localhost.
2011081601 数据版本号 不能超过 10位
1H 每1小时来检查一次
10k 重试 链接服务器
7D 7天过期时间 ,停止工作
1D ) 否定回答
IN NS localhost. 注localhost 随便起的名
localhost. IN A 127.0.0.1 本机地址
解析的就是本机到本机
所以用的是本机地址
注 :数据版本号 就是主服务器 号比辅助服务器号大, 辅助服务器就要去同步
该建第三个了 反向
cp localhost.zone named.local
编辑 vim named.local
在最后改为
1 IN PRT localhost 对应固定格式
注 :1 表示 前边写过 0.0.127 ,在这里只需添加1就 ok了
检查以下语法:
named-checkconf
named-chechkzone "localhost" /var/named/localhost.zone
没问题 就 开始启动服务
service named start
查看53 端口
netstat -tunl | grep :53
可以当做缓存服务器来用了
在这里做一下验证:
把服务器指向自己
编辑一下客户端
vim /etc/resolv.conf
nameserver 127.0.0.1 指向自己
dig -t A www.baidu.com 只是例子
缓存服务器 建好了
解析一个域的所有相关联的记录
做正向 反向 解析
编辑 vim /etc/named.conf
添加个区域
zone "a.org" IN {
type master;
file "named.local";
};
先做正向解析的
cd /var/named/
vim a.org.zone
$TTL 1200
@ IN SOA nsl.a.org admin.aorg. (
2011081601
1H
10M
7D
1D
IN NS ns1.a.org
IN NS ns2.a.org 辅助的
IN MX mail.a.org 邮件服务
ns1.a.org. IN A 172.17.100.1 注 如果有两台邮件服务
ns2.a.org. IN A 172.16.100.2 优先级高的台收,
mail.a.org. IN A 172.16.100.1
www.a.org. IN A 172.16.100.3
bbs.a.org. IN CNAME www.a.org.
做正向解析的
改属组 chown :named a.org.zone
service named relocal
可以用 windows 来测试
在运行命令
输入 nslookup
Server 172.16.100.1
set q=A
www.a.org
测试出来 ip地址
在主机上测试:
host -t NS a.org
host -t A bbs.a.org
显示信息 这是个别名 ,还显示对应的ip地址
反向查询:
编辑 vim /etc/named.conf
添加
zone "16.172.in-addr.arpa" IN {
type master;
file "172.16.zone";
};
切换到
cd /var/named/
vim 172.16.zone
可以 拷贝 cp a.org.zone 172.16.zone在编辑
再编辑
$TTL 1200
@ IN SOA nsl.a.org admin.aorg. (
2011081601
1H
10M
7D
1D
IN NS ns1.a.org
IN NS ns2.a.org
1.100 IN PTR ns1.a.org
2.100 IN PTR ns2.a.org
1.100 IN PTR mail.a.org
3.100 IN PTR www.a.org
100.100 IN PTR ftp.a.org
检查语法
named-checkzone "16.172.in-addr.arpa" /var/named/172.16.zone
重启
service named restart
测试 在windows
输入 nslookup
server172.16.100.1
set q=PTR
172.16.100.1
显示信息 name = nsl.a.org
在主机上测试:
dig -x 172.16.100.1
反向解析 很关键