## 17.4 服务器的其他应用设定
除了基本的 proxy 设定之外,如果你还有其他可供利用的上层代理服务器,说不定我们就能够设计一下如何进行分流的动作了! 此外,如果针对信任用户来说,难道得要一直使用 acl 直接指定用户来源然后再用 http_access 放行?有没有认证功能啊? 这样就不用一直修改设定啊!这些其它的应用设定在这个小节来谈谈吧!
* * *
### 17.4.1 上层 Proxy 与获取数据分流的设定
能够找到的上层 proxy 服务器我们在 [17.1.3](#theory_parent_proxy) 里面谈过了,你可以重新回去瞧瞧。 不过,假设你所在的环境并没有上层代理服务器,但是你有两部 Linux 主机放置在不同的 ISP 环境下, 这两个 ISP 对某些国外的带宽流量不同,所以你想要根据这样的情况来设计一下获取 WWW 网页的分流时,可以怎么做? 我们举个例子来说好了:
* hinet.centos.vbird:这部主机位于 hinet 这个 ISP 底下,对大陆 (.cn) 的流量比较高,作为上层代理服务器之用;
* www.centos.vbird:这部主机位于学术网络 (昆山科大),因为对大陆带宽被限制,因此浏览速度相对较慢。
现在我们规划 hinet.centos.vbird 是上层代理服务器,因此这部主机得要开放 www.centos.vbird 这部机器的使用权, 这动作包括: (1)利用 acl srcdomian 等方式放行 www.centos.vbird 的使用权; (2)开放 www.centos.vbird 的 port 3128 的防火墙过滤功能。如此一来,我们这部 www.centos.vbird 才能够使用上层代理服务器喔!也就是说,这两部主机都要是你能够掌握的才行 (至少也要上层 ISP 能够替你开放使用权啦)。
那么 www.centos.vbird 要如何设定呢?基本上,设定上层代理服务器与分流的参数主要有: cache_peer, cache_peer_domain, cache_peer_access 等,分别说明语法如下:
* cache_peer 的相关语法
```
cache_peer [上层proxy主机名] [proxy角色] [proxy port] [icp port] [额外参数]
```
这个设定值就是在规范上层代理服务器在哪里,以及我们想要对这部代理服务器如何查询的相关设定值。
* 上层 proxy 主机名:例如本案例中就是 hinet.centos.vbird 这一部啰;
* proxy 角色:这部 proxy 是我们的上层 (parent) ?还是作为我们邻近 (sibling) 的协力运作的 proxy ? 因为我们要利用上层去捉取数据,因此经常使用的是 parent 这个角色值;
* proxy port:通常就是 3128 嘛!
* icp port:通常就是 3130 嘛!
* 额外参数:针对这部上层 proxy 我们想要对它进行的查询数据的行为设定。主要有:
* proxy-only:向上层 proxy 要到的数据不会快取到本地的 proxy 服务器内,降低本地 proxy 负担;
* wieght=n:权重的意思,因为我们可以指定多部上层 Proxy 主机,哪一部最重要?就可以利用这个 weight 来设定,n 越大表示这部 Proxy 越重要
* no-query:如果向上层 Proxy 要求资料时,可以不需要发送 icp 封包,以降低主机的负担
* no-digest:表示不向附近主机要求建立 digest 纪录表格
* no-netdb-exchange:表示不向附近的 Proxy 主机送出 imcp 的封包要求
* cache_peer_domain 的相关语法
```
cache_peer_domain [上层proxy主机名] [要求的领域名]
```
这个设定值的意思是说,你想要使用这部上层代理服务器向哪个领域名要求数据。
* cache_peer_access 的相关语法
```
cache_peer_access [上层proxy主机名] [allow|deny] [acl名称]
```
与 cache_peer_domain 相当类似,只是 cache_peer_domain 直接规范了主机名 (domain name), 而如果你想要设计的并非领域名,而是某些特定的 IP 网段时,就得要先用 acl 设计一个名称后, 再以这个 cache_peer_access 去放行 (allow) 或拒绝 (deny) 读取了。
根据上述的语法说明,那么我们想要达到 .cn 使用 hinet.centos.vbird 这部服务器的代理功能时, 应该要这样设计的:
```
[root@www ~]# vim /etc/squid/squid.conf
cache_peer hinet.centos.vbird parent 3128 3130 proxy-only no-query no-digest
cache_peer_domain hinet.centos.vbird .cn
[root@www ~]# /etc/init.d/squid reload
```
如果你还有其它的需求再利用 acl 规范了目标位置后,再以 cache_peer_access 去放行吧! 如此一来,你的 proxy server 就是一部会主动的依据不同的要求向不同的上层服务器求取数据的聪明 proxy 啰!
* * *
### 17.4.2 Proxy 服务放在 NAT 服务器上:通透式代理 (Transparent Proxy)
从上面的说法来看,我们可以发现 proxy 可以做到类似防火墙的功能 (acl dst, acl dstdomain 再配合 http_access 处理), 但是,我们也知道浏览器得要设定好 proxy 之后,才会真的使用 proxy 嘛!那就不就是在耍宝用的防火墙吗? 只要你的用户知道不要设定 proxy 就可以躲过你的管控,那这部 proxy 防火墙有啥屁用啊?您说是吧?
那该如何强制使用者一定要使用你的 proxy 呢?很简单!那就是: (1)在对外的防火墙服务器 (NAT) 上面安装 proxy; (2)在 proxy 上头启动 transparent 功能; (3) NAT 服务器加上一条 port 80 转 port 3128 的规则,如此一来,所有往 port 80 的封包就会被你的 NAT 转向 port 3128 , 而你的 port 3128 就是 proxy ,那大家就得要用你的 proxy ,而且重点是,浏览器不需要进行任何设定!
呵呵!也就是说,当使用者是经过 NAT 服务器联机出去时,只要让 NAT 服务器发现『咦!你是要去捉 WWW 的资料对吧!好!那么这个动作由 Proxy 服务帮你搞定!』如此一来,使用者根本就不需要在浏览器上面设定 Proxy 的相关数据,因为这个动作是『由 NAT 服务器自己决定的』,所以只要在 NAT 服务器上面设定妥当即可,使用者不必设定任何数据呢!呵呵!真是不错!而且进行的动作非常简单!
```
# 1\. 设定 proxy 成为通透式代理服务器的功能!
[root@www ~]# vim /etc/squid/squid.conf
http_port 3128 transparent
# 找到 3128 这行后,在最后面加上 transparent 即可
[root@www ~]# /etc/init.d/squid reload
```
接下来,将来自 192.168.100.0/24 这个内网的来源,只要是要求 port 80 的,就将它重新导向 port 3128 的方式为:
```
[root@www ~]# vim /usr/local/virus/iptables/iptables.rule
iptables -t nat -A PREROUTING -i $INIF -s 192.168.100.0/24 -p tcp \
--dport 80 -j REDIRECT --to-ports 3128
# 将上述这一行加在最底下 /etc/init.d/iptables save 的上面一行即可!
[root@www ~]# /usr/local/virus/iptables/iptables.rule
```
这样就结束啦!很简单吧!通常这样的环境相当适合学校内的教室或者是计中的环境, 因为这样学校内部根本不需要请学生设定浏览器的 proxy 功能,立刻就能够达到我们所需要的管控能力!很棒吧! 不过,虽然这样的功能已经很棒了,但是鸟哥实际用在学校教室环境中却发现了一些问题, 那就是很多同学同时上传同一个档案到外部服务器去,因为 proxy 快取的功能,结果让学生一直取得旧的档案, 对于教网页制作的老师来说,很困扰~因为教学过程中常常需要上传最新的网页嘛!但是 proxy 快取住, 所以却得到错误的数据了~那怎办?
* 仅具有 proxy 无快取功能的代理
既然我们这个 transparent proxy 的目的仅是在进行控管,并不要去处理快取的任务 (因为带宽假设是够的), 那么干脆就不要快取啦!这样不就 OK 啦?好吧!那我们就来搭配 transparent 进行这个设定看看。 假设 transparent proxy 已经设定妥当,那么接下来就是让你的快取目录空空如也,且再也不写入任何资料。 此外,也不要有多余的内存来记录热门档案啦!
```
# 先关闭 squid ,然后删除快取目录,之后再重建快取目录,此时快取目录就空了
[root@www ~]# /etc/init.d/squid stop
[root@www ~]# rm -rf /var/spool/squid/*
[root@www ~]# vim /etc/squid/squid.conf
cache_dir ufs /var/spool/squid 100 16 256 <u>read-only</u>
#cache_dir ufs /srv/squid 2000 16 256
# 额外的那个 /srv/squid 批注掉,然后第一行多个 read-only 字样!
cache_mem 0 MB
# 本来规范有 32MB ,现在不要了!
[root@www ~]# /etc/init.d/squid start
```
如此一来,这部 proxy 就再也没有快取了,全部资料都得要自己向外头捉取!就不会有旧数据重复出现的问题~
* * *
### 17.4.3 Proxy 的认证设定
既然 proxy 有许多功用,包括分流的功能,很不赖啊!但是,由于网络闲人越来越多,因此 proxy 不可以设计为 open proxy !亦即是不能够开放所有的人使用你的 proxy 啦!所以,一般来说, proxy 只会开放内部网域的人们来使用而已。 问题是,如果我在 Internet 也想要使用这部自己架设的 proxy 时,该如何是好?还得要再次的修改 squid.conf 吗? 有没有这么麻烦?
没关系啦!为了这个问题, squid 官方软件已经给予了认证的设定功能!意即我们可以透过认证来简单的输入账号密码, 若通过验证,就可以立刻使用我们的 proxy 了!这样就好多啦!那如何达成呢?其实 squid 提供很多认证功能, 我们需要的是最简单的功能即可。使用的是 squid 主动提供的 ncsa_auth 认证模块,这个模块会利用 apache (WWW 服务器) 提供的帐密建立指令 (htpasswd) 所制作的密码文件作为验证依据。所以,我们至少需要检查有没有这两样东西:
```
[root@www ~]# rpm -ql squid | grep ncsa
/usr/lib64/squid/ncsa_auth <==有的!就是这个验证模块档案!注意完整路径
/usr/share/man/man8/ncsa_auth.8.gz
[root@www ~]# yum install httpd <==apache 软件安装
[root@www ~]# rpm -ql httpd | grep htpasswd
/usr/bin/htpasswd <==就是需要这个帐密建立指令!
/usr/share/man/man1/htpasswd.1.gz
```
这样的事前准备就差不多了。让我们来考虑一个案例好了:
* 内部网域 192.168.100.0/24 要使用 proxy 的,还是不需要透过验证;
* 外部主机想要使用 proxy (例如 192.168.1.0/24 这段) 才需要验证;
* 使用 NCSA 的基本身份验证方式,且密码文件建立在 /etc/squid/squid_user.txt
* 上述档案仅有一个用户 vbird ,他的密码为 1234
那该如何处理呢?开始来一步一步进行吧:
```
# 1\. 先修改 squid.conf 档案内容
[root@www ~]# vim /etc/squid/squid.conf
# 1.1 先设定验证相关的参数
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/squid_user.txt
auth_param basic children 5
auth_param basic realm Welcome to VBird's proxy-only web server
# 非特殊字体为关键词不可更动,第一行为透过 ncsa_auth 读取 squid_user.txt 密码
# 第二行为启动 5 个程序 (squid 的子程序) 来管理验证的需求;
# 第三行为验证时,显示给用户看的欢迎讯息,这三行可写在最上面!
# 1.2 然后是针对验证功能放行与否的 acl 与 http_access 设定
acl vbirdlan src 192.168.100.0/24 <==修改一下,取消 192.168.1.0/24
acl dropdomain dstdomain "/etc/squid/dropdomain.txt"
acl dropsex urlpath_regex /sexy.*jpg$
acl squid_user proxy_auth REQUIRED <==建立一个需验证的 acl 名称
http_access deny dropdomain
http_access deny dropsex
http_access allow vbirdlan
http_access allow squid_user <==请注意这样的规则顺序喔!验证在最后
# 2\. 建立密码数据
[root@www ~]# htpasswd -c /etc/squid/squid_user.txt vbird
New password:
Re-type new password:
Adding password for user vbird
# 第一次建立才需要加上 -c 的参数,否则不需要加上 -c 喔!
[root@www ~]# cat /etc/squid/squid_user.txt
vbird:vRC9ie/4E21c. <==这就是用户与密码啰!
[root@www ~]# /etc/init.d/squid restart
```
比较需要注意『acl squid_user proxy_auth REQUIRED』这一串设定,proxy_auth 是关键词,而 REQUIRED 则是指定任何在密码文件内的用户都能够使用验证的意思。如果一切顺利的话,那么你的内网依旧可以使用 transparent proxy , 而外网则需要输入账密才能够使用 proxy server 提供的代理能力。至于验证的过程有点像这样:
![](https://box.kancloud.cn/2016-05-13_5735da788c9bf.gif)
图 17.4-1、使用 proxy 需验证的示意图
上图中箭头 1 为刚刚你设定的 real 内容,而帐密则是你用 htpasswd 所建立的数据啦!另外,既然已经加上了验证功能, 那么你可能得要将防火墙开放 port 3128 对全世界监听的过滤才行呦!防火墙还是不要忘记了! ^_^
* * *
### 17.4.4 末端登录档分析: sarg
事实上, squid 已经收集了众多的登录文件分析软件了,而且大多是免费的 ([http://www.squid-cache.org/Scripts/](http://www.squid-cache.org/Scripts/)) ,你可以依照自己的喜好来加以安装与分析你的 squid 登录档喔!鸟哥这里仅介绍一套相当强的分析软件, 那就是 sarg。
[Squid Analysis Report Generator](http://sarg.sourceforge.net/sarg.php) (Squid 分析报告制作者),他的官方网站在: [http://sarg.sourceforge.net/sarg.php](http://sarg.sourceforge.net/sarg.php),他的原理相当的简单,就是将 logfile 拿出来,然后进行一下解析,依据不同的时间、网站、与热门网站等等来进行数据的输出, 由于输出的结果实在是太详细了!所以...呵呵!如果你是老板的话,用这个软件会让你『爱不释手』啊! 因为每个人的每个小动作都会被记录下来,我的天吶!当我第一次看到这个分析的画面时,真的给他吓了老大一跳得说~因为连每个 IP 在『每个小时所连上的每个网站数据』都有纪录~~害怕了吧~
不过,有优点就有缺点啦!怎么说呢?因为 SARG 功能太强大了,所以记录的『数据量』就实在是多了点,如果你的 Proxy 网站属于那种很大流量的网站时,那么就不要使用『日报表』,也就是每天产生一份报表的那种方式! 那么由于数据一天可能会有几 MB 的数据,一两个月还没有关系,如果记录了几年,那么光是这些记录就会花掉好几 GB 的硬盘空间了~此外,也可以使用『覆盖旧有数据』的方式不要留存旧数据,这样也可以节省硬盘的空间啦!
在 SARG 的官网上面已经有朋友替大家将 RPM 的档案制作出来了,你可以参考:[http://packages.sw.be/sarg/](http://packages.sw.be/sarg/) 网站内的档案。由于鸟哥用的是 CentOS 6.x 64 位版本,但截至本日为止 (2011/08) 这个网站尚未释出稳定的 CentOS 6 版本,因此鸟哥下载的是 sarg-2.2.3.1-1.el5.rf.x86_64.rpm 这个版本。你可以使用 wget 下载到 /root 底下,再用 rpm -ivh 去安装起来即可。 这个软件默认会将 /var/www/sarg 作为输出报表的目标,而且你必须要安装与启动 WWW 服务器, 至于网址列则是: http://your.hostname/sarg 去查阅。底下让我们来处理 sarg 的配置文件吧!
```
[root@www ~]# yum install gd
[root@www ~]# rpm -ivh sarg-2.2.3.1-1.el5.rf.x86_64.rpm
[root@www ~]# vim /etc/sarg/sarg.conf
title "Squid 使用者存取报告" <==第 49 行左右
font_size 12px <==第 69 行左右
charset UTF-8 <==第 353 行左右
# 1\. 一口气制作所有登录文件内的数据报表
[root@www ~]# sarg
SARG: Records in file: 2285, reading: 100.00% <==列出分析信息
# 2\. 制作 8 月 2 日的报表
[root@www ~]# sarg -d 02/08/2011
# 这两个范例,都会将数据丢到 /var/www/sarg/ONE-SHOT/ 底下去;
# 3\. 制作昨天的报表
[root@www ~]# sh /etc/cron.daily/sarg
# 这个范例则是将每天的数据放置于 /var/www/sarg/daily/ 底下去!
```
如果制作好相关数据,由于 sarg 这个 RPM 档案已经帮我们设定好了每日、每周、每月进行一次执行, 所以你可以不用管怎么执行啦!非常的方便!如果想要查阅数据,只要在 proxy server 端输入 http://your.hostname/sarg 会看到如下画面:
![](https://box.kancloud.cn/2016-05-13_5735da78cbd11.gif)
图 17.4-2、sarg 报表观察示意图
如上所示,在网址列输入服务器本机的咚咚,然后会看到几个连结。与我们有关的是 ONE-SHOT 以及 daily 两个, 我们来瞧瞧 ONE-SHOT (箭头 2 所指) 里面有啥咚咚?按下去会看到下图:
![](https://box.kancloud.cn/2016-05-13_5735da78e5d0f.gif)
图 17.4-3、sarg 报表观察示意图
如上图所示,因为我们刚刚测试执行过两次 sarg 的指令,所以这里会有两个时间的连结。我们先看看总和数据, 亦即图中箭头所指的地方,会出现下图的说明:
![](https://box.kancloud.cn/2016-05-13_5735da796f1ec.gif)
图 17.4-4、sarg 报表观察示意图
在该段时间内,共有三个用户在存取,我们来瞧瞧 client.centos.vbird 到底干了啥事吧!
![](https://box.kancloud.cn/2016-05-13_5735da7984707.gif)
图 17.4-5、sarg 报表观察示意图
看到没有,这个用户在这段时间进行过的联机通通在里面!有没有很清晰呢?
* * *
- 鸟哥的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 参考数据与延伸阅读