澳门皇冠金沙网站▎在线官网
做最好的网站

Centos6安装配置DNS服务器

2019-12-23 作者:网络服务   |   浏览(146)

Centos6安装配置DNS服务器

澳门皇冠金沙网站,在线官网 1

DNS服务器分为三种:

123

缓存DNS:负责接收缓存用户DNS请求,查询通过转发DNS服务器,一般家用路由带这种DNS。递归DNS:普通用户最常接触的就是递归DNS了,用于递归查询域名所对应的IP地址,一般都是使用运营商提供的DNS。权威DNS:包含根DNS,权威域名DNS,当用户通过递归DNS查询域名对应IP的时候就要向权威DNS查询。

本文要介绍的是权威DNS服务器的安装配置,用于提供对域名的解析服务。
Centos6下BIND安装:

12

#http://www.haiyun.meyum install bind

Centos5下BIND安装:

123

yum install bind cp -a /usr/share/doc/bind-9.3.6/sample/etc/* /etc/cp -a /usr/share/doc/bind-9.3.6/sample/var/named/* /var/named/

配置为本地缓存转发DNS服务器:

12345678910111213

cat /etc/named.confoptions {listen-on port 53 { 127.0.0.1; };directory "/var/named"; allow-query     { localhost; }; #仅允许本地查询recursion yes; #允许递归查询        forward only;  #仅转发        forwarders {                8.8.8.8; #转发查询DNS服务器                4.4.4.4;        };};

配置为域名解析权威服务器,根据view功能对内提供递归查询服务,对外提供域名解析服务,需在域名注册商处理更改DNS服务器,如ns1.haiyun.me。

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647

//全局设置options {listen-on port 53 { any; };directory "/var/named";};//日志设置logging {        channel default_debug {                file "data/named.run";                print-time        yes;                severity dynamic;        };        channel query_log {                file "data/query.log" versions 3 size 20m;                severity  info;                print-time        yes;                print-category  yes;                };                category queries {                query_log;        };};//匹配本机view localhost {match-clients  { localhost; };allow-query      { any; };recursion yes;  //允许递归查询,即本地DNS缓存服务器include "/etc/named.rfc1912.zones"; //调用根服务器及本地};//匹配外网view  external{match-clients{ any; };        allow-query     { any; };recursion no; //非递归服务器        allow-transfer  { none; }; //不允许传送allow-query-cache { any; };zone "haiyun.me" {         type master;        file "haiyun.me";        };};

正解配置:

12345678910111213

$ORIGIN haiyun.me //此参数配合下面@,无设置为主配置文件内zone参数$TTL 600          //SOA ns用于主从判断权威服务器 @                       IN SOA   ns1.haiyun.me. mail.haiyun.me. (                         2012070401; #序号,slave判断是否下载                        3H; #更新频率                        10M; #失败重新连接时间                        1W; #失效时间                        1H ); #TTL时间@  IN NS ns1.haiyun.me.  //授权ns服务器@  IN NS ns2.haiyun.me.ns1 IN A 1.2.3.4ns2 IN A 1.2.3.4www IN A 1.2.3.4

配置完成启动named服务,如有配置iptables需开启udp53端口,为稳定可配置主从同步DNS服务器。

12

/etc/init.d/named startiptables -p upd --dport 53 -j ACCEPT

验证是否生效:

1234567891011

dig -t ns www.haiyun.me;; QUESTION SECTION:;www.haiyun.me.INNS;; ANSWER SECTION:www.haiyun.me.600INNSns1.haiyun.me.www.haiyun.me.600INNSns2.haiyun.me.;; ADDITIONAL SECTION:ns1.haiyun.me.600INA1.2.3.4ns2.haiyun.me.600INA1.2.3.4

http://www.bkjia.com/Linux/871262.htmlwww.bkjia.comtruehttp://www.bkjia.com/Linux/871262.htmlTechArticleCentos6安装配置DNS服务器 DNS服务器分为三种: 123 缓存DNS:负责接收缓存用户DNS请求,查询通过转发DNS服务器,一般家用路由带这种DNS。递归...

自己搭建递归DNS服务器

一般情况下,当我们连接到一个陌生的网络环境时,我们会委托由DHCP告知的DNS服务器来做域名解析的工作。但在我看来,这样的做法有着很大的安全隐患。

使用他人提供的DNS服务器,意味着你查询得到的结果是服务器管理员想要给你的结果。由于权威DNS的作用就是给原本没有域名的主机赋予域名(详情可查阅维基百科),因此在一般情况下,相信权威DNS的解析结果并不会有什么问题,除非权威DNS的管理员中出了叛徒:-)

然而非权威DNS就不一样了:它们的作用并不是为主机赋予域名,而仅仅是解析由客户端发来的域名,并给出结果。最常见的非权威DNS是递归DNS,它按如下方式工作:

比如你打算向一个递归DNS查询www.bkjia.com的IP地址,而该递归DNS尚未缓存相关的所有地址,则递归DNS首先会向根权威DNS查询负责所有.com域名的权威DNS的地址,然后向该权威DNS(暂名为A)查询负责bkjia.com的下一级权威DNS——B的地址,最后向B查询www.bkjia.com的地址,将得到的地址返回给客户端。可以看到,这是一个递归式的过程,我们可以使用BIND附带的DNS调试工具dig$ dig +trace <domain-name>的命令来观测这一过程。

但有些非权威DNS完全可能将服务器管理员设置的另一个地址返回给你,从而达到一些不可告人的目的。其效果和DNS劫持有几分相似,然而在这种攻击场景中并没有人篡改在网络中传输的DNS数据包,而是你使用的DNS返回的信息本身就是有问题的。

即使你直接使用的非权威DNS没有包藏祸心,权威DNS返回给它的查询结果仍然有可能被篡改。尽管DNSSEC提供了基于数字签名的机制来防止篡改,但我们仍然无法知道我们使用的非权威DNS是否使用了DNSSEC。

安全是不能托付给别人的。以上现实情况都指向一个解决方案:在自己的每一台计算机上搭建一个可以做递归查询的非权威DNS服务器,然后让这台计算机上的DNS客户端只使用它来做DNS查询。

这样的自由软件主要有Unbound和BIND,我使用的是历史最悠久的DNS服务器软件——BIND。

BIND的默认配置就是一个递归DNS服务器,最新版的BIND还自带了DNSSEC的支持。这意味着当你打算解析一个途经的各级权威DNS都部署了DNSSEC的域名(比如台湾地区的域名)时,任何篡改手段都会失去作用,并且只要篡改者无法阻挡真正的查询结果到达,你就总能得到正确的结果。

然而DNSSEC尚未完全普及,实际情况常常是最后一级权威DNS(即最终给出你打算解析的域名对应IP地址的权威DNS)没有DNSSEC支持,这样最顽固的DNS缓存投毒攻击仍然会污染我们的递归DNS服务器的缓存。但如果我们知道某些非权威DNS,向它们查询某些特定的被污染域名总能给出正确的结果,我们还可以利用BIND的DNS zone功能(很可惜unbound似乎无此功能),让它遇到这些域名时转到这些防污染DNS上解析。

BIND的主配置文件named.conf一般会用include语句拆分成几个子配置文件分别管理。我们可以增加一个子配置文件专门配置zone,如

  1. include "/etc/bind/named.conf.zones";

然后在这个子配置文件中写入转发规则:

  1. zone "domain.example.com"{
  2. type forward;
  3. forwarders { ipaddr-of-server0; ipaddr-of-server1;...};
  4. };

当然,子配置文件还可以使用include语句进一步拆分。更高级的用法可以参考BIND的man pages。

这样一来,绝大部分域名仍然倚靠部署在本机的非权威DNS进行带缓存的递归查询,避开了不可信的、由他人提供的、参数不明的非权威DNS;而少数污染严重的域名则转交给相应的防污染DNS解析,这些指向特定防污染DNS的zone可以随发现随添加。综合这两种方法可以抵挡常见的大部分与DNS相关的攻击。

澳门皇冠金沙网站,在线官网,如果你改写了BIND的配置文件,建议使用named-checkconf和named-checkzone检查其语法。需要重新启动BIND使配置生效。注意:这些操作一般都需要root权限。

安装BIND并用dig测试,确认它能正常工作后,在你的dhclient.conf(位置可能与发行版有关)中添加一行:

  1. prepend domain-name-servers 127.0.0.1;

或把这些文字前面的注释符号去掉。重新连接网络之后/etc/resolv.conf文件会被更新,机器上的客户端就会根据其中的信息使用监听于本机53端口的DNS服务器做DNS查询,DHCP给出的DNS将被屏蔽掉。

屏蔽DHCP给出的DNS是负责更新resolv.conf的resolvconf程序的默认配置TRUNCATE_NAMESERVER_LIST_AFTER_LOOPBACK_ADDRESS的功能。如果你需要DHCP给出的DNS,可以在/etc/default/resolvconf(位置可能与发行版有关)中将其设置为no来关闭这一保护,但因前文所述理由这样做会有安全隐患,笔者不推荐关闭这一功能。如果需要对付某些公共无线局域网热点的注册流程,可以将DHCP给出的DNS信息手动写入resolv.conf,注册成功后再去掉;笔者也在研究更安全的对付注册流程的方法。当然笔者曾见过某些特别恶劣的公共无线局域网热点,其中不指向DHCP提供的DNS的所有查询都会被屏蔽,遇到这种流氓热点你唯一能做的就是躲着走了。

本文永久更新链接地址:

http://www.bkjia.com/Linux/1085457.htmlwww.bkjia.comtruehttp://www.bkjia.com/Linux/1085457.htmlTechArticle自己搭建递归DNS服务器 一般情况下,当我们连接到一个陌生的网络环境时,我们会委托由DHCP告知的DNS服务器来做域名解析的工作。但在我...

本文由澳门皇冠金沙网站发布于网络服务,转载请注明出处:Centos6安装配置DNS服务器

关键词: