《Debian服务器设置入门》系列教程第五章
蓝森林www.lslnet2002年11月29日16:13
作者:kanaka[冷罡华]
联系:kanaka@yeah,leng@haier
版本:0.2.1
版权:GPL
最后修改:2002年11月26日
总目录
前言
第一章在Debian上配置A pache+M ySQL+P HP4
第二章在Debian上用W u-ftpd配置FTP服务器mysql入门基础教程
第三章在Debian上用E xim配置邮件服务器
第四章在Debian上配置S amba服务器
第五章在Debian上用B ind配置DNS服务器
《Debian服务器设置入门》系列教程之第五章:Samba服务器
第五章在Debian上用B ind配置DNS服务器
本章目录
1什么是DNS
2为什么需要DNS
3BIND介绍
4配置
5测试
6TODO
7结束语
8参考文献
1什么是DNS
c语言保存数据到txt结果出现乱码
初学者可能不理解DNS到底是什么,干什么用。我是在1998年大学毕业时才听说这个词的。那时我在聊天室碰到潍坊信息港的一个网管,我恬不知耻地说我也是个网管,他说也维护DNS吗?我说,DNS是什么?
——DNS,Domain Name Service,或者Domain Name Server,域名服务/域名服务器。
你在你的浏览器里面输入www.linuxsir之后,之所以可以上去,就是因为有了DNS。
简单地说,DNS把一串名字,转换成了IP地址。你可能会说:如果我直接使用IP地址,那就不需要DNS了吗?对!不过,请你接着往下看。
2为什么需要DNS
2.1互联网需要DNS
现在几乎整个互联网都是基于TCP/IP的。在这个世界里,不管你访问哪个网站、哪台机器,必须得知道它的IP地址才可以。好,我告诉你,202.106.185.203这个地址,是新浪网的IP地址,你每次上网,都得再浏览器的地址栏里面输入202.106.185.203才可以访问新浪。你可能会说:没问题,不就一串数字嘛,我记得住!可是,你想一下,在Internet上,有多少台主机啊!你可能会记住其中几台甚至几十台的IP地址,但是你肯定记不住全部。
正是由于IP地址不好记,人们才想了个办法,让你只需要记住名字,然后系统通过这个名字,到数据库里面去查它的IP地址,然后再把查到的IP地址反馈给你,比如反馈给浏览器,最后,浏览器用这个由DNS给的IP地址去访问你想去的站点。
windows安装nodejs2.2局域网需要DNS
那么,在局域网内部呢?需要DNS吗?
太需要了!你不要觉得,单位就这么几台机器,用hosts解析,不也一样吗?你可千万记住这个教训,当公司越来越大,hosts的维护量将大的惊人!我所在的公司,前不久就面临了这种尴尬。所以,一定要有一台DNS,然后在公司内部定义一个规范的主机命名规则,这才是个好网管,呵呵。
3BIND介绍
Bind是使用最广泛的Domain Name Server,它是Berkeley Internet Name Domain Service的简写,伯克里大学编写的。这个大学可真厉害,写了不少著名程序。
原本bind的版本一直在4.8.x  4.9.x左右,后来一口气跳到8.1.x,是因为大幅度改进了功能,并修复了漏洞。现在bind有两个版本在同时发展,bind8.x和bind9.x,最新版本是8.3.3和9.2.1。
3安装
3.1软件版本
目前debian的sid,同样提供了8版本的bind和9版本的bind,后者的软件包名字叫做
bind9.deb,版本是最新的9.2.1版。
3.2安装
安装过程非常简单:
#apt-get install bind9
4配置
由于我们前面第三章在配置邮件服务器的时候,使用了hosts文件来解析IP地址,现在我们需要把它去掉,让系统通过DNS来解析它所需要的IP地址。
我们制作基本的配置。至于高级功能,我们将在本文的下一个版本里描述。
4.1去掉hosts信息
如果你阅读过本文第三章,你就会知道,我有两台机器,一台笔记本电脑安装了win2000,名字叫notepad;另一台台式机装了Debian,机器名叫debian。他们都属于test这个域,这个域名没有在ISP那里注册,是我们内部用的。我分别编辑win2000机器上的
\winnt\system32\drivers\etc\hosts这个文件和debian机器上的/etc/hosts,去掉下面的这些行:
192.1.st debian
192.1.st notepad
这时你可以在win2000机器上启动Outlook Express,做一下收取邮件的动作,它会说不到
st——这就对了,因为hosts文件里面没有指向这个名字的IP地址,而且,我们也没有给win2000指定DNS服务器,所以它肯定不到st。
4.2在客户机上设置DNS
在我的Win2000机器里面,在桌面上右击“网上邻居”选择属性,在出现的窗口中右击“本地连接”选择属性,然后双击TCP/IP,在右下角的“首选DNS”里面,输入192.1.110.120。这是我的Debian机器在局域网上的IP地址。如果你用的是win98,那么情况差不多,在一个叫做DNS的标签里面设置首选DNS。我很久不用98了,差不多忘了。
如果你是个急性子,你会发现,诶?怎么设上了DNS了,我的Outlook Express还是说不到st?呵呵,别急别急,我们的DNS服务器还没弄好呐!
4.3在Debian上设置DNS
我们要事先把Debian机器的DNS指向它自己。修改/f,修改成:
search test
nameserver192.1.110.120
你不会把我的IP地址也抄上吧,呵呵。
4.4配置DNS服务器
4.4.1应用环境
filezilla client
我们把实验环境重新描述一下。
◆一个C类网段地址(本例中假定是192.1.110.0)
自学plc编程书籍推荐
◆企业域名为test,没有在ISP注册。(主域名服务器地址192.1.110.120,主机名为st)
◆企业网通过路由器与Internet连接
假如你的应用环境与上述条件不同,也请往下看,本文会在上述例子的基础上针对以下情况作修正:
◆多个网段
◆封闭的内部网
◆只能访问局部公共网的情况(如169网、上海热线等)
我们将使用一个叫做rndc的工具,rndc可以用于启动、中止、重启动、刷新DNS数据、输出DNS数据等多种调试功能。
4.4.2配置f
DNS服务器的主体是域名服务器进程named,named启动后向DNS客户机提供域名解析服务,把域名转换成IP地址。
named启动时需要读取一个初始化文件,缺省情况下是/etc/f,这是bind的
基本配置文件,不过这里面并不包含DNS数据。
注意,你也许会在网上到一些教程,这些教程有的是以bind  4.x为蓝本的,所以它的f里面的注释符号是分号“;”,但是自动bind8开始,语法变了。下面我们来说一下:
;这是bind  4.x的注释,前面用分号
//不过从bind8开始,有三种注释符号可以用:C样式,C++样式,或者shell样式:
/*这是C样式的注释符号*/
/
/这是C++样式的注释符号
#这是shell样式的注释符号
请你先把默认的/etc/f备份一下,我将给大家写一个简单的f,用于做Caching-only的DNS配置。
//指定named从/var/cache/bind目录下读取DNS数据文件。
//这个目录用户可自行指定并创建,指定后所有的DNS数据文件都存放在此目录下。
options{
directory"/var/cache/bind";
};
//指定named作为test域的主域名服务器。
//db.test文件中包含所有*.test形式的域名转换数据。
zone"test"in{
java配置环境变量和系统变量
type master;
st";
};
//指定named作为192.1.110网段地址转换主服务器。
//db.192.1.110文件中包含了所有192.1.110.*形式的地址到域名的转换数据。
zone"110.1.192.in-addr.arpa"in{
type master;
file"db.192.1.110";
};
//指定named作为127.0.0网段地址转换主服务器。
//db.127.0.0文件中包含了127.0.0.*形式的地址到域名的转换数据。
/
/(127.0.0网段地址是局域网接口的内部loopback地址)
zone"0.0.127.in-addr.arpa"in{
type master;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。