商家名称 | 信用等级 | 购买信息 | 订购本书 |
鸟哥的Linux私房菜:服务器架设篇(第3版)(作者鸟哥) | |||
鸟哥的Linux私房菜:服务器架设篇(第3版)(作者鸟哥) |
《鸟哥的Linux私房菜:服务器架设篇(第3版)》编辑推荐:您已有Linux基础,想要进一步学习服务器架设?还想了解如何维护与管理您的服务器?《鸟哥的Linux私房菜:服务器架设篇(第3版)》是您最佳的选择。《鸟哥的Linux私房菜:服务器架设篇(第3版)》是第三次改版升级;适用于各种主流Linux版本,可作为已具有Linux操作系统相关知识的网络系统管理人员的参考手册。
鸟哥,“台湾成功大学”环境工程系博士,在就读期间由于研究需要,接触到Linux操作系统,叉因实验室交接传承的需要而搭建了“鸟哥的Linux私房菜”网站(俗称鸟站),因个人喜好碎碎念(琐碎熏复)的特质,因此,鸟站文章风格就此成形。曾任台湾多家知名Linux教育中心讲师,目前于台湾昆山科技大学资讯传播系教授Linux相关课程。专长是Linux操作系统、网站规划与维护、网络安全,兴趣是写作与阅读,研究方向是网络整合应用。
作者序
第一篇 服务器搭建前的进修专区
第1章 搭建服务器前的准备工作 2
1.1 Linux 的功能 3
1.1.1 用 Linux 搭建服务器需要的能力 3
1.1.2 搭建服务器难不难呢 4
1.2 搭建服务器的基本流程 5
1.2.1 网络服务器成功连接的分析 5
1.2.2 一个常见的服务器设置案例分析 8
1.2.3 系统安全与备份处理 25
1.3 自我评估是否已经具备服务器搭建的能力 27
第2章 网络的基本概念 29
2.1 网络 30
2.1.1 什么是网络 30
2.1.2 计算机网络组成组件 32
2.1.3 计算机网络的范围 33
2.1.4 计算机网络协议:OSI 七层协议 34
2.1.5 计算机网络协议:TCP/IP 37
2.2 TCP/IP 的网络接口层的相关协议 39
2.2.1 广域网使用的设备 39
2.2.2 局域网使用的设备——以太网 40
2.2.3 以太网络的传输协议:CSMA/CD 42
2.2.4 MAC 的封装格式 44
2.2.5 MTU(最大传输单位) 46
2.2.6 集线器、交换器与相关机制 47
2.3 TCP/IP 的网络层相关数据包与数据 49
2.3.1 IP 数据包的封装 49
2.3.2 IP 地址的组成与分级 52
2.3.3 IP 的种类与取得方式 55
2.3.4 Netmask、子网与 CIDR(Classless Interdomain Routing) 57
2.3.5 路由概念 61
2.3.6 观察主机路由:Route 64
2.3.7 IP 与 MAC:网络接口层的 ARP 与 RARP 协议 65
2.3.8 ICMP 协议 66
2.4 TCP/IP 的传输层相关数据包与数据 67
2.4.1 面向连接的可靠的 TCP 协议 67
2.4.2 TCP 的三次握手 72
2.4.3 无连接的 UDP 协议 73
2.4.4 网络防火墙与 OSI 七层协议 74
2.5 连上 Internet 前的准备事项 75
2.5.1 IP地址、主机名与DNS系统 75
2.5.2 连上 Internet 的必要网络参数 76
2.6 重点回顾 77
2.7 参考数据与延伸阅读 78
第3章 局域网架构简介 79
3.1 局域网的连接 80
3.1.1 局域网的布线规划 80
3.1.2 网络设备选购建议 84
3.2 本书使用的内部连接网络参数与通信协议 88
3.2.1 网络联机参数与通信协议 88
3.2.2 Windows 个人计算机网络配置范例 90
第4章 连接 Internet 93
4.1 Linux 连接 Internet 前的注意事项 94
4.1.1 Linux 的网卡 94
4.1.2 编译网卡驱动程序(Option) 96
4.1.3 Linux 网络相关配置文件 98
4.2 连接 Internet 的设置方法 100
4.2.1 手动配置固定IP参数 100
4.2.2 自动取得IP参数(DHCP方法,适用Cable Modem、IP路由器的环境) 105
4.2.3 ADSL 拨号上网(适用ADSL拨号以及光纤接入) 106
4.3 无线网络——以笔记本电脑为例 111
4.3.1 无线网络所需要的硬件:AP、无线网卡 111
4.3.2 关于AP的设置:网络安全方面 113
4.3.3 利用无线网卡开始连接 115
4.4 常见问题说明 118
4.4.1 内部网络使用某些服务(如 FTP、POP3)所遇到的连接延迟问题 118
4.4.2 域名无法解析的问题 120
4.4.3 默认网关的问题 120
4.5 重点回顾 121
4.6 参考数据与延伸阅读 121
第5章 Linux 中常用的网络命令 122
5.1 设置网络参数的命令 123
5.1.1 手动/自动配置IP 参数与启动/关闭网络接口:ifconfig、ifup、ifdown 123
5.1.2 修改路由:route 126
5.1.3 网络参数综合命令:ip 128
5.1.4 无线网络:iwlist, iwconfig 134
5.1.5 DHCP客户端命令:dhclient 134
5.2 网络排错与查看命令 134
5.2.1 两台主机的两点沟通:ping 134
5.2.2 两主机间各节点分析:traceroute 137
5.2.3 查看本机的网络连接与后门:netstat 138
5.2.4 检测主机名与 IP 的对应:host、nslookup 141
5.3 远程连接命令与即时通信软件 143
5.3.1 终端机与BBS连接:telnet 143
5.3.2 FTP 连接软件:ftp、lftp 144
5.3.3 图形接口的即时通信软件:Pidgin(gaim 的延伸) 147
5.4 文字接口网页浏览 150
5.4.1 文字浏览器:links 150
5.4.2 文字接口下载器:wget 152
5.5 数据包捕获功能 153
5.5.1 文字接口数据包捕获器:tcpdump 153
5.5.2 图形接口数据包捕获器:wireshark 157
5.5.3 任意启动TCP/UDP数据包的端口连接:nc、netcat 159
5.6 重点回顾 160
5.7 参考数据与延伸阅读 161
第6章 Linux 网络排错 162
6.1 无法连接网络的原因分析 163
6.1.1 硬件问题:网线、网络设备、网络布线等 163
6.1.2 软件问题:IP 参数设置、路由设置、服务器与防火墙设置等 165
6.1.3 问题的处理 165
6.2 处理流程 166
6.2.1 步骤1:网卡工作确认 166
6.2.2 步骤2:局域网内各项连接设备检测 167
6.2.3 步骤3:取得正确的 IP 参数 168
6.2.4 步骤4:确认路由表的规则 169
6.2.5 步骤5:主机名与 IP 查询的 DNS 错误 170
6.2.6 步骤6:Linux 的 NAT 服务器或 IP 路由器出问题 171
6.2.7 步骤7:Internet 的问题 171
6.2.8 步骤8:服务器的问题 171
6.3 参考数据与延伸阅读 172
第二篇 主机的简易安全防护措施
第7章 网络安全与主机基本防护:限制端口、网络升级与SELinux 174
7.1 网络数据包连接进入主机的流程 175
7.1.1 数据包进入主机的流程 175
7.1.2 常见的攻击手法与相关保护 177
7.1.3 主机能执行的保护操作:软件更新、减少网络服务、 启动 SELinux 182
7.2 网络自动升级软件 184
7.2.1 如何进行软件升级 184
7.2.2 CentOS 的 yum 软件更新、镜像站点使用的原理 186
7.2.3 yum 的功能:安装软件组、全系统更新 187
7.2.4 挑选特定的镜像站点:修改 yum 配置文件与清除 yum 缓存 193
7.3 限制连接端口(Port) 196
7.3.1 什么是Port 197
7.3.2 端口的查看:netstat、nmap 198
7.3.3 端口与服务的启动/关闭及开机时状态设定 201
7.3.4 安全性考虑——关闭网络服务端口 205
7.4 SELinux 管理原则 206
7.4.1 SELinux 的工作模式 206
7.4.2 SELinux 的启动、关闭与查看 210
7.4.3 SELinux Type 的修改 212
7.4.4 SELinux 策略内的规则布尔值修订 214
7.4.5 SELinux 日志文件记录所需的服务 217
7.5 被攻击后的主机修复工作 221
7.5.1 网管人员应具备的技能 221
7.5.2 主机受攻击后恢复的工作流程 223
7.6 重点回顾 225
7.7 参考数据与延伸阅读 225
第8章 路由的概念与路由器设置 226
8.1 路由 227
8.1.1 路由表产生的类型 227
8.1.2 一个网卡绑多个 IP:IP Alias 的测试用途 229
8.1.3 重复路由的问题 230
8.2 路由器配置 231
8.2.1 什么是路由器与 IP 路由器 231
8.2.2 何时需要路由器 233
8.2.3 静态路由的路由器 234
8.3 动态路由器架设 239
8.4 特殊状况——路由器两边界面是同一个IP网段:ARP Proxy 245
8.5 重点回顾 249
8.6 参考数据与延伸阅读 250
第9章 防火墙与 NAT 服务器 251
9.1 认识防火墙 252
9.1.1 关于本章的一些提醒事项 252
9.1.2 为何需要防火墙 253
9.1.3 Linux 系统上防火墙的主要类别 253
9.1.4 防火墙的一般网络布线示意 255
9.1.5 防火墙的使用限制 258
9.2 TCP Wrappers 259
9.2.1 哪些服务有支持 259
9.2.2 /etc/hosts.{allow|deny} 的设置方式 261
9.3 Linux 的数据包过滤软件:iptables 262
9.3.1 不同 Linux 内核版本的防火墙软件 262
9.3.2 数据包进入流程:规则顺序的重要性 263
9.3.3 iptables 的表格(table)与链(chain) 264
9.3.4 本机的 iptables 语法 267
9.3.5 IPv4 的内核管理功能:/proc/sys/net/ipv4/* 278
9.4 设置单机防火墙的一个实例 281
9.4.1 规则草拟 281
9.4.2 实际设置 282
9.5 NAT 服务器的设置 286
9.5.1 什么是 NAT? SNAT? DNAT? 287
9.5.2 最简单的 NAT 服务器:IP 分享功能 290
9.5.3 iptables 的额外内核模块功能 292
9.5.4 在防火墙后端的网络服务器上做DNAT 设置 292
9.6 重点回顾 293
9.7 参考数据与延伸阅读 294
第10章 申请合法的主机名 295
10.1 为何需要主机名 296
10.1.1 主机名的由来 296
10.1.2 重点在合法授权 297
10.1.3 申请静态还是动态 DNS 主机名 298
10.2 注册一个合法的主机名 299
10.2.1 静态 DNS 主机名注册(以 Hinet 为例) 299
10.2.2 动态 DNS 主机名注册(以 no-ip 为例) 301
10.3 重点回顾 306
10.4 参考数据与延伸阅读 307
第三篇 局域网内常见服务器的搭建
第11章 远程连接服务器 SSH / XDMCP / VNC /XRDP 310
11.1 远程连接服务器 311
11.1.1 什么是远程连接服务器 311
11.1.2 有哪些可供登录的类型 312
11.2 文字接口连接服务器: SSH 服务器 313
11.2.1 连接加密技术简介 314
11.2.2 启动 SSH 服务 317
11.2.3 SSH 客户端连接程序——Linux 用户 317
11.2.4 SSH 客户端连接程序——Windows 用户 324
11.2.5 SSHD 服务器详细配置 328
11.2.6 制作不用密码可立即登录的SSH用户 332
11.2.7 简易安全设置 335
11.3 最原始图形接口:XDMCP服务的启用 337
11.3.1 X Window 的 Server/Client 架构与各组件 338
11.3.2 设定 GDM 的 XDMCP 服务 341
11.3.3 用户系统为 Linux 的登录方式 343
11.3.4 用户系统为 Windows 的登录方式: Xming 345
11.4 华丽的图形接口:VNC 服务器 348
11.4.1 默认的 VNC 服务器 348
11.4.2 VNC 的客户端连接软件 350
11.4.3 VNC 搭配本机的 XDMCP 画面 352
11.4.4 开机就启动 VNC Server 的方法 354
11.4.5 同步的 VNC :可以通过图示同步教学 354
11.5 仿真的远程桌面系统:XRDP 服务器 355
11.6 SSH 服务器的高级应用 357
11.6.1 在非标准端口启动 SSH(非 Port 22) 357
11.6.2 以 rsync 进行同步镜像备份 359
11.6.3 通过SSH通道加密原本无加密的服务 362
11.6.4 以SSH通道配合 X Server 传递图形界面 363
11.7 重点回顾 367
11.8 参考数据与延伸阅读 368
第12章 网络参数管理者:DHCP服务器 369
12.1 DHCP 的工作原理 370
12.1.1 DHCP 服务器的用途 370
12.1.2 DHCP 协议的工作方式 371
12.1.3 何时需要架设 DHCP 服务器 375
12.2 DHCP 服务器端的配置 376
12.2.1 所需软件与文件结构 376
12.2.2 主要配置文件 /etc/dhcp/dhcpd.conf 的语法 377
12.2.3 一个局域网的 DHCP 服务器设置案例 379
12.2.4 DHCP 服务器的启动与观察 380
12.2.5 内部主机的 IP 对应 382
12.3 DHCP 客户端的设置 382
12.3.1 客户端是 Linux 382
12.3.2 客户端是 Windows 384
12.4 DHCP 服务器端的高级查看与使用 387
12.4.1 检查租约文件 387
12.4.2 让大量 PC 都具有固定 IP 的脚本 387
12.4.3 使用 ether-wake 实现远程自动开机(remote boot) 388
12.4.4 DHCP 与 DNS 的关系 389
12.5 重点回顾 390
12.6 参考数据与延伸阅读 391
第13章 文件服务器之一:NFS 服务器 392
13.1 NFS的由来与功能 393
13.1.1 什么是 NFS(Network File System) 393
13.1.2 什么是 RPC(Remote Procedure Call) 394
13.1.3 NFS 启动的 RPC daemons 395
13.1.4 NFS 的文件访问权限 396
13.2 NFS Server 端的配置 397
13.2.1 所需要的软件 398
13.2.2 NFS 的软件结构 398
13.2.3 /etc/exports 配置文件的语法与参数 399
13.2.4 启动 NFS 404
13.2.5 NFS 的连接查看 406
13.2.6 NFS 的安全性 408
13.3 NFS 客户端的设置 410
13.3.1 手动挂载 NFS 服务器共享的资源 410
13.3.2 客户端可处理的挂载参数与开机挂载 411
13.3.3 无法挂载的原因分析 414
13.3.4 自动挂载 autofs 的使用 415
13.4 案例演练 418
13.5 重点回顾 420
13.6 参考数据与延伸阅读 420
第14章 账号管理:NIS 服务器 421
14.1 NIS 的由来与功能 422
14.1.1 NIS 的主要功能:管理账号信息 422
14.1.2 NIS 的工作流程:通过 RPC 服务 423
14.2 NIS Server 端的设置 425
14.2.1 所需要的软件 425
14.2.2 NIS 服务器相关的配置文件 425
14.2.3 一个实际操作案例 426
14.2.4 NIS Server 的设置与启动 426
14.2.5 防火墙设置 431
14.3 NIS Client 端的设置 431
14.3.1 NIS Client 所需的软件与软件结构 432
14.3.2 NIS Client 的设置与启动 432
14.3.3 NIS Client 端的验证:yptest、ypwhich、ypcat 435
14.3.4 用户参数修改:yppasswd、ypchfn、ypchsh 437
14.4 NIS 搭配 NFS 的设置在群集计算机上的应用 438
14.5 重点回顾 441
14.6 参考数据与延伸阅读 442
第15章 时间服务器:NTP 服务器 443
15.1 关于时区与网络校时的通信协议 444
15.1.1 什么是时区?全球有多少时区?GMT 在哪个时区? 444
15.1.2 什么是夏令时(Daylight Saving Time) 446
15.1.3 Coordinated Universal Time(UTC)与系统时间的误差 447
15.1.4 NTP 通信协议 447
15.1.5 NTP 服务器的层次概念 448
15.2 NTP 服务器的安装与设置 449
15.2.1 所需软件与软件结构 449
15.2.2 主要配置文件 ntp.conf 的处理 451
15.2.3 NTP 的启动与观察 453
15.2.4 安全性设置 455
15.3 客户端的时间更新方式 455
15.3.1 Linux 手动校时工作:date、hwclock 455
15.3.2 Linux 的网络校时 456
15.3.3 Windows 的网络校时 457
15.4 重点回顾 459
15.5 参考数据与延伸阅读 459
第16章 文件服务器之二:SAMBA 服务器 460
16.1 什么是 SAMBA 461
16.1.1 SAMBA 的发展历史与名称的由来 461
16.1.2 SAMBA 常见的应用 462
16.1.3 SAMBA 使用的 NetBIOS 通信协议 463
16.1.4 SAMBA 使用的 daemons 464
16.1.5 连接模式的介绍(Peer/Peer、Domain model) 465
16.2 SAMBA 服务器的基础设置 467
16.2.1 SAMBA所需软件及其软件结构 467
16.2.2 基础的网上邻居共享流程与 smb.conf 的常用设置项目 469
16.2.3 不需密码的共享(security = share,纯测试) 474
16.2.4 需账号密码才可登录的共享(security = user) 479
16.2.5 设置成为打印机服务器(CUPS 系统) 486
16.2.6 安全性的议题与管理 496
16.2.7 主机安装时的规划与中文扇区挂载 499
16.3 SAMBA客户端软件功能 500
16.3.1 Windows系统的使用 501
16.3.2 Linux系统的使用 505
16.4 以PDC服务器提供账号管理 509
16.4.1 让SAMBA管理网络用户的一个实际案例 509
16.4.2 PDC服务器的搭建 511
16.4.3 Wimdows XP pro 的客户端 515
16.4.4 Windows 7的客户端 519
16.4.5 PDC问题的克服 520
16.5 服务器简单维护与管理 521
16.5.1 服务器相关问题克服 521
16.5.2 让用户修改SAMBA密码同时同步更新 /etc/shadow 密码 522
16.5.3 利用ACL配合单一用户时的管理 523
16.6 重点回顾 524
16.7 参考数据与延伸阅读 524
第17章 局域网控制者:Proxy服务器 526
17.1 什么是代理服务器 527
17.1.1 什么是代理服务器 527
17.1.2 代理服务器的工作流程 528
17.1.3 上层代理服务器 529
17.1.4 代理服务器与NAT服务器的差异 531
17.1.5 搭建代理服务器的用途与优缺点 531
17.2 Proxy服务器的配置基础 533
17.2.1 Proxy所需的squid软件及其软件结构 533
17.2.2 CentOS默认的squid设置 534
17.2.3 管理信任来源(如局域网)与目标(如恶意网站):acl与http_access 的使用 539
17.2.4 其他额外的功能项目 542
17.2.5 安全性设置:防火墙、SELinux与黑名单文件 544
17.3 客户端的使用与测试 545
17.3.1 浏览器的设置:Firefox & IE 545
17.3.2 测试Proxy失败的画面 548
17.4 服务器的其他应用设定 549
17.4.1 上层Proxy与获取数据分流的设定 549
17.4.2 Proxy 服务放在NAT服务器上:透明代理(Transparent Proxy) 551
17.4.3 Proxy 的认证设置 553
17.4.4 末端日志分析:SARG 555
17.5 重点回顾 557
17.6 参考数据与延伸阅读 558
第18章 网络驱动器设备:iSCSI服务器 559
18.1 网络文件系统还是网络驱动器 560
18.1.1 NAS与SAN 560
18.1.2 iSCSI接口 561
18.1.3 各组件相关性 562
18.2 iSCSI target的设置 564
18.2.1 所需软件与软件结构 564
18.2.2 iSCSI target的实际设置 565
18.3 iSCSI initiator的设置 570
18.3.1 所需软件与软件结构 570
18.3.2 iSCSI initiator的实际设置 570
18.3.3 一个测试范例 574
18.4 重点回顾 576
18.5 参考数据与延伸阅读 577
第四篇 常见因特网服务器的搭建
第19章 主机名控制者:DNS服务器 580
19.1 什么是DNS 581
19.1.1 用网络主机名取得IP的历史渊源 581
19.1.2 DNS的主机名对应IP的查询流程 584
19.1.3 合法DNS的关键:申请区域查询授权 590
19.1.4 主机名交由ISP代管还是自己设置DNS服务器 591
19.1.5 DNS数据库的记录:正解、反解、Zone的意义 592
19.1.6 DNS数据库的类型:hint、Master/Slave架构 594
19.2 Client端的设置 596
19.2.1 相关配置文件 596
19.2.2 DNS的正、反解查询命令:host、nslookup、dig 597
19.2.3 查询域管理者相关信息:whois 602
19.3 DNS 服务器的软件、种类与Caching only DNS服务器设置 604
19.3.1 搭建DNS所需要的软件 604
19.3.2 BIND的默认路径设置与 chroot 604
19.3.3 单纯的cache-only DNS服务器与forwarding功能 605
19.4 DNS 服务器的详细设置 611
19.4.1 正解文件记录的数据(Resource Record,RR) 612
19.4.2 反解文件记录的RR数据 616
19.4.3 步骤一:DNS的环境规划 617
19.4.4 步骤二:主配置文件/etc/named.conf的设置 618
19.4.5 步骤三:最上层(root)数据库文件的设置 620
19.4.6 步骤四:正解数据库文件的设置 620
19.4.7 步骤五:反解数据库文件的设置 622
19.4.8 步骤六:DNS的启动、查看与防火墙 623
19.4.9 步骤七:测试与数据库更新 624
19.5 协同工作的DNS:Slave DNS及子域授权设定 626
19.5.1 master DNS权限的开放 626
19.5.2 Slave DNS的设置与数据库权限问题 628
19.5.3 配置子域DNS服务器:子域授权课题 630
19.5.4 依不同接口给予不同的DNS主机名:view功能的应用 632
19.6 DNS服务器的高级设定 635
19.6.1 架设一个合法授权的DNS服务器 635
19.6.2 LAME Server的问题 637
19.6.3 利用RNDC命令管理DNS服务器 638
19.6.4 搭建动态DNS服务器:让你成为ISP 642
19.7 重点回顾 645
19.8 参考数据与延伸阅读 646
第20章WWW服务器 647
20.1 WWW的简史、资源以及服务器软件 648
20.1.1 WWW 的简史、HTML与标准制订(W3C) 648
20.1.2 WWW 服务器与浏览器所提供的资源定位(URL) 651
20.1.3 WWW 服务器的类型:系统、平台、数据库与程序(LAMP) 653
20.1.4 https:加密的网页数据(SSL)及第三方证书机构 655
20.1.5 客户端常见的浏览器 656
20.2 WWW(LAMP)服务器基本配置 657
20.2.1 LAMP所需软件与其结构 657
20.2.2 Apache的基本设定 660
20.2.3 PHP的默认参数修改 668
20.2.4 启动WWW服务与测试PHP模块 670
20.2.5 MySQL的基本设定 672
20.2.6 防火墙设置与SELinux规则的放行 676
20.2.7 开始网页设计及安装架站软件,如phpBB3 677
20.3 Apache服务器的高级设定 678
20.3.1 启动用户的个人网站(权限是重点) 678
20.3.2 启动某个目录的CGI(perl)程序执行权限 680
20.3.3 找不到网页时的显示信息通知 681
20.3.4 浏览权限的设定操作(Order、Limit) 683
20.3.5 服务器状态说明网页 686
20.3.6 .htaccess与认证网页设定 687
20.3.7 虚拟主机的设定(重要!) 691
20.4 日志文件分析以及PHP强化模块 694
20.4.1 PHP强化模块(eaccelerator)与Apache简易性能测试 694
20.4.2 syslog与logrotate 697
20.4.3 日志文件分析软件:webalizer 698
20.4.4 日志文件分析软件:awstats 700
20.5 建立连接加密网站(https)及防整站下载脚本 702
20.5.1 SSL 所需软件与证书文件及默认的https 702
20.5.2 拥有自制证书的https 704
20.5.3 将加密首页与非加密首页分离 706
20.5.4 防整站下载软件 707
20.6 重点回顾 708
20.7 参考数据与延伸阅读 709
第21章 文件服务器之三:FTP服务器 710
21.1 FTP 的数据传输原理 711
21.1.1 FTP功能简介 711
21.1.2 FTP 的工作流程与使用到的端口 712
21.1.3 客户端选择被动式连接模式 714
21.1.4 FTP 的安全性问题与替代方案 716
21.1.5 开放什么身份的用户登录 716
21.2 vsftpd服务器基础设置 718
21.2.1 为何使用vsftpd 718
21.2.2 所需要的软件以及软件结构 719
21.2.3 vsftpd.conf配置值说明 721
21.2.4 vsftpd启动的模式 726
21.2.5 CentOS的vsftpd默认值 727
21.2.6 针对实体账号的设定 729
21.2.7 仅有匿名登录的相关设置 734
21.2.8 防火墙设置 738
21.2.9 常见问题与解决之道 739
21.3 客户端的图形接口FTP连接软件 740
21.3.1 Filezilla 740
21.3.2 通过浏览器取得FTP连接 744
21.4 让vsftpd增加SSL的加密功能 744
21.5 重点回顾 747
21.6 参考数据与延伸阅读 748
第22章 邮件服务器:Postfix 749
22.1 邮件服务器的功能与工作原理 750
22.1.1 电子邮件的功能与问题 750
22.1.2 Mail server 与DNS之间的关系 751
22.1.3 邮件传输所需要的组件(MTA、MUA、MDA)以及相关协议 754
22.1.4 用户收信时服务器端所提供的相关协议:MRA 757
22.1.5 Relay与认证机制的重要性 759
22.1.6 电子邮件的数据内容 760
22.2 MTA 服务器:Postfix基础设定 761
22.2.1 Postfix的开发 761
22.2.2 所需要的软件与软件结构 762
22.2.3 一个邮件服务器的设定案例 764
22.2.4 让Postfix可监听Internet来收发邮件 764
22.2.5 邮件发送流程与收信、Relay等重要概念 767
22.2.6 设定邮件主机权限与过滤机制:/etc/postfix/access 770
22.2.7 设定邮件别名:/etc/aliases/forward 770
22.2.8 查看邮件队列信息:postqueue、mailq 773
22.2.9 防火墙设置 775
22.3 MRA 服务器:dovecot设定 775
22.3.1 基础的POP3/IMAP设定 775
22.3.2 加密的POP3s/IMAPs设定 776
22.3.3 防火墙设置 777
22.4 MUA 软件:客户端的收发邮件软件 777
22.4.1 Linux mail 778
22.4.2 Linux mutt 781
22.4.3 好用的跨平台(Windows/Linux X)软件:Thunderbird 784
22.5 邮件服务器的高级设定 788
22.5.1 邮件过滤一:用postgrey进行非正规Mail server 的垃圾邮件过滤 788
22.5.2 邮件过滤二:关于黑名单的过滤机制 792
22.5.3 邮件过滤三:基础的邮件过滤机制 793
22.5.4 非信任来源的 Relay:开放 SMTP 身份认证 795
22.5.5 非固定 IP 邮件服务器的福音:relayhost 799
22.5.6 其他设置小技巧 800
22.6 重点回顾 803
22.7 参考数据与延伸阅读 804
版权页:
插图:
全世界的人种多样,人类使用的语言种类也很多。那如果你想要跟外国人沟通时,除了指手画脚之外,你要如何跟对方讲话?大概只有两种方式,一种是强迫他学中文,一种则是我们学他的语言,这样才能沟通。
这个观念延伸到网络上面也是行得通的,全世界的操作系统多得很,不是只有Windows/Linux系统而已,还有苹果计算机自己的操作系统,Unix like的操作系统也非常多!那么多的操作系统(人种)要如何进行网络沟通(语言)呢?那就需要制订共同遵守的标准才行。这个标准是由国际组织规范的,你的系统里面只要提供可以加入该标准的程序代码,那你就能够通过这个标准与其他系统进行沟通。所以,网络是跨平台的,并不是只有Linux才这么做j因此,这部分的内容学完后,是可以应用在所有操作系统上面的。
另外,本章节旨在引导网络新人快速进入网络的世界,所以鸟哥写得比较浅显一些,对于网络硬件与通信协议并没有被包含在本章内容中。如果你的求知欲已经高过本章节,那么请自行寻找适合你自己的书籍来阅读。当然,你也可以在因特网上面找到你所需要的内容。也可以参考在本章最后的参考文献。
我们都知道,网络就是几部计算机主机或者是网络打印机之类的接口设备,通过网线或者是无线网络技术,将这些主机与设备连接起来,使得数据可以通过网络介质(网线以及其他网卡等硬件)来传输的一种方式。请你想象一下,如果你家里只有计算机、打印机、传真机等机器,却没有网络连接这些硬件,那么使用上会不会很麻烦?如果将这个场景移到需要工作的办公室时,计算机的数据无法使用网络连接到打印机来打印,那是否很伤脑筋呢?是吧,想想就觉得很麻烦。不幸的是,这些麻烦事在20世纪70年代以前确实是存在的。
各自为政的“网络硬件与软件”技术发展:Ethernet & Token-Ring
在1970年前后,为了解决这个烦人的数据传输问题,几个主要的与信息技术相关的公司都在研究各自的网络连接技术,以使自家的产品可以在办公室的环境下组织起来。其中比较有名的就是施乐公司的Ethernet技术,以及IBM研发的Token-Ring技术。但是这些技术都有个很大的问题,那就是它们彼此不认识对方的网络技术。也就是说,万一你的办公室购买了整合Ethernet技术的计算机主机,但是其他的计算机却是使用IBM的机器时,想要在这两者之间进行数据的沟通传输,在早期来说那是不可能的。
以“软件”技术将硬件整合:ARPANET & TCP/IP
为了解决上述的网络硬件整合问题,在20世纪60年代末期美国国防部就开始研究一个可以在这些不同的网络硬件上面运行的软件技术,使得不同公司的计算机或数据可以通过这个软件来实现数据沟通。这个研究由美国国防部远景规划局(Defense Advanced Research Project Agency,DARPA)负责,他们将该网络系统称为ARPANET,这就是目前熟知的TCP/IP技术的雏形。在1975年左右,ARPANET已可以在常见的Ethernet与Token-Ring等硬件平台下互通数据了。DARPA在1980年正式推出TCP/IP技术后,由于想要推广此项技术,因此与伯克利(Berkeley)大学合作,将TCP/IP植入著名的BSD Unix系统内,由于大学乃是人才培养的摇篮,所以,TCP/IP技术便吸引了越来越多的使用者投入其中研究开来,而这种连接网络的技术也被称之为Internet。
相关阅读:
更多图书资讯可访问读书人图书频道:http://www.reAder8.cn/book/