ubuntu下bind服务器安装过程

终于到记录的环节,前面的过程实在是心酸。现在统一下先前的工作:

因为涉及dns的工作,想要搭建dns的bind服务器,借助bind服务器创造dns请求回复的交互环境,利用DNSProxy来对dns的命令进行解析,具体代理见开源项目:https://github.com/BII-Lab/DNS-layer-Fragmentation,利用go下载下来完成go build得到可执行文件来做代理。当然,这是目的,当前我们还是记录一下bind的安装过程吧。

首先,利用ubuntu来安装bind有两种方式,第一种是利用apt-get install bind9,第二种是下载源码,然后编译安装,不幸的是,笔者将这两种都跑了一遍。=_=!

两台虚拟机,一台server一台client,server上安装bind。

(1)apt-get install bind9

下载很顺利,安装很成功,剩下的就是在安装好的bind基础上操作了,以下链接都可以拿来参考:

http://wiki.ubuntu.org.cn/BIND :这是官方对于bind服务器安装的介绍,里面会讲一下关于bind软件的架构及命令,看一看,了解你的对手;

http://blog.sina.com.cn/s/blog_9634532001019ins.html:这个链接则是快速入手bind服务器,跟着博客走,走下来笔者发现除了www.hdjay.com之外其他的都无法解析成功,并且解析得到的ip地址和设置的ip还不一样,但是至少体验了解析成功的模样;

http://my.oschina.net/u/929415/blog/271969:如果你在纠结的过程中打开了这个链接,那么可以负责任的告诉你,他的老版本安装过程不适合笔者这样的新手;

http://www.linuxde.net/2013/06/13860.html:这个链接则是介绍了具体的一个配置过程,不得不说,很清晰,所以笔者通过他完成了配置,并且采用了

/etc/init.d/bind9 restart完成了两个OK的double,但是解析依然无法完成,笔者找到了named-checkconf,对所完成的解析文件进行check,check完成之后发现里面要求不要出现";",但是当我去掉了整个';'之后,告诉我整个文件都有问题,崩溃。但是链接4是有过check ok的结果的,莫名其妙之后我继续寻找答案。

笔者在操作过程中渐渐认识了bind软件的整个架构:那就是两部分,

首先,bind服务器主配置目录在/etc/bind/下面

/etc/bind/named.conf //维护服务器与其他dns服务器的沟通,没啥可改的,不动就行
/etc/bind/named.conf.options //主要完成对转发地址的修改,一般维持为8,8,8,8就行了,没啥可改的,forwarders需要解注释,注意:这里的forwarders是指options括号内的那一个!
/etc/bind/named.conf.local //这是主服务器记录,外部加入的域名和IP之间的对应关系都在这里进行规划,里面会记录对应的IP、域名文件位置,这个地方一般就不讲究,都放入/etc/bind/目录下就行啦

以上三个文件是主要的配置文件,

其次,根据主服务器记录添加zone文件(IP域名文件),与上述主服务器记录名字必须保持一致。

添加格式参见链接1,样例参见链接4,完成之后将能完成基本的bind配置,restart之后就可以尝试解析了。这个地方需要了解的一点是:通常用来测试域名和IP的主要有四中方法:

第一种是host+IP,反向解析,它将显示

107.1.168.192.in-addr.arpa domain name pointer dns.test.com.

第二种是ping,正向解析,它将显示;

ping www.test.com

 PING www.test.com (192.168.1.107) 56(84) bytes of data.

第三种是dig+域名+@服务器的IP,正反向均可解析,它将显示http://www.linuxde.net/2013/10/15330.html

显示结果关键看answer是否得到;

第四种是nslookup+域名,正向解析,具体看看命令就明白了。

最后的结果是,安装没有成功,但是对整个架构的了解真的明白了。但是没有得到结果,如果读者能依靠以上链接得到结果,我这个过程也算是造福了。

(2)由于笔者在安装软件时对apt-get install表现出很强的不信任,因此这会影响软件安装使用的结果。于是决心换掉bind9,采用源码来完成。

源码安装第一步:下载:http://www.linuxfromscratch.org/blfs/view/cvs/server/bind.html,下载源码9.10.2,下载之后tar -zxvf +文件,放到你想安装的位置,sudo make,然后sudo make install,安装完成之后,以下链接是非常有用的。

http://www.2cto.com/os/201206/135139.html:该链接主要过程基本吻合,安装过程除zone文件内容不能完全一致之外,其他均可借用;安装完成之后验证方法也可以直接借用;

http://www.jb51.net/article/33941.htm:该链接对zone文件的编写十分规范,可以按照该文件的zone文件格式及内容改造前一链接中的文件,达到简化前一文件的作用;

安装完成,文件完整之后,

使用/usr/local/named/sbin/named -c /usr/local/named/etc/named.conf & 启动named即启动bind

由于bind服务器实际上在ps -aux中可以看到就是named,所以两者是一个东西;

如果不想写目录那么一大堆,就把前面的/usr/local/named/sbin/named拷到/usr/local/sbin中去,全局使用named。

使用host 192.168.1.107,得到了结果如前述;

使用ping www.test.com,得到前述结果。

如果你没有得到正向和反正解析的正确结果,那么强烈建议使用named -c 和named -g这两个命令反复来验证吧。前一个命令是直接执行的,后一个命令是看得到执行过程中没有出现的问题。

这里面笔者出现了一个问题,那就couldn't add command channel 127.0.0.1#953: address in use,关闭和named相关的所有进程,如dnsmasq,named等,ps -e可以看见。

另外,has no address record(A/AAAA),则添加

INNStest.com

INA192.168.1.107

www INA192.168.1.107

可以解决问题。

另外,has no NS records,则添加

@ IN NS test.com

107 IN PTR www.test.com

可解决问题。

下面贴出个人的test.zone和test.local前面的部分,前面端口之类的一定要一致!

$TTL 86400

@ IN SOA test.com. root.test.com. (

42

1H

15M

1W

1D

)


最后附上成功的代理图:

代理显示:

ubuntu下bind服务器安装过程_第1张图片

dig结果:

ubuntu下bind服务器安装过程_第2张图片

你可能感兴趣的:(Linux,bind服务器-DNS)