centos linux dns配置,linux Centos6.3 DNS 安装 配置 | 数据为王

一.安装DNS Server

yum -y install bind*

yum -y install bind-utils //nslookup 后面会用到

/etc/init.d/iptables stop //关闭防火墙,或者选择永久关闭防火墙chkconfig  iptables off

你也可以选择打开防火墙53端口,记住TCP和UDP都需要

vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT

安装好之后查看named 服务状态

/etc/init.d/named status

rndc: neither /etc/rndc.conf  nor /etc/rndc.key was found

named-sdb 已停

发现缺失文件错误,解决方法如下:输入

rndc-confgen -r /dev/urandom -a

再次启动服务,

/etc/init.d/named start

报如下错误,好事多磨!

rndc: connect failed: 127.0.0.1#953: connection refused

解决方法如下,编辑/etc/named.conf,增加如下内容

controls {

inet 127.0.0.1 port 953

allow { 127.0.0.1; } keys { "rndc-key"; };

};

include "/etc/rndc.key";

chmod 777 /etc/rndc.key

然后再启动named服务,如果出现如下内容,说明服务正常了

a7ac791cfe66fb626323ee3b93463931.png

二.文件配置

安装完BIND以后,BIND的主要配置文件通常保存在如下两个目录:

/etc/named.conf  -BIND服务主配置文件

/var/named/  -域的zone配置文件

由于我是用yum的方式安装bind的,它默认也安装了bind-chroot,于是BIND的主配置文件主被封装到一个伪根目录内,路径为:

/var/named/chroot/etc/named.conf  -BIND服务主配置文件

/var/named/chroot/var/named  -域的zone配置文件

首先我们来分析named.conf主配置文件

vim /var/named/chroot/etc/named.conf

//全局配置

options {

listen-on port 53 { any; };//把原先的127.0.0.1 修改成any,或者本机IP,如果有多个IP,则每个IP以分号分割

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 { any; };//允许所有IP访问

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

};

controls {

inet 127.0.0.1 port 953

allow { 127.0.0.1; } keys { "rndc-key"; };

};

logging {

channel default_debug {

file "data/named.run";

severity dynamic;

};

};

//根域名服务器,当服务器启动时,它使用根线索来查找根域名服务器,并找到最近的根域名服务器列表。

//当DNS服务器处理递归查询时,如果本地区域文件不能进行查询的解析,就会转到根DNS服务器查询

zone "." IN {

type hint;//类型有 hint(表示是互联网中根域名服务器),master(主域名服务器),slave(辅助域名服务器)

file "named.ca";//该文件包含13个根域名服务器地址,可以通过cat /var/named/named.ca 查看

};

include "/etc/named.rfc1912.zones";

include "/etc/named.root.key";

include "/etc/rndc.key";

编辑named.rfc1912.zones

vim/var/named/chroot/etc/named.rfc1912.zones首先清空里面的内容,然后增加如下内容

zone "gitsea.com" IN { //正向区域zone

type master;

file "gitsea.com.zone";//文件名

allow-update { none; };

};

zone "1.168.192.in-addr.arpa" IN { //方向区域zone

type master;

file "gitsea.com.rev"; //文件名

allow-update { none; };

};

配置zone

zone文件的格式比较复杂,包含了一些跟域从服务器同步刷新以及资源记录等信息,如果手动去编写很容易写错,因此我们一般使用默认的 named.localhost 这个文件来作为 zone 文件的模板,通过复制生成我们需要的正向zone和反向zone配置文件

cd /var/named/chroot/var/named

cp -p named.localhost gitsea.com.zone

cp -p named.localhost gitsea.com.rev

gitsea.com.zone配置内容如下

$TTL 1D

@ IN SOA localhost root (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS @

A 127.0.0.1

IN MX 10 mail.gitsea.com.

mail IN A 192.168.1.17

www IN A 192.168.1.168

gitsea.com.rev配置内容如下

$TTL 1D

@ IN SOA @ rname.invalid. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS @

A 127.0.0.1

17 IN PTR mail.gitsea.com.

168 IN PTR www.gitsea.com.

参数说明:

TTL是生存期,单位是秒

SOA资源记录:

每个区在区的开始处都包含了一个起始授权记录(Start of Authority Record),简称SOA记录。SOA定义了域的全局参数,进行整个域的管理设置。一个区域文件只允许存在唯一的SOA记录。

NS资源记录:

名称服务器(NS)资源记录表示该区的授权服务器,它们表示SOA资源记录中指定的该区的主和辅助服务器,也表示了任何授权区的服务器。每个区在区根处至少包含一个NS记录。

PTR资源记录:

相对于A资源记录,指针(PTR)记录把IP地址映射到FQDN。

CNAME资源记录(别名):

规范名字(CNAME)资源记录创建特定FQDN的别名,用户可以使用CNAME记录来隐藏用户网络的实现细节,使连接的客户机无法知道。

MX资源记录(邮件):

邮件交换(MX)资源记录为DNS域名指定邮件交换服务器。邮件交换服务器是为DNS域名处理或转发邮件的主机。处理邮件指把邮件投递到目的地或转交另一不同类型的邮件传送者。转发邮件指把邮件发送到最终目的服务器,用简单邮件传输协议SMTP把邮件发送给离最终目的地最近的邮件交换服务器,或使邮件经过一定时间的排队。

第二行 SOA记录,@取代在/etc/named.conf中指定的域名

SOA段中的数字,分别为:序列号、刷新、重试、过期、生存期

序列号:序列号用于DNS数据库文件的版本控制。每当数据被改变,这个序列号就应该被增加。

刷新:从服务器向主服务器查询最新数据的间隔周期。每一次检查时从服务器的数据是否需要更改,则根据序列号来判别。

重试:一旦从服务器尝试连接主服务器失败,下一次查询主服务器的延迟时间。

过期:如果从服务器无法连通主服务器,则在经过此时间后,宣告其数据过期。

生存期:服务器回答 ‘无此域名’ 的间隔时间。

数字的默认单位为秒。否则:W= 周、D= 日、H= 小时、M= 分钟。

IN 是internet记录

SOA 是SOA 初始化记录,我们说的是初始授权记录.

localhost 是DNS服务器的名称

root 是管理员的邮箱地址

测试:

把另外一台服务器的DNS设置成该DNS服务器IP(我的当前DNS服务器IP为192.168.1.168)

测试方法和结果如下图

35d9a54d318fc4445af0cee709248899.png

说明配置生效.

附:我们在修改配置named.conf 文件和zone文件的时候,很有可能会出错之类的,这个时候我们可以通过借助 named-checkconf 和named-checkzone这两个指令来验证文件配置是否正确

named-checkconf :用来验证named.conf文件,格式:named-checkconf  /etc/named.conf  如果无错误信息输出,说明配置正确

named-checkzone:    用来验证zone文件,格式 named-checkzone gitsea.com.zone /var/named/chroot/var/named/payegis.com.zone ,如果正确则会输出OK信息,反之会输出相关的错误信息

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值