您的位置:首页 > 运维架构 > Linux

linux笔记38-DNS服务搭建

2018-01-25 11:25 375 查看
DNS服务搭建
一、DNS原理

DNS是Domain Name System(域名系统)的缩写,它是将IP地址转换成对应的主机名或将主机名转换成与之相对应IP地址的一种服务机制。其中通过域名解析出IP地址的叫做正向解析,通过IP地址解析出域名的叫做反向解析。DNS使用TCP和UDP,端口号都是53,但主要UDP,服务器之间备份使用TCP。全世界只有13台“根”服务器,1个主根服务器放在美国,其他 12台为辅根服务器,DNS服务器根据角色可以分为:主DNS,从DNS,缓存DNS服务器,DNS转发服务器。

二、使用bind搭建DNS服务器

1、安装bind

yum install -y bind

cp /etc/named.conf /etc/named.conf.bak

>/etc/named.conf

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";

};


chown named /etc/named.conf

cd /var/named

dig -t NS . > named.ca

vim localhost.zone //加入

@           IN    SOA   location.  admin.localhost.  (

2013081601

1H

10M

7D

1D

)

@            IN    NS    localhost.

localhost.     IN    A     127.0.0.1


vim named.local  //加入

$TTL 86400

@           IN    SOA   location.  admin.localhost.  (

2013081601

1H

10M

7D

1D

)

@            IN    NS    localhost.

1             IN    PTR   localhost


检测配置是否有问题:named-checkconf

检测正解析:named-checkzone "localhost" /var/named/localhost.zone

检测反解析:named-checkzone "0.0.127.in-addr.arpa" /var/named/named.local

rndc-confgen -r /dev/urandom -a

chown named:named /etc/rndc.key

/etc/init.d/named start

netstat -lnp|grep named

测试正向解析:dig @127.0.0.1 localhost.

测试反向解析:dig @127.0.0.1 -x 127.0.0.1

 


2、增加一个域名(zone)

vim /etc/named.conf  //增加

zone "abc.com" IN {

type master;

file "abc.com.zone";

};

vim /var/named/abc.com.zone   //增加

$TTL   600

@           IN     SOA     abc.com.     root.abc.com.   (

2013081601  #序列号,同步用到的标记

1H       #每隔一个小时进行同步

10M     #同步失败后,10分钟进行再次尝试

7D     #同步一直失败,七天后规则全部失效

1D

)

IN      NS       ns.abc.com.

IN      MX  10  mail.abc.com.

ns           IN       A        192.168.1.119        #DNS服务器地址,也就是本机的IP地址

www        IN       A        192.168.137.73

mail         IN       A         192.168.137.10

bbs          IN      CNAME   www.abc.com.

named-checkconf

named-checkzone "abc.com" /var/named/abc.com.zone

/etc/init.d/named restart



dig @127.0.0.1 www.abc.com

 


3、配置DNS转发

我们配置的DNS只能解析我们自己定义的zone,配置DNS转发就可以通过其他DNS服务器解析其他域名了。

vim /etc/named.conf  //在options{}里面增加

forward first;

forwarders {8.8.8.8;};


两行表示该DNS服务器不能解析的域名会转发到8.8.8.8这个DNS服务器上去解析。

 


4、配置主从

     在从服务器上yum install -y bind

     拷贝主上的配置文件到从上,其中有/etc/named.conf,/var/named/localhost.zone,/var/named/named.local

     拷贝过来后,修改一下从的/etc/named.conf内容参考:

options{

directory  "/var/named";

};

zone "." IN {

type hint;

file "named.ca";

};

zone "localhost" IN {

type slave;

file "localhost.zone";

};

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

type slave;

file "named.local";

};

zone "abc.com" IN {

type slave;

file "slaves/abc.com.zone";

masters {192.168.1.119;};

};


从上使用rndc生成key

rndc-confgen -r /dev/urandom -a

chown named:named /etc/rndc.key

/etc/init.d/named start

启动后,abc.com.zone自动同步到slaves文件夹;

 


默认同步太慢,可以在主上做如下配置,使得当主有变化时,立即推送给从:

vim /etc/named.conf  //添加:

notify yes;

also-notify {192.168.1.120;};


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: