DNS:
域名解析
正向解析:
domain--->ip
反向解析:
ip---->domain
递归:
逐级进行,发送者只发送一次就能得到
jieguo
迭代:
主机的
dns
服务器连续不断的发起多次请求直到得到结果
端口:
53--> tcp,udp
类型:
主域名服务器
辅助域名服务器
缓存域名服务器
转发器:控制否一中特定数据流
rndc: DNS
的远程辅助控制服务
port
:
953
rndc flush
清除缓存
组件:
bind PowerDNS MyDNSng
资源记录类型:
SOA
启始授权
记录
zone
由哪台
DNS
管理
NS
记录
ns
提供名称解析服务器
A
主机名到
ip
PTR ip
到主机名
MX
邮件转换器
邮件服务器记录用于设置当前域的
MAIL
服务器的域名地址
CAME
别名
TXT
记录当前域的域名的身份信息
区域:域
zone domain
BIND:
进程:
bind
配置文件:
/etc/named.conf name.ca localhost.zone named.local /var/named/
服务脚本:
/etc/init.d/named
dig
命令
:
查询
bind
版本:
dig txt chaos version.bind @127.0.0.1
关闭查询版本功能:
options
里添加
version
dig +recourse -t A www.baidu.com @192.168.0.34
要求递归查询
dig +recourse -t A www.baidu.com @127.0.0.1
由于
named.conf
中定义
acl
就不会给予递归查询
缓存服务器配置:
yum install bind bind-libs bind-utils
DNS
服务器配置:
vim /etc/named.conf
acl lan { 192.168.0.0/24; };
options {
directory "/var/named";
(告诉
named
进程要找数据文件在哪)
querylog 1;
会在查询日志里记录
1:
打开此功能
解析会很慢
一般不打开
listen-on port 53 { 192.168.1.1; }; (named
监听的端口和
ip
地址
)
allow-query { 192.168.1.0/24 };
允许查询的客户端地址
allow-recursion { lan; };
允许给
lan
递归查询
version " noen of your";
不允许对方查看本机系统版本
};
zone "." IN {
type hint;
(设置区域类型
hint
根域
master
主域
slave
从域)
file "named.ca";
(设置对应的根域地址数据库的文件)
};
zone "localhost" IN {
type master;
file "localhost.zone";
(正向解析的文件
要手动创建)
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
(反向解析
要手动创建)
};
dig -t NS . @a.root-servers .net > /var/named/name.ca
(全球的根服务器的存放处)
t
:查找类型为
Ns
记录
.
代表根域的
13
个域名服务器
@a.root-servers.net
通过谁来找(如果不定义则
从
/etc/reslove.conf
中找)
cd /var/named/
vim localhost.zone
和
named.local named.ca
在
localhost.zone
中
$TTL 86400
@ IN SOA localhost. root.localhost. (
2011022601
1H
10M
7D
1D )
@ IN NS localhost.
localhost. IN A 127.0.0.1
在
named.local
中
$TTL 86400
@ IN SOA localhost. root.localhost. (
2011022601
1H
10M
7D
1D )
@ IN NS localhost.
1 IN PTR localhost.
chown :named /etc/name.comf
chown :maed /var/named/*
service named configtest
检查主配置文件语法是否有错
service named start
netstat -tnulp | grep 53
测试:
dig -x 127.0.0.1
反向
dig -t A localhost.
正向
DNS
接受
rndc
的远程控制:
配置:
/etc/rndc.conf /etc/rndc.key
rndc-confgen >/etc/rndc.conf
手动生成配置文件
tail /etc/rndc.conf | head -9 | sed 's/^# //g' >> /etc/named.conf
将
key
添加到主配置文件中
service named restart
rndc flush
清缓存
rndc status
rndc stop
可以将
named
服务停止
但不能启动
rndc reload
重读配置文件
DNS
配置域为
a.com
的服务器:
配置:
在
named.conf
添加
zone "a.com" IN {
type master;
allow-transfer { none; };
不允许任何主机传送区域
file "a.com.zone";
};
zone "0.168.192.in-addr.arpa" IN {
type master;
file "192.168.0.com.zone";
};
在
/var/named
下建
vim a.com.zone
$TTL 86400
$ORIGIN a.com.
@ IN SOA a.com. root.a.com. (
2011022101 ; serial ;
为注释
1H ; refresh (1 hour)
10M ; retry (10 minutes)
7D ; expire (1 week)
1D ; minimum (1 day)
)
IN NS ns
IN MX 10 mail
www IN A 192.168.0.33
ftp IN A 192.168.0.35
mail IN A 192.168.0.36
ns IN A 192.168.0.34
bbs IN CNAME www www
的别名为
bbs
<?xml:namespace prefix = o />
修改组:
chown :named a.com.zone
在
/var/named/
中
vim 192.168.0.zone
$TTL 86400
@ IN SOA a.com. root.a.com. (
2011022101
1H
10M
7D
1D )
IN NS ns.a.com.
34 IN PTR ns.a.com.
36 IN PTR mail.a.com.
35 IN PTR www.a.com.
35 IN PTR ftp.a.com.
chown :named 192.168.0.zone
vim /etc/resolv.conf
指定本机
service named restart
测试
dig -t A www.a.com
dig -x 192.168.0.36
dig -t axfr gao.com
把
a.com
的记录全部传递
主域名从域名的数据的同步:主从处于同一网段
主服务器:
192.168.0.34
vim /etc/named.conf
zone "a.com" IN {
type master;
allow-transfer { 192.168.0.89; };
不允许任何主机传送区域
# allow-update { none; }; (
允许动态更新的客户端地址
) };
file "a.com.zone";
};
zone "0.168.192.in-addr.arpa" IN {
type master;
file "192.168.0.com.zone";
allow-transfer { 192.168.0.89; };
};
重启服务
从服务器:
192.168.0.89
vim /etc/named.conf
options {
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};
zone "a.com" IN {
type slave;
file "slaves/a.com.zone";
masters { 192.168.0.34; };
};
zone "0.168.192.ip-addr.arpa" IN {
type slave;
file "slaves/192.168.0.zone";
masters { 192.168.0.34; };
};
创建
var/named/named.local named.ca localhost.zone
将三个文件和主配置文件修改组为
named
关闭双方防火墙
selinux
service named configtest
service named restart
tail /var/log/messages
ls /var/named/salves
会有
a.com.zone
文件
验证:在
a.com.zone
上添加一条记录和增加
ns
记录
反向解析文件也要添加
IN NS ns2
ns2 IN NS 192.168.0.89
chmod g+w /var/named
主域的子域的配置:
a.com
下细分子域:
cs.a.com
fn.a.com
打开正向解析文件子域授权:
vim /var/named/a.com.zone
cs.a.com. IN NS ns.cs.a.com.
fn.a.com. IN NS ns.fn.a.com.
ns.cs.a.com. IN A 192.168.0.87
ns.fn.a.com. IN A 192.168.0.65
rndc reload
Subdomain
主机:
eth0 192.168.0.87/24
vim /etc/named.conf
zone "cs.a.com" IN {
type master;
file "cs.a.com.zone";
};
vim /var/named/cs.a.com.zone
创建
cs.a.com
的正向解析文件
service named restart
测试:
dig -t A www.cs.a.com @127.0.0.1
主域名服务器上:
dig -t A www.cs.a.com @127.0.0.1
在子域服务器上解析不到主域的
www.a.com
dig -t A www.a.com @127.0.0.1
解决方法为转发域
转发
forwarders
域:当
dns
解析不到
ip
时
会去找根服务器
为避免找根可以做转发域
在子域服务器上
Subdomain
配置:
vim /etc/named.conf
zone "a.com" IN {
type forward;
当需要解析
a.com
时转发到
192.168.0.34
这个主机的
域上
forwarders { 192.168.0.34; };
};
https://blog.51cto.com/jingmu/508255