查看文章 |
在linux下提供dns服务的软件用的最多的是bind,在工作中,其实一般公司不会自己建立一个dns服务器,一般解析都交给万网,新网,这些代理商他们做。就等于外包把,减轻自己的工作量。 不过如果你在试验的条件下,比如你要测试邮件,那么你还是要架设一个dns服务器,这样你才能进行完整的测试。还有就是你公司希望dns自己来管理。下面就谈谈整个的过程。我经历过一次公司架设dns服务器的过程。 dns服务器架设的准备工作 1:注册一个域名,比如test.com,假设是在万网注册的。 2:拿你的机器去托管,比如电信通托管,那么他们会根据你的需要,给你1个ip:192.168.1.168,当然这不是公网的ip,只是举例。 3:找万网,说我要搭建一台dns服务器,dns 的名字是ns1.test.com ip地址是192.168.1.168,名字可以根据你自己喜欢来定,就是大家习惯都是ns1,ns2 这样的主机名。这个是要收费的,好像是每年200左右。万网需要把你注册的ns1.test.com 和对应的ip,提交给域名最高的管理机构,在他那里做解析。 4:如果我没有猜错,过两天三天后,这个时候,你 ping ns1.test.com 就返回ip地址是192.168.1.168,不过由于你没有假设机器,所以显示无法到达。 5:这个时候你就可以在你的机器上假设dns服务器了,你可以选择windows,linux系统,都有相应的软件,在linux下,至少有两个软件可以架设dns服务器,不过最出名的是bind。 6:反向dns解析,这个也是大家经常问的问题,反向,就是通过ip查找域名,不过现在很多都是一个ip对应多个域名,那么反向解析是那个域名呢,为什么要做反向解析呢?我的理解是:如果是web服务,你是不需要做反向解析的。做了反向解析也无所谓,没有什么影响。只有在提供邮件服务的情况下,才需要考虑反向域名解析。 因为现在反垃圾邮件的策略,就是通过查询反向dns解析,你的mx记录,是否是你现在发送的ip,如果不是,就不接受。 做邮件的反向dns解析,不只是你在你的dns上做配置,还需要你服务器托管商,比如电信通,他帮你去注册这个反向dns解析,这在国内也是需要收费的。好像还很贵。有些地方1千一年。 7:假如我现在有注册了一个域名,example.com ,在域名的管理的地方,有一个地方是选择你的dns服务器,这个时候,你就可以选择你刚建好的 ns1.test.com. 如果你希望帮助别人解析域名,也是需要他修改他域名记录,把他的域名解析改为你的服务器,这样你在你的机器上建立相应的记录才会生效。 假如你朋友的域名是 domain.com ,你帮他做dns解析,指向ip是192.168.1.168,但是你朋友并没有修改他域名记录里的dns服务,没有修改成ns1.test.com. 那么这种情况下会出现什么情况呢?假如我的机器的dns是设置为 192.168.1.168,也就是你架设dns服务器的ip,那么我访问 domain.com 是没有问题的,但是别人是不会这样做的,他还是无法访问的。不知道我说明白没有。
dns的功能介绍 缓存dns(dns转发) 这个功能,其实比较简单,也是大家用的最多的,配置也很简单,只需要把所有需要解析的请求转发给另外一台机器就可以了。现在很多router,你的dns都是192.168.1.1,其实就是一个dns转发。 dns解析功能 就是给机器做域名解析,这其实也不算复杂,其实配置bind一个比较麻烦的地方就是修改配置文件的时候比较容易搞错。如果你在现成的配置文件上修改,那是很简单一件事情。 dns的高级功能 这其实也是dns复杂的地方,不同的企业,有不同的需求。比如我们现在的网络的南北互通的问题,怎么才能做到南方的请求,给他南方的ip呢?这其实就是dns的高级功能view。 不过这些也只是了解就可以了。现在很多机房都提供智能dns的服务,
达到的目的 dns server:ns1.test.com 配置过程
软件的安装,我们是采用编译的方式,那么编译安装的软件,安装的位置你是可以指定的,这个比rpm包安装灵活的地方,但是也有一个问题,每一个人的习惯是不太一样,放的位置也不一样。所以编译安装,灵活带来的问题。 有人习惯把所有的信息放在一个文件夹里,有人习惯把配置文件放到/etc 的目录下,这样比较方便,因为用rpm包安装,配置文件就是放那里。 不过通过编译安装的软件,如果你不是特意修改,那么他缺省的位置就是 /usr/local ,这个是需要你记住的。 下载软件放的位置,也是一样,每个人的习惯都不一样,我的习惯是都放在/usr/src 里,解压也是在这个文件夹里。
下载软件 由于我们需要用源码包来安装,光盘里的是rpm包,所以我们需要去下载。 目前最新的版本是9.4.2 你可以在windows下下载完,通过winscp上传,不过对于这些不大的软件,还是学习一下怎么在linux下下载。 wget http://ftp.isc.org/isc/bind9/9.4.2/bind-9.4.2.tar.gz wget 的用法很多,包括指定下载路径,如果你不会指定下载路径,那么你就转到/usr/src 的目录下再下载。
编译安装 把下面的命令直接服装过去运行就可以了,linux会运行完一行再运行第二行,由于这个我已经反复多次,肯定不会出错。大家可以一条一条执行。 安装过程 安装的目录是/usr/local/named, 所有的域名的文件都是放在 /usr/local/named/var下,这个路径需要注意,很多文章是在/var/named这个目录下,不过我觉得把所有的文件放在named的目录下,会更好。
tar zxvf bind-9.4.2.tar.gz
################# options { zone "." IN { zone "localhost" IN { zone "0.0.127.in-addr.arpa" IN { zone "test.com" IN { //建立test.com域
cd /usr/local/named/var 1:named.root 2:localhost.zone 1D IN NS @ 3:named.local 1 IN PTR localhost.
$TTL 86400 ; 1 day ######################### 三:启动脚本 vi /etc/rc.d/init.d/named #!/bin/bash if [ `id -u` -ne 0 ]
chkconfig --add named service named start
/usr/local/named/sbin/named -g 你可以看到启动的过程,如果你的配置文件有错误,所以你可以根据这个排错
/usr/local/named/sbin/rndc status 启动服务 service named restart 编辑/etc/resolv.conf 修改这个文件,把本机的dns指向本机168 nslookup就可以测试了。
|
