⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000010.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 4 页
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;ruster&nbsp;(尘埃*星辰*领悟),&nbsp;信区:&nbsp;Linux&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;第六章&nbsp;Intranet(上)&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Thu&nbsp;Dec&nbsp;21&nbsp;13:42:02&nbsp;2000)&nbsp;<BR>&nbsp;<BR>第6章&nbsp;Intranet&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;本章要点:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;本章介绍如何将Linux配置为Intranet/Internet服务器,如ftp,www服务器等等。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;本章具体包括以下内容。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Internet名字服务器的配置&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;ftp服务器的配置&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;WWW服务器的配置&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;6.1&nbsp;域名系统&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;域名服务即DNS系统,它可以让你在访问确定的机器的时候,无需给出IP地址而是利用&nbsp;<BR>容易记忆的名字来处理问题。实际上,它有两种任务,将用户提出的名字翻译成IP地址&nbsp;<BR>,或者从IP地址查出域名。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;6.1.1&nbsp;DNS的工作模式&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;DNS是一个庞大的分布式数据库系统,它使用树状结构来处理各种查询。首先,我们会&nbsp;<BR>注意到,DNS名字是一些用点号分开的字符串,例如www.microsoft.com,这种名字通常&nbsp;<BR>用一种虽不太准确却很容易的方式来理解,例如microsoft.com是.com下的一个“子域”&nbsp;<BR>,而www.microsoft.com是microsoft.com的一个成员。所有DNS的共同祖先是&quot;.&quot;,称为&nbsp;<BR>根域。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;每个子域都应该有自己的名字服务器,或DNS服务器,例如,我们有一个.mydomain.c&nbsp;<BR>om域,为了实现对域内的机器以及下层子域能够提供DNS服务,我们至少应该有一台域名&nbsp;<BR>服务器来处理DNS请求。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;下面我们看看DNS是如何工作的,假设我们的域名服务器是ns.mydomain.com,它用来&nbsp;<BR>处理所有域内机器发出的DNS请求,这种DNS请求可以分成三种,一种是在mydomain.com&nbsp;<BR>内部的名字,名字形式是(比如说)host1.mydomain.com;第二种是在mydomain.com之外&nbsp;<BR>,比如说bbs.edu.cn;第三种是在mydomain.com下的一个子域内的一台机器,例如host&nbsp;<BR>2.subdomain.mydomain.com。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;ns.mydomain.com中应该包含所有名字为*.mydomain.com的机器的名字到IP地址的对照&nbsp;<BR>关系,但是不包含*.subdomain.com的对照关系。所以,当DNS客户机器向它提出一个查&nbsp;<BR>找host1.mydomain.com的请求的时候,它直接从本地数据库得到host1.mydomain.com的&nbsp;<BR>IP地址信息并且送回。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;当接收到一个类似于bbs.edu.cn的DNS查询请求的时候,DNS服务器将首先判断出它不&nbsp;<BR>在本地域内部,为了得出一个结果,它有两个选择,一个是回答客户“我不知道,但是&nbsp;<BR>你可以去问XXX服务器”;另外一个选择是自己去查询其他的DNS服务器,得到结果后再&nbsp;<BR>传送给客户。第二种方式称为递归检索。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;为了能够找到bbs.edu.cn的地址,ns.mydomain.com必须知道世界上其他服务器的地址&nbsp;<BR>,这有两种方案,第一种是ns.mydomain.com一开始就知道一个更庞大的DNS服务器,所&nbsp;<BR>有不懂的名字都交给它去查询,这种方式称为转发;另外一个方法更专业一点,首先,&nbsp;<BR>ns.mydomain.com知道世界上某些最重要的名字服务器的地址,然后再从这些服务器开始&nbsp;<BR>按照DNS的树状顺序查询。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;举例来说,ns.mydomain.com发现自己不知道bbs.edu.cn的地址,但是它知道世界上有&nbsp;<BR>一些“根”服务器,例如,a.root.net就是这样的一个服务器,其地址是198.41.0.4。&nbsp;<BR>所以,它向198.41.0.4提出一个请求。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;a.root.net在接受到这个请求之后,它也不知道这个名字到底在那里,但是由于bbs.&nbsp;<BR>edu.cn看起来在.cn中,而它知道.cn的域名应该由ns.cnc.ac.cn负责,其IP地址是159.&nbsp;<BR>226.1.1。于是它回答:“去问159.226.1.1,以后凡是.cn的请求你可以问它”。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;接下来,ns.mydomain.com将会去询问ns.cnc.ac.cn,ns.cnc.ac.cn也不知道bbs.edu&nbsp;<BR>.cn在那里,但是它知道edu.cn应该由dns.edu.cn负责,所以它回应:“edu.cn应该去问&nbsp;<BR>dns.edu.cn,IP是202.112.0.35”。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;当ns.mydomain.com询问dns.edu.cn时,终于得到了这个域名的正确地址:202.112.5&nbsp;<BR>8.200。但是接下来,在返回信息之前,ns.mydomain将首先记忆自己所学到的知识:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;凡是.cn的名字,去问159.226.1.1&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;凡是.edu.cn的名字,去问202.112.0.35&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;bbs.edu.cn的名字是202.112.58.200&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;它将这些信息记录在自己的文件中,以后当再有客户询问bbs.edu.cn时,它直接回答&nbsp;<BR>:“我记得那是202.112.58.200”。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;最后,返回查询结果。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;当提问的是host2.subdomain.mydomain.com时,ns.mydomain.com将会首先看到subdo&nbsp;<BR>main.mydomain.com应该由ns.subdomain.mydomain.com处理,所以去询问ns.domain.my&nbsp;<BR>domain.com,其他和上面说的流程基本相同。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;显然,由于ns.mydomain.com存储了查询到的知识,所以它也可以回答许多不应该由它&nbsp;<BR>回答的信息,但是这些信息可能是错误的(因为名字到IP的对照关系可以更改)。这种&nbsp;<BR>信息称为“非权威信息”。相反,有关host1.mydomain.com的信息它的知识肯定是正确&nbsp;<BR>的。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;为了提高域名服务的效率,通常一个子域内可以有多个域名服务器,这些服务器可以&nbsp;<BR>分成三类,一类是确实记录了域内机器的名字信息的服务器,称为主(primary)域名服&nbsp;<BR>务器;另一类也包含记录,但是它的信息是定期从主服务器来的,这种服务器的名字信&nbsp;<BR>息也是权威信息,这种服务器称为从(secondary)域名服务器;还有一类简单地缓冲各种&nbsp;<BR>查询信息,自己并不发布任何权威信息,这称为cache-only服务器。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;6.1.2&nbsp;bind&nbsp;8&nbsp;服务器配置&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;DNS服务器通常用named守护进程提供,不过它有一个怪异的名字,称为bind。由于历&nbsp;<BR>史的原因,named有两个规范,分别称为bind&nbsp;4和bind&nbsp;8。我们研究的是bind&nbsp;8,这是目&nbsp;<BR>前的Linux发行版本中的named程序的标准。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;要使用named程序,你需要安装bind软件包,我这里使用的是bind-8.2.1-7。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;配置bind8首先需要处理/etc/named.conf文件,通常它由一串段落构成,我们这里只&nbsp;<BR>能介绍最重要的部分。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;让我们来看一个范例性的named.conf文件,在这个例子中,我们配置的是asnc.edu.c&nbsp;<BR>n域的主域名服务器:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;[root@openlab&nbsp;/etc]#&nbsp;cat&nbsp;named.conf&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;options&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory&nbsp;&quot;/var/named&quot;;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;};&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;zone&nbsp;&quot;.&quot;&nbsp;in&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type&nbsp;hint;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file&nbsp;&quot;named.ca&quot;;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;};&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;zone&nbsp;&quot;0.0.127.in-addr.arpa&quot;&nbsp;in&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type&nbsp;master;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file&nbsp;&quot;named.local&quot;;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;};&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;zone&nbsp;&quot;asnc.edu.cn&quot;&nbsp;in&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;type&nbsp;master;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;file&nbsp;&quot;asnc.hosts&quot;;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;};&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;zone&nbsp;&quot;248.199.202.in-addr.arpa&quot;&nbsp;in&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;type&nbsp;master;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;file&nbsp;&quot;asnc.rev&quot;;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;};&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;首先是options段落,它用于建立一些全局信息,这里的directory&nbsp;信息告诉named程&nbsp;<BR>序到哪里去找后面指出的那些文件。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;每个zone段落定义一组查询信息,zone&nbsp;&quot;.&quot;定义的是根信息,即DNS根服务器的信息,&nbsp;<BR>接下来file&nbsp;&quot;named.ca&quot;给出了根文件的名字。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;zone&nbsp;&quot;0.0.127.in-addr.arpa&quot;段落给出反向的域名解析信息,注意0.0.127.in-addr&nbsp;<BR>.arpa&quot;实际是定义的127.0.0.*的信息,也就是IP地址是反写的。type&nbsp;master表示这是&nbsp;<BR>个主域名服务器。同样,这个定义文件在named.local。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;zone&nbsp;&quot;asnc.edu.cn&quot;&nbsp;给出*.asnc.edu.cn的信息,按照这里的定义显然相应的信息在&nbsp;<BR>asnc.hosts文件中。相应地,zone&nbsp;&quot;248.199.202.in-arpa&quot;给出的是202.199.248.*的名&nbsp;<BR>字信息,文件在asnc.rev。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;上面提到的四个文件按照options段落应该位于/var/named,那么我们看一下这几个文&nbsp;<BR>件:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;[root@openlab&nbsp;named]#&nbsp;cat&nbsp;named.ca&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3600000&nbsp;&nbsp;IN&nbsp;&nbsp;NS&nbsp;&nbsp;&nbsp;&nbsp;A.ROOT-SERVERS.NET.&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;A.ROOT-SERVERS.NET.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3600000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;198.41.0.4&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3600000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NS&nbsp;&nbsp;&nbsp;&nbsp;B.ROOT-SERVERS.NET.&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;B.ROOT-SERVERS.NET.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3600000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;128.9.0.107&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3600000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NS&nbsp;&nbsp;&nbsp;&nbsp;C.ROOT-SERVERS.NET.&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;C.ROOT-SERVERS.NET.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3600000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;192.33.4.12&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -