DNS服务器搭建

来源:互联网 发布:mac java环境变量设置 编辑:程序博客网 时间:2024/06/05 02:39

DNS服务器搭建

此处是cache only dns服务器,不是经过上层授权的

cache only dns服务器是指只有.的zone file,甚至连.的zone file都没有而只指定fowarding到上层dns服务器。此时的cache only dns服务器没有自己的资料库。

何时可能会用到?

例如当公司的防火墙屏蔽了53端口时,可能就需要在防火墙上搭建一个cache only dns服务器了,因为防火墙可以设定放行自己的dns功能。


DNS客户端

/etc/hosts:hostname对应IP的/etc/resolv.conf:DNS服务器IP的/etc/nsswitch.conf:决定先使用/etc/hosts还是/etc/resolv.conf的

DNS服务端

源码编译安装

软件:bind(berkely internet name domain)
#rpm -qa | grep ‘bind’ 查询是否已经安装;bind-9.11.0安装包

tar -xvf bind-9.11.0-P1.tar.gz cd bind-9.11.0-P1./configure --prefix=/usr/local/bind9 --sysconfdir=/etc/named/ --enable-threads --disable-chroot --disable-ipv6    运行configure程序,生成配置脚本文件makefile文件

–prefix= :指定单独的安装路径,为了删除方便,一般放在/usr/local/下
–sysconfdir= :存放配置文件,配置文件一般在/etc/下,这里存放在了/etc/named下
–enable-threads:默认关闭的,启用线程工作模式,拥有更好的性能
–disable-ipv6:关闭IPV6的功能
–with-dlz–mysql:基于mysql安装

make && make install

配置

因为源码编译安装不会自动更新PATH,库文件,及启动脚本等,需要我们自己动手配置的

vim /etc/named/named.confoption {    listen-on port 53 { any; };    directory "/var/named"; 資料庫檔案預設放置在這個目錄    forward only ;DNS 服务器只进行forward,有zone file也不使用    allow-query { any; };  一定要加上,坑在下面有描述    forwarders      { 114.114.114.114;     1223.5.5.5;     };  forward的上层dns服务器IP};

这边遇到的问题就是
“新版本的BIND对 allow-query 有着不同的处理,新增加了一个allow-query-cache 的选项。”
解决方式是在option中添加上
allow-query { any; };
如果没加则使用的时候dns会报错,报错信息如下:
query (cache) 'www.baidu.com.localdomain/A/IN' denied

启动

named -g -u named -c /etc/named/named.conf:启动服务-g:前台启动-u:启动服务-c:启动服务的配置文件在哪在重开窗口进行测试:dig www.google.com @10.133.192.252@后是服务器的内网IP如果有解析且底下有下面的提示就是成功了的:SERVER: 10.133.192.252#53(10.133.192.252)

还有个问题就是dns查询结果缓存是保存在哪里的呢?
option中有一个dump-file项需要注意的是默认情况下dns本地缓存数据都是存放在内存中,只有在使用rndc dumpdb -all 时才会将内存中的数据保存在本地盘中,保存的路径就是该项配置的名称;

0 0