第一次写这个日记,图片没保存上,真麻烦。大致就是启动bind成功后,客户机可以通过53端口查询DNS服务,但是没有结果返回。查看服务器syslog日志中出现load xxx failed:pemission denied,好像就是bind没有读zone域文件的权限,所以用chmod修改域文件权限设置,然后就好了。
很简陋的过程记录:SEEDLABS的实验 DNS LOCAL,做这个实验时,创建了DNS服务器和用户机两个虚拟机(Ubuntu),它们在同一局域网,通过NAT方式连接广域网(物理主机作为NAT路由)。大概首先要配置DNS服务,添加域www.example.com,然后实现在客户机上通过这个DNS服务解析某个域名(如www.example.com)。
查错用到的命令:1) name -g 输出named.conf 配置标准出错点 2)tail /var/log/syslog 可以看到最后的错误警告日志 。 并不懂这些命令,都是网上查的,╮(╯▽╰)╭
那么按照教程配置了DNS服务器(--这句话说明肯定会出错--)
1. sudo /etc/init.d/bind9 restart 然后就启动bind9失败,
所以调用 named -g 输出到出错点==========在named.conf.local创建zone域时}后少了分号
2. 添上“”;“”就好了,然后,sudo service bind9 restart 重启bind9成功。
3. 配置好客户机(修改/etc/resolv.conf以及在网络设置里固定ip设置DNS服务器地址)
在客户机测试:dig www.example.com
遇到的问题是ANSWER:0,没有找到www.example.com相应的192.168.0.101结果,我觉得肯定是服务器的问题。
4. 于是,回到DNS服务器 ,重启bind9服务是OK的,那么看日志( sudo tail /var/log/syslog)可以看到zone文件因为权限不能加载 ,好像是load xxxxxxx failed:pemission denied错误
5. 查看/var/cache/bind文件夹权限,-rw------- 1 seed root 247 Nov 6 21:45 example.com.db
bind没有读example.com.db域文件的权限,那么chmod 644 example.com.db修改之后就好了,重启bind服务,在客户机上测试nslookup 和example.com.db域文件写的一样,算是成功了吧。那就继续做实验。