在企业内部一般都会有自己的DNS服务,主要为了企业方便管理,例如访问一些内部系统,控制一些网站不让访问,今天我们就说说如何打造私有的DNS服务
系统基础配置
Ubuntu14.04 内存:354M (使用vagrant 创建的虚拟机,)
安装DNS服务
sudo apt-get install bind9 bind9utils
修改配置
上篮三步简单设置 用 dr.local.com 为测试域名
1.配置forward 编辑/etc/bind/named.conf.options
forwarders { 114.114.114.114; 8.8.8.8;};
2.配置需要解析的域名 编辑/etc/bind/named.conf,最下面添加
zone "dr.local.com" { type master; file "/etc/bind/master/dr.local.com";};
dr.local.com
;; BIND data file for local loopback interface;$TTL 604800@ IN SOA dr.local.com. root.dr.local.com. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL;@ IN NS dr.local.com.@ IN A 192.168.22.24@ IN AAAA ::1blog IN A 192.168.22.24admin IN A 192.168.22.24api IN A 192.168.22.24static IN A 192.168.22.24
3.自定义日志位置 编辑/etc/bind/named.conf,最下面添加
logging { channel query_log { file "/data/logs/named/namequery.log" versions 3 size 20m; severity info; print-time yes; print-category yes; }; category queries { query_log; }; channel update_log { file "/data/logs/named/nameupdate.log" versions 3 size 5m; severity info; print-time yes; print-category yes; }; category update { update_log; }; channel general_log { file "/data/logs/named/namegeneral.log" versions 3 size 5m; severity info; print-time yes; print-category yes; }; category general { general_log; };};
这样设置自定义目录后会出现安全问题,需要修改apparmor配置,
关于apparmor具体解释请看
$ sudo vim /etc/apparmor.d/usr.sbin.named#在最下面添加/data/logs/named/** rw,/data/logs/named/ rw,$ sudo /etc/init.d/apparmor restart$ sudo /etc/init.d/bind9 restart
验收成果
nslookup baidu.comnslookup blog.dr.local.com
Mac设置DNS方法
设置dns截图
浏览器访问网页解析日志
PS:问题
如果出现 no valid DS resolving 错误,将 named.conf.options 中修改或者加入
dnssec-enable no; dnssec-validation no;
原文地址: 标签: