DNS 资源记录
1. SOA记录:域名系统 (DNS) 区域中的任何文件中的第一个资源记录应是起始授权机构 (SOA) 资源记录。SOA 资源记录表示该 DNS 名称服务器的 DNS 域中的数据的信息的最佳来源,SOA记录也称为起始授权机构记录,SOA记录中负责说明哪个DNS服务器是主服务器.
2.A记录:主机记录,基本作用是说明一个域名对应的IP是多少
3.NS记录:服务器记录,用于说明这个区域有哪些DNS服务器负责解析,SOA记录说明负责解析的DNS服务器中哪一个是主服务器,因此一个DNS区域都不可能缺少这两条记录。
4.MX记录:邮件交换器记录,用于说明哪台服务器是当前区域的邮件服务器
5.Cname记录:别名记录,让一个服务器有多个域名,
6.SRV记录:服务器资源记录,说明一个DNS服务器提供什么服务 ,
7.PTR记录:指针记录,是A记录的逆向记录,作用是把IP地址解析为域名。
DNS 的区与域
1.从顶级域名到子域名形成一棵树,树形结构中间的每一个节点称做子域,域的名字由从顶级域开始到当前域为止的所有中间节点名,中间加句点“.”的字符串组成。从顶级域到一个叶子节点的域名是域内主机的规范域名,如www.bai.com. 当组建一个新的域,并希望加入Internet公共网络时,需要向负责上层域的网管组织提出申请,注册新建的域及域名服务器,由自己的域名服务器负责新建域的域名地址解析。
2.区
区是由域名服务器管理和维护的一个域或域中的部分子域组成的。一个域可以分为一个区或若干个区,每个区存在一个主域名服务器,用于维护区内所有主机的域名与IP地址映射关系数据库。这些数据通常存储在named.conf配置文件指定的区配置文件中。
DNS称做域名服务器,但其实现却是按照区的概念划分、管理和维护的。named.conf配置文件中的关键master和slave指定的是区,而不是域。
在每一个区中,除了主域名服务器之外,还可以配置多个辅助域名服务器,如从域名服务器和缓冲域名服务器,但只有主域名服务 器是必需的。
DNS域名与地址查询
host [options] hostname [server]
nslookup hostname
安装BIND
yum install bind bind-libs bind-utils
chkconfig --level 35 named on
service named start
配置/etc/resolv.conf
search abc.net abc.org abc.ccom //(第一个域名必须是当前系统所在的域)
nameserver 202.105.234.234
配置named.conf
named.conf文件支持acl, controls, include, key, logging, options, server, trusted-keys, view, zone
常用的是options, zone, view 以及acl
options 是DNS服务器的全局变量配置
zone是配置DNS负责的区
view可以控制内,外网的请求
详细设置参见red hat enterprise linux 6从入门到精通
named.conf
options {
listen-on port 53 { 127.0.0.1; 192.168.239.135;};
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";
allow-query { localhost; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
acl internalnet{192.168.90.0/24;};
view "internal" {
match-clients {localhost; internalnet;};
recursion yes;
zone "."{
type hint;
file "named.ca";
};
zone "hrl.com"{
type master;
file "/etc/named/hrl-com.internal.zone";
allow-update{none;};
};
zone "90.168.192.in-addr.arpa"{
type master;
file "/etc/named/192-168-90.zone";
allow-update {none;};
};
zone "26.78.153.in-addr.arpa"{
type master;
file "/etc/named/153-78-26.zone";
};
include "/etc/named.rfc1912.zones";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view "external"{
match-clients { any; };
recursion no;
zone "hrl.com"{
type master;
file "/etc/named/hrl-com.external.zone";
allow-query {any;};
allow-update {none;};
};
zone "26.78.153.in-addr.arpa"{
type master;
file "/etc/named/153-78-26.zone";
allow-query {any;};
allow-update {none;};
};
};
//zone "." IN {
// type hint;
// file "named.ca";
//};
//added by hrl
//zone "hrl.com"{
// type master;
// file "/etc/named/hrl-com.zone";
// allow-query {any;};
//};
//zone "90.168.192.in-addr.arpa"{
// type master;
// file "/etc/named/192-168-90.zone";
// allow-query{any;};
//};
//added by hrl
//include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
hrl-com-internal.zone
; Zone file for hrl.com internal
$TTL 3D
@ IN SOA ns.hrl.com. heruil.126.com. (
234325
8H
2H
4W
1D)
IN NS ns
he IN A 99.99.99.99
ns IN A 192.168.239.135
错误:
从另外一台计算向DNS服务器查询遇到的错误
connection timeout;; no servers could be reach
解决方法:
修改iptables,开启tcp,udp的53端口
-A INPUT -p udp --destination-port 53 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
遇到的问题: 经常是servers could not be reached
原因:客户机的iptables没有开53端口,以及编辑iptables的顺序很重要,要将accept的放在前面,它是以一个链形式来逐一检查规则,如果遇到全部reject的规则在前面,后面的规则则不检查。
后来用了dnsmasq代替bind,这个设置更简便,将所有的domain映射放在dnsmasq服务器的hosts文件中,不用设置zone文件。
这里是iptables的设置内容
客户机