我们目的是用一台局域网机器完成 192.168.1.113 <-->cloudshield.com的解析,指定A记录和CNAME;
0.关于Ubuntu 14.04.2 LTS 下载、安装、更新这里就直接跳过了;
1.下载安装工具 bind9 sudo apt-get install bind9
DNS 配置文件在/etc/bind 目录中。安装bind9后会生成如下三个配置文件:
named.conf;
named.conf.options;
named.conf.local; 其中 named.conf是主配置文件,里面包含了named.conf.options和named.conf.local,我们在架设本地dns时,只需改动named.conf.local即可;
2.修改/etc/bind/named.conf.local文件,主要是添加两个zone:正向解析和反向解析(这里直接附上我自己的配置截图,由于编辑器会去除文件中的tab变成空格,所以就不贴配置文件引起误解了,最后会放在附件里,如果有需要的可以下载
)
// domain->ip zone "home.easyunion.net" in {type master;file "/var/cache/bind/db.easyunion.net"; };// ip->domain zone "3.168.192.in-addr.arpa" in {type master;file "/var/cache/bind/reverse/db.3.168.192"; };
3.建立db.cloudshield.com文件并配置(具体的文件位置根据named.conf.local的路径来定) sudo touch /var/cache/bind/db.cloudshield.com
然后sudo vi
打开如下编辑就行了
vim /var/cache/bind/db.easyunion.net
$TTL 604800 @ IN SOA easyunion.net. roo.easyunion.net. (2 ;Serial604800 ;Refresh86400 ;Retry2419200 ;Expire604800) ;Negative Cache TTL@ IN NS ns.easyunion.net. @ IN A 192.168.3.47 ns IN A 192.168.3.47 test IN A 192.168.3.47 home IN A 192.168.3.47 www IN A 192.168.3.47
这里要注意除了root.cloudshield.com前后是空格文件中间空格都是tab
4.建立db.1.168.192文件并如下编辑(这里因为DNS解析是自右向左的所以就写倒着写了,并且是一个ip段,具体做法与上类似,不再赘述)
vim /var/cache/bind/db.3.168.192
$TTL 604800 @ IN SOA easyunion.net. root.easyunion.net. (2 ;Serial Number604800 ;Refresh86400 ;Retry2419200 ;Expire86400 ) ;Minimum@ IN NS easyunion.net. 66 IN PTR test.easyunion.net. 66 IN PTR home.easyunion.net. 66 IN PTR www.easyunion.ent. 66 IN PTR ns.easyunion.net.
5.在 /etc/bind/named.conf.option中做些文件日志位置指向
6.设定本机为第一个DNS nameserver,在/etc/resolv.conf文件(注意:我在修改的时候这是个链接文件,所以直接过去修改源文件就行)
添加在第一行:nameserver 192.268.1.113
到这里整个DNS 配置就完成了;
7.测试一下呐:
记得首先的重启下bind9
shell 敲service bind9 restart
这个时候可以用 host/dig/nslookup等工具(一般自带)来测下:
host:
dig:
nslookup:
8.如果无法测试通过或重启不了bind,很可能是因为配置文件格式不正确,可以使用tail命名来查看系统日志,逐步查找问题,相信办法总比困难多;
tail -10 /var/log/syslog