DNS 搭建
第一部分:理论知识
一. DNS 的定义
1. DNS :domain name server 。域名解析服务器,顾名思意,主要作用是做域名解析工作的。
它包括两种解析,一种是正向解析【域名——》ip地址】,一种是反向解析【ip地址————》域名】
2. dns 所用的端口号是:53 (udp 和tcp)
3. 常用国家和地区的域名后缀: cn 代表中国
jp代表日本
gov代表政府机构
edu代表教育机构,高校
net代表互联网机构
org代表非商业组织
4. dns的查询方式:递归,迭代。(一次递归,多次迭代。)
二. dns服务器的分类
1. 缓存域名服务器:或叫“惟高速缓存服务器” 主要功能是提供域名解析的缓存
2. 主域名服务器:是特定域所有信息的权威性信息源,对于某个指定域,主域名服务器是唯一存在的,
主域名服务器中保存了指定域的区域文件。
3. 从域名服务器:不进行特定信息(区域文件)的权威设置,而是从该域的主域名服务器中获得相应的的文件进行保存。
第二部分:试验
一. dns 服务器的安装
1. 相关软件包: bind-libs-9.2.4.2 bind-utils-9.2.4-2 bind-9.2.4.2 caching-nameserver
(rhel5中默认前两个已经安装,只需要安装后两个)
二. dns的主配置文件: /etc/named.conf 【在rhel4中的配置文件和rhel5有所不一样】
1. 工作目录:/var/named/ 该目录用于存放BIND服务器的区域文件
2. 服务名称:named
3. 重启服务:# service named restart
三. 修改dns的主配置文件:/etc/named.conf
1. options { (全局设置)
directory "/var/named/"; (区域文件的存放目录)
dump-file "/var/named/data/cache_dump.db"; (数据库文件)
statistics-file "/var/named/data/named_stats.txt"; (状态文件)
zone "." IN { (定义根区域)
type hint;根
file "named.ca"; (根文件名称)
};
【localhost (正向解析) localhost 区域的作用是对主机名称“localhost” 和回环地址“127.0.0.1”进行解析】
zone "localhost" IN {
type master;
file "localhost.zone";
};
【localhost 反向解析】
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
2. 下面是一个例子:
【正向】 zone "rd.com" IN {
type master;
file "rd.com.zone";
allow-update { none; };
};
【反向】 zone "0.0.10.in-addr.arpa" IN {
type master;
file "0.0.10.local";
allow-update { none; };
};
3. 建立正向区域文件: # cp /var/named/named.local /var/named/rd.com.zone
修改文件为: $TTL 86400
@ IN SOA ns1.rd.com. root.rd.com.(
1997022700; Serial 【版本号,一般用时间表示】
28800 ; Refresh 【刷新时间】
14400 ; Retry 【重试时间】
3600000 ; Exprie 【超时时间】
864000) ; Minimum
【域名服务器记录又称NS 记录,在区域文件中用于设置当前域的DNS服务器名称。正反向区域文件NS记录是相同的】
@ IN NS ns1.rd.com.
@ IN MX 5 mail.rd.com. 【数字越小,级别越高】【MX是邮件交换记录】
【每个MX记录,要有一个A记录】
ns1 IN A 10.0.0.1 【A记录】
mail IN A 10.0.0.2
web IN A 10.0.0.3
【别名记录又称CNAME记录,用于在区域文件中对主机名称设置别名。CNAME记录在反向区域文件中不要设置】
www IN CNAME web.rd.com.
4. 建立反向区域文件:cp /var/named/named.local /var/named/0.0.10.local
修改文件如下:
$TTL 86400
@ IN SOA ns1.rd.com. root.rd.com. (
1997022700; Serial 【版本号,一般用时间表示】
28800 ; Refresh 【刷新时间】
14400 ; Retry 【重试时间】
3600000 ; Exprie 【超时时间】
864000) ; Minimum
@ IN NS ns1.rd.com.
1 IN PTR ns1.rd.com.
2 IN PTR mail.rd.com.
3 IN PTR web.rd.com.
【@代表当前域,即:rd.com域,】
5. 测试上述文件的语法是否正确
A. # named-checkconf 命令测试主配置文件的语法结构是否正确
B. # named-checkzone 命令测试正反向文件语法结构
# named-checkzone rd.com /var/named/rd.com.zone(正向区域文件)
# named-checkzone rd.com /var/named/0.0.10.local(反向区域文件)
C. nslookup 命令和dig命令:
# dig @服务器域名或ip 域名 如 # dig @10.0.0.1 mail.rd.com
四.构建缓存服务器
1. # rpm -ivh caching-nameserver-7.3-3.noarch.rpm
2. named.conf中的全局设置:
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
};
五. 构建从域名服务器
1. 从域名服务器的设置:在named.conf文件中设置域
【正向】 zone "rd.com" {
type slave;
file "slaves/rd.com.zone";
masters {10.0.0.1;};
};
【反向】 zone "0.0.10.in.addr.arpa" {
type slave;
file "slaves/0.0.10.local";
masters {10.0.0.1;};
};
2. 用named-checkconf命令来检查配置文件的语法格式是否正确,然后重启named服务。
然后查看/var/named/slaves/目录下面是否已有正向和反向文件。有就正确了。
六. dns转发
1. 如果域名服务器无法解析是,就交给202.106.0.20和202.106.0.30来解析
2. 在配置文件中添加如下内容:[可以在options区域中添加]
forwarders {202.106.0.20;202.106.0.30};
3. 如果本地域名服务器只做转发,不解析。侧如下配置:
forwarders {202.106.0.20;202.106.0.30;};
forward only;
4.
zone “rd.com” {
type forward;
forwarders {211.99.25.1;202.106.0.20};
};
七.在rhel5中配置dns时要注意:1. 主配置文件的名称不是叫named.conf,而是/etc/named.rf... /etc/named.ca...。
2. 要多安装bind-chroot 软件包。
3. 工作目录是/var/name/chroot/var/named/
3. 修改正反向区域配置文件所属主named用户和组root组
八.利用dns实现服务器的负载均衡
1.其原理很简单,就是在配置文件中多添加一条记录
比如两台web服务器ip分别是202.106.1.11 202.106.1.12,那么要实现两台web服务器的负载均衡就可以添加:
正向: www 202.106.1.11
www 202.106.1.12
九.泛域名解析
1.泛域名解析是指一个域名下的所有主机都被解析到一个ip
比如: 正向: dns IN A 202.106.1.1
rehl IN A 202.106.1.2
www IN A 202.106.1.11
*.qq.com IN A 202.106.1.111
这样除上面三条记录外,所有以qq.com结尾的域名都会被解析到202.106.1.111