## 19.3 DNS 服务器的软件、种类与 cache only DNS 服务器设定
谈完了一些基础概念后,接下来让我们来聊一聊,那如何设定好 DNS 服务器啊?这当然就得由软件安装谈起啦! 在这个小节,我们先不要谈 DNS 记录的正反解咚咚,只讲到 hint 这个 . (root) 的 zone,谈一谈最简单的仅有快取的 DNS 服务器 (Caching only DNS server) 吧!
* * *
### 19.3.1 架设 DNS 所需要的软件
终于废话都说完了!相信你大概也有点累的吧?鸟哥是蛮累的啦,因为手臂、肩颈酸痛的毛病颇严重....咦!讲这个干嘛? @_@ 好啦,我们终于要来安装 DNS 所需要的软件了!还记得前面提过的,我们要使用的 DNS 软件就是使用柏克莱大学发展出来的 BIND (Berkeley Internet Name Domain, BIND) 这个啦!那么怎么知道你安装了没?不就是 rpm 与 yum 吗?自己查查看。
```
[root@www ~]# rpm -qa | grep '^bind'
bind-libs-9.7.0-5.P2.el6_0.1.x86_64 <==给 bind 与相关指令使用的函式库
bind-utils-9.7.0-5.P2.el6_0.1.x86_64 <==这个是客户端搜寻主机名的相关指令
bind-9.7.0-5.P2.el6_0.1.x86_64 <==就是 bind 主程序所需软件
bind-chroot-9.7.0-5.P2.el6_0.1.x86_64 <==将 bind 主程序关在家里面!
```
上面比较重要的是那个『 bind-chroot 』啦!所谓的 chroot 代表的是『 change to root(根目录) 』的意思,root 代表的是根目录。早期的 bind 默认将程序启动在 /var/named 当中,但是该程序可以在根目录下的其他目录到处转移,因此若 bind 的程序有问题时,则该程序会造成整个系统的危害。为避免这个问题, 所以我们将某个目录指定为 bind 程序的根目录,由于已经是根目录,所以 bind 便不能离开该目录!所以若该程序被攻击,了不起也是在某个特定目录底下搞破坏而已。 CentOS 6.x 默认将 bind 锁在 /var/named/chroot 目录中喔!
我们主程序是由 bind, bind-chroot 所提供,那前一小节提到的,每部 DNS 服务器都要有的 . (root) 这个 zone file 在哪里?它也是由 bind 所提供的喔! (CentOS 4.x, 5.x 所提供的 caching-nameserver 软件并不存在 CentOS 6.x 当中了喔!已经被涵盖于 bind 软件内!)
* * *
### 19.3.2 BIND 的默认路径设定与 chroot
要架设好 BIND 需要什么设定数据呢?基本上有两个主要的数据要处理:
* BIND 本身的配置文件:主要规范主机的设定、zone file 的所在、权限的设定等;
* 正反解数据库档案 (zone file):记录主机名与 IP 对应的等。
BIND 的配置文件为 /etc/named.conf,在这个档案里面可以规范 zone file 的完整檔名喔! 也就是说,你的 zone file 其实是由 /etc/named.conf 所指定的,所以 zone file 档名可以随便取啦! 只要 /etc/named.conf 内规范为正确即可。一般来说, CentOS 6.x 的默认目录是这样的:
* /etc/named.conf :这就是我们的主配置文件啦!
* /etc/sysconfig/named :是否启动 chroot 及额外的参数,就由这个档案控制;
* /var/named/ :数据库档案默认放置在这个目录
* /var/run/named :named 这支程序执行时默认放置 pid-file 在此目录内。
* /etc/sysconfig/named 与 chroot 环境
不过,为了系统的安全性考虑,一般来说目前各主要 distributions 都已经自动的将你的 bind 相关程序给他 chroot 了! 那你如何知道你 chroot 所指定的目录在哪里呢?其实是记录在 /etc/sysconfig/named 里面啦!你可以先查阅一下:
```
[root@www ~]# cat /etc/sysconfig/named
ROOTDIR=/var/named/chroot
```
事实上该档案内较有意义的就只有上面这一行,意思是说:『我要将 named 给他 chroot ,并且变更的根目录为 /var/named/chroot 』喔!由于根目录已经被变更到 /var/named/chroot 了,但 bind 的相关程序是需要 /etc, /var/named, /var/run ...等目录的,所以实际上咱们 bind 的相关程序所需要的所有数据会是在:
* **/var/named/chroot**/etc/named.conf
* **/var/named/chroot**/var/named/zone_file1
* **/var/named/chroot**/var/named/zone_file.....
* **/var/named/chroot**/var/run/named/...
哇!真是好麻烦~不过,不要太担心!因为新版本的 CentOS 6.x 已经将 chroot 所需要使用到的目录,透过 mount --bind 的功能进行目录链接了 (参考 /etc/init.d/named 内容),举例来说,我们需要的 /var/named 在启动脚本中透过 mount --bind /var/named /var/named/chroot/var/named 进行目录绑定啰!所以在 CentOS 6.x 当中,你根本无须切换至 /var/named/chroot/ 了!使用正规的目录即可喔!就是这样简单!^_^
**Tips:** 事实上, /etc/sysconfig/named 是由 /etc/init.d/named 启动时所读入的,所以你也可以直接修改 /etc/init.d/named 这个 script 哩!
![](https://box.kancloud.cn/2016-05-13_5735736501917.gif)
* * *
### 19.3.3 单纯的 cache-only DNS 服务器与 forwarding 功能
在下一小节开始介绍正、反解 zone 的数据设定之前,在这个小节当中,我们先来谈一个单纯修改配置文件,而不必设计 zone file 的环境,那就是不具有自己正反解 zone 的仅进行快取的 DNS 服务器。
* 什么是 cache-only 与 forwarding DNS 服务器呢?
有个只需要 . 这个 zone file 的简单 DNS 服务器,我们称这种没有自己公开的 DNS 数据库的服务器为 cache-only (仅快取) DNS server!顾名思义,这个 DNS server 只有快取搜寻结果的功能,也就是说,他本身并没有主机名与 IP 正反解的配置文件,完全是由对外的查询来提供他的数据源!
那如果连 . 都不想要呢?那就得要指定一个上层 DNS 服务器作为你的 forwarding (转递) 目标,将原本自己要往 . 查询的任务,丢给上层 DNS 服务器去烦恼即可。 如此一来,我们这部具有 forwarding 功能的 DNS 服务器,甚至连 . 都不需要了!因为 . 有记录在上层 DNS 上头了嘛!
如同刚刚提到的,cache only 的 DNS 并不存在数据库 (其实还是存在 . 这个 root 领域的 zone file), 因此不论是谁来查询数据,这部 DNS 一律开始从自己的快取以及 . 找起,整个流程与[图 19.1-4](#fig19.1-4) 相同。那如果具有 forwarding 功能呢?果真如此,那即使你的 DNS 具有 . 这个 zone file,这部 DNS 还是会将查询权『委请』上层 DNS 查询的,这部 DNS 服务器当场变成客户端啦!查询流程会变这样喔:
![](https://box.kancloud.cn/2016-05-13_5735da7bb0d71.gif)
图 19.3-1、具有 forwarding 功能的 DNS 服务器查询方式
观察上图的查询方向,你会发现到,具有 forwarding 机制时,查询权会委请上层 DNS 服务器来处理,所以根本也不需要 . 这个位置所在的 zone 啦。一般来说,如果你的环境需要架设一个 cache-only 的 DNS 服务器时,其实可以直接加上 forwarding 的机制,让查询权指向上层或者是流量较大的上层 DNS 服务器即可。那既然 cache only 的服务器并没有数据库, forwarding 机制甚至不需要 . 的 zone ,那干嘛还得要架设这样的 DNS 呢?是有理由的啦!
* 什么时候有架设 cache-only DNS 的需求?
在某些公司行号里头,为了预防员工利用公司的网络资源作自己的事情,所以都会针对 Internet 的联机作比较严格的限制。当然啦,连 port 53 这个 DNS 会用到的 port 也可能会被挡在防火墙之外的~这个时候, 你可以在『防火墙的那部机器上面,加装一个 cache-only 的 DNS 服务!』
这是什么意思呢?很简单啊!就是你自己利用自己的防火墙主机上的 DNS 服务去帮你的 Client 端解译 hostname <--> IP 啰!因为防火墙主机可以设定放行自己的 DNS 功能,而 Client 端就设定该防火墙 IP 为 DNS 服务器的 IP 即可!哈哈!这样就可以取得主机名与 IP 的转译啦!所以,通常架设 cache only DNS 服务器大都是为了系统安全啰。
* 实际设定 cache-only DNS server
那如何在你的 Linux 主机上架设一个 cache-only 的 DNS 服务器呢?其实真的很简单的啦!因为不需要设定正反解的 zone (只需要 . 的 zone 支持即可),所以只要设定一个档案 (就是 named.conf 主配置文件) 即可!真是快乐得不得了吶! 另外,cache-only 只要加上个 forwarders 的设定即可指定 forwarding 的数据,所以底下我们将设定具有 forwarding 的 cache-only DNS 服务器吧!
1. * * *
编辑主要配置文件: /etc/named.conf
虽然我们具有 chroot 的环境,不过由于 CentOS 6.x 已经透过启动脚本帮我们进行档案与目录的挂载链接,所以请你直接修改 /etc/named.conf 即可呦!不要再去 /var/named/chroot/etc/named.conf 修改啦! 在这个档案中,主要是定义跟服务器环境有关的设定,以及各个 zone 的领域及数据库所在文件名。 在鸟哥的这个案例当中,因为使用了 forwarding 的机制,所以这个 cache-only DNS 服务器并没有 zone (连 . 都没有),所以我们只要设定好跟服务器有关的设定即可。设定这个档案的时候请注意:
* 批注数据是放置在两条斜线『 // 』后面接的数据
* 每个段落之后都需要以分号『 ; 』来做为结尾!
鸟哥将这个档案再简化如下的样式:
```
[root@www ~]# cp /etc/named.conf /etc/named.conf.raw
[root@www ~]# vim /etc/named.conf
// 在预设的情况下,这个档案会去读取 /etc/named.rfc1912.zones 这个领域定义档
// 所以请记得要修改成底下的样式啊!
options {
listen-on port 53 { any; }; //可不设定,代表全部接受
directory "/var/named"; //数据库默认放置的目录所在
dump-file "/var/named/data/cache_dump.db"; //一些统计信息
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; }; //可不设定,代表全部接受
recursion yes; //将自己视为客户端的一种查询模式
forward only; //可暂时不设定
forwarders { //是重点!
168.95.1.1; //先用中华电信的 DNS 当上层
139.175.10.20; //再用 seednet 当上层
};
}; //最终记得要结尾符号!
```
鸟哥将大部分的数据都予以删除,只将少部分保留的数据加以小部分的修订而已。在 named.conf 的结构中,与服务器环境有关的是由 options 这个项目内容设定的,因为 options 里面还有很多子参数, 所以就以大括号 { } 包起来啰。至于 options 内的子参数在上面提到的较重要的项目简单叙述如下:
* listen-on port 53 { any; };
监听在这部主机系统上面的哪个网络接口。预设是监听在 localhost,亦即只有本机可以对 DNS 服务进行查询,那当然是很不合理啊! 所以这里要将大括号内的数据改写成 any。记得,因为可以监听多个接口,因此 any 后面得要加上分号才算结束喔! 另外,这个项目如果忘记写也没有关系,因为默认是对整个主机系统的所有接口进行监听的。
* directory "/var/named";
意思是说,如果此档案底下有规范到正、反解的 zone file 档名时,该档名预设应该放置在哪个目录底下的意思。预设放置到 /var/named/ 底下。由于 chroot 的关系,最终这些数据库档案会被主动链接到 /var/named/chroot/var/named/ 这个目录。
* dump-file, statistics-file, memstatistics-file
与 named 这个服务有关的许多统计信息,如果想要输出成为档案的话,预设的档名就如上所述。鸟哥自己很少看这些统计资料, 所以,这三个设定值写不写应该都是没有关系的。
* allow-query { any; };
这个是针对客户端的设定,到底谁可以对我的 DNS 服务提出查询请求的意思。原本的档案内容预设是针对 localhost 开放而已, 我们这里改成对所有的用户开放 (当然啦,防火墙也得放行才行)。不过,预设 DNS 就是对所有用户放行,所以这个设定值也可以不用写。
* forward only ;
这个设定可以让你的 DNS 服务器仅进行 forward,即使有 . 这个 zone file 的设定,也不会使用 . 的资料, 只会将查询权交给上层 DNS 服务器而已,是 cache only DNS 最常见的设定了!
* forwarders { 168.95.1.1; 139.175.10.20; } ;
既然有 forward only,那么到底要对哪部上层 DNS 服务器进行转递呢?那就是 forwarders (不要忘记那个 s) 设定值的重要性了!由于担心上层 DNS 服务器也可能会挂点,因此可以设定多部上层 DNS 服务器喔!每一个 forwarder 服务器的 IP 都需要有『 ; 』来做为结尾!
很简单吧!至于更多的参数我们会在后续篇幅当中慢慢介绍的。这样就已经设定完成了最简单的 cache only DNS server 了!
2. * * *
启动 named 并观察服务的埠口
启动总不会忘记吧?赶快去启动一下吧!同时启动完毕之后,观察一下由 named 所开启的埠口,看看到底哪些埠口会被 DNS 用到的!
```
# 1\. 启动一下 DNS 这玩意儿!
[root@www ~]# /etc/init.d/named start
Starting named: [ OK ]
[root@www ~]# chkconfig named on
# 2\. 到底用了多少埠口呢?
[root@www ~]# netstat -utlnp | grep named
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.100.254:53 0.0.0.0:* LISTEN 3140/named
tcp 0 0 192.168.1.100:53 0.0.0.0:* LISTEN 3140/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 3140/named
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 3140/named
tcp 0 0 ::1:953 :::* LISTEN 3140/named
udp 0 0 192.168.100.254:53 0.0.0.0:* 3140/named
udp 0 0 192.168.1.100:53 0.0.0.0:* 3140/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 3140/named
```
我们知道 DNS 会同时启用 UDP/TCP 的 port 53,而且是针对所有接口,因此上面的数据并没有什么特异的部分。不过,怎么会有 port 953 且仅针对本机来监听呢?其实那是 named 的远程控制功能,称为远程名称解析服务控制功能 (remote name daemon control, rndc)。预设的情况下,仅有本机可以针对 rndc 来控制。我们会在后续的章节再来探讨这个 rndc 啦,目前我们只要知道 UDP/TCP port 53 有启动即可。
3. * * *
检查 /var/log/messages 的内容讯息 (极重要!)
named 这个服务的记录文件就直接给他放置在 /var/log/messages 里面啦,所以来看看里面的几行登录信息吧!
```
[root@www ~]# tail -n 30 /var/log/messages | grep named
Aug 4 14:57:09 www named[3140]: starting BIND 9.7.0-P2-RedHat-9.7.0-5.P2.el6_0.1 -u named
-t /var/named/chroot <==说明的是 chroot 在哪个目录下!
Aug 4 14:57:09 www named[3140]: adjusted limit on open files from 1024 to 1048576
Aug 4 14:57:09 www named[3140]: found 1 CPU, using 1 worker thread
Aug 4 14:57:09 www named[3140]: using up to 4096 sockets
Aug 4 14:57:09 www named[3140]: loading configuration from '/etc/named.conf'
Aug 4 14:57:09 www named[3140]: using default UDP/IPv4 port range: [1024, 65535]
Aug 4 14:57:09 www named[3140]: using default UDP/IPv6 port range: [1024, 65535]
Aug 4 14:57:09 www named[3140]: listening on IPv4 interface lo, 127.0.0.1#53
Aug 4 14:57:09 www named[3140]: listening on IPv4 interface eth0, 192.168.1.100#53
Aug 4 14:57:09 www named[3140]: listening on IPv4 interface eth1, 192.168.100.254#53
Aug 4 14:57:09 www named[3140]: generating session key for dynamic DNS
Aug 4 14:57:09 www named[3140]: command channel listening on 127.0.0.1#953
Aug 4 14:57:09 www named[3140]: command channel listening on ::1#953
Aug 4 14:57:09 www named[3140]: the working directory is not writable
Aug 4 14:57:09 www named[3140]: running
```
上面最重要的是第一行出现的『-t ...』那个项目指出你的 chroot 目录啰。另外,上面表格中特殊字体的部分,有写到读取 /etc/named.conf,代表可以顺利的加载 /var/named/etc/named.conf 的意思。如果上面有出现冒号后面接数字 (:10), 那就代表某个档案内的第十行有问题的意思,届时再进入处理即可。要注意的是,即使 port 53 有启动,但有可能 DNS 服务是错误的,此时这个登录档就显的非常重要!每次重新启动 DNS 后,请务必查阅一下这个档案的内容!!
**Tips:** 如果你在 /var/log/messages 里面一直看到这样的错误信息:
couldn't add command channel 127.0.0.1#953: not found
那表示你还必需要加入 rndc key ,请参考本章后面的 [利用 RNDC 指令管理 DNS 服务器](#rndckey) 的介绍,将他加入你的 named.conf 中!
![](https://box.kancloud.cn/2016-05-13_5735736501917.gif)
4. * * *
测试:
如果你的 DNS 伺服器具有连上因特网的功能,那么透过『 dig www.google.com @127.0.0.1 』这个基本指令执行看看, 如果有找到 google 的 IP ,并且输出数据的最底下显示『 SERVER: 127.0.0.1#53(127.0.0.1) 』的字样, 那就代表应该是成功啦!其他更详细的测试请参考:[19.2 小节的内容](#DNS_resolver)
* 特别说明:Forwarders 的好处与问题分析
关于 forwarder 的好处与坏处,其实有很多种的意见!大致的意见可分为这两派:
* 利用 Forwarder 的功能来增进效能的理论:
这些朋友们认为,当很多的下层 DNS 服务器都使用 forwarder 时,那么那个被设定为 forwarder 的主机,由于会记录很多的查询信息记录 (请参考[图 19.1-4](#fig19.1-4) 的说明),因此,对于那些下层的 DNS 服务器而言,查询速度会增快很多,亦即会节省很多的查询时间!因为 forwarder 服务器里面有较多的快取记录了, 所以包括 forwarder 本身,以及所有向这部 forwarder 要求数据的 DNS 服务器,都能够减少往 . 查询的机会, 因此速度当然增加。
* 利用 Forwarder 反而会使整体的效能降低:
但是另外一派则持相反的见解!这是因为当主 DNS 本身的『业务量』就很繁忙的时候,那么你的 cache only DNS 服务器还向他要求数据,因为他原本的数据传输量就太大了,带宽方面可能负荷不量,而太多的下层 DNS 还向他要求数据,所以他的查询速度会变慢!因为查询速度变慢了,而你的 cache only server 又是向他提出要求的,所以自然两边的查询速度就会同步下降!
很多种说法啦!鸟哥本人也觉得很有趣哩!只是不知道哪一派较正确就是了,不过可以知道的是,如果上层的 DNS 速度很快的话,那么他被设定为 forwarder 时,或许真的可以增加不少效能哩!
* * *
- 鸟哥的Linux私房菜:服务器架设篇 第三版
- 第一部份:架站前的进修专区
- 作者序
- 第一章、架设服务器前的准备工作
- 1.1 前言: Linux 有啥功能
- 1.2 基本架设服务器流程
- 1.3 自我评估是否已经具有架站的能力
- 1.4 本章习题
- 第二章、基础网络概念
- 2.1 网络是个什么玩意儿
- 2.2 TCP/IP 的链结层相关协议
- 2.3 TCP/IP 的网络层相关封包与数据
- 2.4 TCP/IP 的传输层相关封包与数据
- 2.5 连上 Internet 前的准备事项
- 2.6 重点回顾:
- 2.7 本章习题
- 2.8 参考数据与延伸阅读
- 第三章、局域网络架构简介
- 3.1 局域网络的联机
- 3.2 本书使用的内部联机网络参数与通讯协议
- 第四章、连上 Internet
- 4.1 Linux 连上 Internet 前的注意事项
- 4.2 连上 Internet 的设定方法
- 4.3 无线网络--以笔记本电脑为例
- 4.4 常见问题说明
- 4.5 重点回顾
- 4.6 本章习题
- 4.7 参考数据与延伸阅读
- 第五章、 Linux 常用网络指令
- 5.1 网络参数设定使用的指令
- 5.2 网络侦错与观察指令
- 5.3 远程联机指令与实时通讯软件
- 5.4 文字接口网页浏览
- 5.5 封包撷取功能
- 5.6 重点回顾
- 5.7 本章习题
- 5.8 参考数据与延伸阅读
- 第六章、 Linux 网络侦错
- 6.1 无法联机原因分析
- 6.2 处理流程
- 6.3 本章习题
- 6.4 参考数据与延伸阅读
- 第二部分:主机的简易资安防护措施
- 第七章、网络安全与主机基本防护:限制端口, 网络升级与 SELinux
- 7.1 网络封包联机进入主机的流程
- 7.2 网络自动升级软件
- 7.3 限制联机埠口 (port)
- 7.4 SELinux 管理原则
- 7.5 被攻击后的主机修复工作
- 7.6 重点回顾
- 7.7 课后练习
- 7.8 参考数据与延伸阅读
- 第八章、路由观念与路由器设定
- 8.1 路由
- 8.2 路由器架设
- 8.3 动态路由器架设:quagga (zebra + ripd)
- 8.4 特殊状况:路由器两边界面是同一个 IP 网段: ARP Proxy
- 8.5 重点回顾
- 8.6 本章习题
- 8.7 参考数据与延伸阅读
- 第九章、防火墙与 NAT 服务器
- 9.1 认识防火墙
- 9.2 TCP Wrappers
- 9.3 Linux 的封包过滤软件:iptables
- 9.4 单机防火墙的一个实例
- 9.5 NAT 服务器的设定
- 9.6 重点回顾
- 9.7 本章习题
- 9.8 参考数据与延伸阅读
- 第十章、申请合法的主机名
- 10.1 为何需要主机名
- 10.2 注册一个合法的主机名
- 10.3 重点回顾
- 10.4 本章习题
- 10.5 参考数据与延伸阅读
- 第三部分:局域网络内常见的服务器架设
- 第十一章、远程联机服务器SSH / XDMCP / VNC / RDP
- 11.1 远程联机服务器
- 11.2 文字接口联机服务器: SSH 服务器
- 11.3 最原始图形接口: Xdmcp 服务的启用
- 11.4 华丽的图形接口: VNC 服务器
- 11.5 仿真的远程桌面系统: XRDP 服务器
- 11.6 SSH 服务器的进阶应用
- 11.7 重点回顾
- 11.8 本章习题
- 11.9 参考数据与延伸阅读
- 第十二章、网络参数控管者: DHCP 服务器
- 12.1 DHCP 运作的原理
- 12.2 DHCP 服务器端的设定
- 12.3 DHCP 客户端的设定
- 12.4 DHCP 服务器端进阶观察与使用
- 12.5 重点回顾
- 12.6 本章习题
- 12.7 参考数据与延伸阅读
- 第十三章、文件服务器之一:NFS 服务器
- 13.1 NFS 的由来与其功能
- 13.2 NFS Server 端的设定
- 13.3 NFS 客户端的设定
- 13.4 案例演练
- 13.5 重点回顾
- 13.6 本章习题
- 13.7 参考数据与延伸阅读
- 第十四章、账号控管: NIS 服务器
- 14.1 NIS 的由来与功能
- 14.2 NIS Server 端的设定
- 14.3 NIS Client 端的设定
- 14.4 NIS 搭配 NFS 的设定在丛集计算机上的应用
- 14.5 重点回顾
- 14.6 本章习题
- 14.7 参考数据与延伸阅读
- 第十五章、时间服务器: NTP 服务器
- 15.1 关于时区与网络校时的通讯协议
- 15.2 NTP 服务器的安装与设定
- 15.3 客户端的时间更新方式
- 15.4 重点回顾
- 15.5 本章习题
- 15.6 参考数据与延伸阅读
- 第十六章、文件服务器之二: SAMBA 服务器
- 16.1 什么是 SAMBA
- 16.2 SAMBA 服务器的基础设定
- 16.3 Samba 客户端软件功能
- 16.4 以 PDC 服务器提供账号管理
- 16.5 服务器简单维护与管理
- 16.6 重点回顾
- 16.7 本章习题
- 16.8 参考数据与延伸阅读
- 第十七章、区网控制者: Proxy 服务器
- 17.1 什么是代理服务器 (Proxy)
- 17.2 Proxy 服务器的基础设定
- 17.3 客户端的使用与测试
- 17.4 服务器的其他应用设定
- 17.5 重点回顾
- 17.6 本章习题
- 17.7 参考数据与延伸阅读
- 第十八章、网络驱动器装置: iSCSI 服务器
- 18.1 网络文件系统还是网络驱动器
- 18.2 iSCSI target 的设定
- 18.3 iSCSI initiator 的设定
- 18.4 重点回顾
- 18.5 本章习题
- 18.6 参考数据与延伸阅读
- 第四部分:常见因特网服务器架设
- 第十九章、主机名控制者: DNS 服务器
- 19.1 什么是 DNS
- 19.2 Client 端的设定
- 19.3 DNS 服务器的软件、种类与 cache only DNS 服务器设定
- 19.4 DNS 服务器的详细设定
- 19.5 协同工作的 DNS: Slave DNS 及子域授权设定
- 19.6 DNS 服务器的进阶设定
- 19.7 重点回顾
- 19.8 本章习题
- 19.9 参考数据与延伸阅读
- 第二十章、WWW 伺服器
- 20.1 WWW 的簡史、資源以及伺服器軟體
- 20.2 WWW (LAMP) 伺服器基本設定
- 20.3 Apache 伺服器的進階設定
- 20.4 登錄檔分析以及 PHP 強化模組
- 20.5 建立連線加密網站 (https) 及防砍站腳本
- 20.6 重點回顧
- 20.7 本章習題
- 20.8 參考資料與延伸閱讀
- 第二十一章、文件服务器之三: FTP 服务器
- 21.1 FTP 的数据链路原理
- 21.2 vsftpd 服务器基础设定
- 21.3 客户端的图形接口 FTP 联机软件
- 21.4 让 vsftpd 增加 SSL 的加密功能
- 21.5 重点回顾
- 21.6 本章习题
- 21.7 参考数据与延伸阅读
- 第二十二章、邮件服务器: Postfix
- 22.1 邮件服务器的功能与运作原理
- 22.2 MTA 服务器: Postfix 基础设定
- 22.3 MRA 服务器: dovecot 设定
- 22.4 MUA 软件:客户端的收发信软件
- 22.5 邮件服务器的进阶设定
- 22.6 重点回顾
- 22.7 本章习题
- 22.8 参考数据与延伸阅读