> CentOS > CentOS入门 >

CentOS下DNS的基本和高级配置

DNS服务器工作原理及功能

  DNS通过在网络中创建不同的区域(一个区域代表该网络中要命名的资源的管理集合),并采用一个分布式数据系统进行主机名和地址的查询。当在客服机的浏览器中键入要访问的主机名时就会触发一个IP地址的查询请求,请求会自动发送到默认的DNS服务器,DNS服务器就会从数据库中查询该主机所对应的IP地址,并将找到IP地址作为查询结果返回。浏览器得到IP地址后,就根据IP地址在Internet中定位所要访问的资源。

DNS查询报文中的问题部分

字 数值 描述

A 1 IP地址

NS 2名字服务器

CNAME 5规范名称

PTR 12指针记录

HINFO 13主机信息

MX 15邮件交换记录

AXFR 252对区域转换的请求

A:一个A记录定义了一个IP地址

NS:名字服务器记录。它说明一个域的授权名字服务器,它由域名表示。

CNAME:表示规范名字,用来表示一个域名,而有规范名字的域名通常叫做别名。某些FTP服务器使用它向其他的系统提供一个 易于记忆的别名。

HINFO:表示主机信息,包括说明主机CPU和操作系统的两个字符串。

MX:邮件交换记录。功能:如果有邮件要发往use@foo.com,就将邮件发送到relay1.uu.net

PTR:指针记录用于指针查询,IP地址被看作是in-addr.arpa域下的一个域名(反向查询)

 

一、基本DNS配置:

1我的环境是centos6.6版,首先安装bind

yum install bind*(使用yum安装)

2编辑DNS的配置文件

vim /etc/named.conf

options{

listen-onport 53 { any; };#此处改为any

listen-on-v6port 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 { any; };#此处改为any

recursionyes;

dnssec-enableyes;

dnssec-validationyes;

dnssec-lookasideauto;

/*Path to ISC DLV key */

bindkeys-file"/etc/named.iscdlv.key";

 

managed-keys-directory"/var/named/dynamic"; };

logging{

channeldefault_debug {

file"data/named.run";

severitydynamic; }; };

zone"." IN { #根类型区域

typehint;

file"named.ca"; };

include"/etc/named.rfc1912.zones";#分割文件

include"/etc/named.root.key";#分割文件

vim /etc/named.rfc1912.zones (在里面设置正解和反解—在中国反解不起作用因为长城防火墙)

在此配置文件新加:

#设置正解区域

zone"wang.com" IN { #域名

typemaster; #服务器类型

file"wang.zone"; #正解区域文件

};

 

zone"1.168.192.in-addr.arpa" IN {#我是192.168.1.的网络

typemaster;

file"wang.com.zone";#反解区域文件

};

进去 cd/var/named/里面有系统给的正解区域的模板(named.localhost)和反解区域的模板(named.loopback

cpnamed.localhost wang.zone cp named.loopback wang.com.zone

目前在 /var/named/vim wang.zone

$TTL1D

@ INSOA @ rname.invalid. (

0 ;serial

1D ;refresh

1H ;retry

1W ;expire

3H) ; minimum

NS @

A 192.168.1.21#DNS服务器ip地址

www 0 A 192.168.1.22#www服务器ip地址

0 A 192.168.1.11 #www服务器ip地址(dns轮循与上面www服务器

ftp A 192.168.1.22#ftp服务器

mail A 192.168.1.11#mail服务器

web CNAME www#别名

@ MX 10 mail#邮件优先级

目前在 /var/named/vim wang.com.zone

$TTL1D

@ INSOA @ rname.invalid. (

0 ;serial

1D ;refresh

1H ;retry

1W ;expire

3H) ; minimum

NS @

A 192.168.1.21#服务器ip地址

PTR wang.com.

22 PTRwww.wang.com. #不要忘记后面的'. '

11 PTR www.wang.com.

22 PTR ftp.wang.com.

22 PTR web.wang.com.

11 PTR mail.wang.com.

重启服务 servicenamed restart然后把ip2211测试机的DNS改成192.168.1.21,进行测试即可。(vim/etc/sysconfig/network-scripts/ifcfg-eth0vim/etc/resolv.conf为修改dns

 

二、一个网络对应多个域名

在 vim /etc/named.rfc1912.zones加多个正解即可,例如:

 

zone"ning.com" IN {

typemaster;

file"ning.zone";

};

zone"wang.com" IN {

typemaster;

file"wang.zone";

};

#反解无所谓,在中国哦。还可以往下加域名,重启named服务即可。

三、bind视图#比如一个网站有一个国内的ip地址和一个国外的ip地址,目的在中国的用户访问网站由国内ip地址的dns服务器解析,国外访问的由国外ip地址的dns服务器解析,加快dns解析速度。(一个域名对应多个不同ip

vim /etc/named.rfc1912.zones在最后加上:

acl"guowai" { 192.168.200.0/24; };#名字随便取

acl"guonei" { 192.168.1.0/24; };

view"guowai"{#试图名字随便取

match-clients{guowai;};#一定要对应

zone"." IN { #根类型区域

typehint;

file"named.ca";

};

zone"wangning.com"{#正解区域

typemaster;

file"guowai.zone";#/var/named/创建 guowai..zone

};

zone"200.168.192.in-addr"{ #反解区域

typemaster;

file"guowai.com.zone"#/var/named/创建 guowai.com.zone

};

};

view"guonei"{

match-clients{guonei;};

zone"." IN {

typehint;

file"named.ca";

};

 

zone"wangning.com" IN {

typemaster;

file" guonei.zone";#/var/named/创建 guonei.zone

};

zone"1.168.192.in-addr.arpa" IN {

typemaster;

file"guonei.com.zone";#/var/named/创建 guonei.com.zone

};

};

重启服务即可;

四、salvesDNS服务器(备份服务器)

防止主服务器荡机,需要slaves服务器。

vim /etc/named.rfc1912.zones加入:

zone"wang.com" IN {#域名

typeslave;服务器类型

file"slaves/wang.zone";#正解区域文件

masters{192.168.1.21;}

};

zone"1.168.192.in-addr.arpa" IN { #我是192.168.1.的网络

typeslave;

file"slaves/wang.com.zone";#反解区域文件

masters{192.168.1.21;};

};

重启服务在 /var/named/slaves/目录下自动生成wang.zonewang.com.zone

(责任编辑:IT)