描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302649229
《鸟哥的Linux私房菜——服务器架设篇(第三版修订)》是一本不可或缺的Linux服务器架设指导书,适合想要深入学习Linux服务器架设和管理的读者。本书不仅教授如何搭建服务器,还重点关注服务器的安全防护和维护,以及解决常见问题的策略。作者以系统基础和网络基础为起点,深入浅出地介绍了各种常见服务器的搭建方法。无论您是初学者还是有经验的用户,本书都将帮助您掌握Linux服务器的核心知识,为您的服务器提供稳定、安全的运行环境。
你已经具备了Linux基础,想进一步学习服务器架设吗?还想了解如何维护和管理你的服务器吗?《鸟哥的Linux私房菜—服务器架设篇(第三版修订)》是你最佳的选择。
目前有关Linux架设的书籍大多只教读者如何架设服务器,很少涉及服务器的维护、管理以及遇到问题时的应对策略。结果是,一旦服务器遭受攻击,人们就会手忙脚乱。因此,作者首先从系统基础和网络基础开始讲解,然后讨论网络攻击和防火墙保护主机,最后才介绍服务器的架设。
《鸟哥的Linux私房菜:第三版修订. 服务器架设篇》共分为四篇:第一篇是服务器搭建前的进修专区,主要介绍架设服务器之前必须具备的基本知识。阅读完这一篇后,无论你使用何种方式连接Internet,都不会有问题;第二篇是主机的简易安全防护措施,鸟哥会告诉你如何保护你的主机,养成良好的操作习惯,使你的主机免受病毒侵害,安全能经受住各种考验;第三篇是局域网内常见服务器的搭建,介绍内部网络经常使用的远程连接服务(如SSH、XDMCP、VNC、XRDP)、网络参数配置服务(如DHCP、NFS、NTP)、网络磁盘服务(如SAMBA、iSCSI)以及代理服务器等。其中,SSH密钥系统对于异地备份非常有帮助,你绝对不能错过;第四篇是常见的Internet服务器的搭建,介绍DNS、WWW、FTP和邮件服务器等常见的服务。
第一篇 服务器搭建前的进修专区
第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 系统安全与备份处理 24
1.3 自我评估是否已经具备服务器搭建的能力 25
第2章 网络的基本概念 27
2.1 网络 28
2.1.1 什么是网络 28
2.1.2 计算机网络的组件 30
2.1.3 计算机网络的范围 31
2.1.4 计算机网络协议:OSI七层协议 32
2.1.5 计算机网络协议:TCP/IP 35
2.2 TCP/IP网络接口层的相关协议 36
2.2.1 广域网使用的设备 36
2.2.2 局域网使用的设备——以太网 37
2.2.3 以太网络的传输协议:CSMA/CD 39
2.2.4 MAC的封装格式 41
2.2.5 MTU 42
2.2.6 集线器、交换机与相关机制 43
2.3 TCP/IP网络层的相关数据包与数据 46
2.3.1 IP数据包的封装 46
2.3.2 IP地址的组成与分级 48
2.3.3 IP的种类与获取方式 51
2.3.4 子网掩码、子网与CIDR(无类别域间路由) 53
2.3.5 路由概念 56
2.3.6 观察主机路由:Route 59
2.3.7 IP与MAC:网络接口层的ARP与RARP协议 60
2.3.8 ICMP协议 61
2.4 TCP/IP传输层的相关数据包与数据 62
2.4.1 面向连接的可靠的TCP协议 62
2.4.2 TCP的三次握手 66
2.4.3 无连接的UDP协议 67
2.4.4 网络防火墙与OSI七层协议 68
2.5 连上Internet前的准备事项 69
2.5.1 IP地址、主机名与DNS系统 69
2.5.2 连上Internet的必要网络参数 70
2.6 重点回顾 70
2.7 参考资料与延伸阅读 72
第3章 局域网架构简介 73
3.1 局域网的连接 74
3.1.1 局域网的布线规划 74
3.1.2 网络设备选购建议 78
3.2 本书使用的内部连接网络参数与通信协议 81
3.2.1 网络连接参数与通信协议 81
3.2.2 Windows个人计算机网络配置范例 83
第4章 连接Internet 86
4.1 Linux连接Internet前的注意事项 87
4.1.1 Linux 的网卡 87
4.1.2 编译网卡驱动程序(Option) 89
4.1.3 Linux网络相关配置文件 91
4.2 连接Internet的设置方法 92
4.2.1 手动设置固定IP地址 93
4.2.2 自动获取IP参数(DHCP方法,适用Cable Modem、IP路由器的环境) 97
4.2.3 ADSL拨号上网(适用ADSL拨号以及光纤接入) 98
4.3 无线网络—以笔记本电脑为例 103
4.3.1 无线网络所需要的硬件:AP、无线网卡 103
4.3.2 网络安全方面:关于AP的设置 104
4.3.3 利用无线网卡进行连接 106
4.4 常见问题说明 109
4.4.1 内部网络使用某些服务(如FTP、POP3)所遇到的连接延迟问题 109
4.4.2 域名无法解析的问题 111
4.4.3 默认网关的问题 111
4.5 重点回顾 111
第5章 Linux中常用的网络命令 113
5.1 设置网络参数的命令 114
5.1.1 手动/自动配置IP参数与启动/关闭网络接口:ifconfig、ifup、ifdown 114
5.1.2 修改路由:route 117
5.1.3 网络参数综合命令:ip 119
5.1.4 无线网络:iwlist、iwconfig 124
5.1.5 DHCP客户端命令:dhclient 124
5.2 网络故障排除与查看命令 124
5.2.1 两台主机之间最简单的通信方式:ping 125
5.2.2 对两台主机之间的各个节点进行分析:traceroute 127
5.2.3 查看本机的网络连接与后门:netstat 128
5.2.4 检测主机名与IP地址的对应关系:host、nslookup 131
5.3 远程连接命令与即时通信软件 133
5.3.1 终端机与BBS连接:Telnet 133
5.3.2 FTP连接软件:ftp、lftp 134
5.3.3 图形界面的即时通信软件:Pidgin(gaim的延伸) 136
5.4 文本界面的网页浏览 138
5.4.1 文本界面的网页浏览器:links 138
5.4.2 文本界面的下载器:wget 140
5.5 数据包捕获功能 141
5.5.1 文本界面的数据包捕获器:tcpdump 141
5.5.2 图形界面的数据包捕获器:Wireshark 145
5.5.3 任意启动 TCP/UDP 数据包的端口连接:nc、netcat 147
5.6 重点回顾 148
5.7 参考数据与延伸阅读 149
第6章 Linux网络故障排除 150
6.1 无法连接网络的原因分析 151
6.1.1 硬件问题:网线、网络设备、网络布线等 151
6.1.2 软件问题:IP 参数设置、路由设置、服务器与防火墙设置等 152
6.1.3 问题的处理 153
6.2 处理流程 154
6.2.1 步骤1:确认网卡的工作 154
6.2.2 步骤2:局域网内各项连接设备检测 155
6.2.3 步骤3:获取正确的IP参数 156
6.2.4 步骤4:确认路由表的规则 157
6.2.5 步骤5:主机名与IP查询的DNS错误 158
6.2.6 步骤6:Linux的NAT服务器或IP路由器出问题 158
6.2.7 步骤7:Internet的问题 159
6.2.8 步骤8:服务器的问题 159
第二篇 主机的简易安全防护措施
第7章 网络安全与主机基本防护:限制端口、网络升级与SELinux 162
7.1 网络数据包连接进入主机的流程 163
7.1.1 数据包进入主机的流程 163
7.1.2 常见的攻击手法与相关保护 165
7.1.3 主机能执行的保护操作:软件更新、减少网络服务、启动SELinux 169
7.2 网络自动升级软件 171
7.2.1 如何进行软件升级 171
7.2.2 CentOS的yum软件更新、镜像站点使用的原理 173
7.2.3 yum的功能:安装软件组、全系统更新 174
7.2.4 挑选特定的镜像站点:修改yum配置文件与清除yum缓存 179
7.3 限制连接端口 182
7.3.1 什么是端口 182
7.3.2 端口的查看:netstat、nmap 183
7.3.3 端口与服务的启动、关闭及开机时状态的设置 186
7.3.4 安全性考虑——关闭网络服务端口 189
7.4 SELinux管理原则 191
7.4.1 SELinux的工作模式 191
7.4.2 SELinux的启动、关闭与查看 194
7.4.3 SELinux Type的修改 196
7.4.4 SELinux策略内规则布尔值的修订 198
7.4.5 SELinux日志文件记录所需的服务 201
7.5 被攻击后的主机修复工作 204
7.5.1 网管人员应具备的技能 204
7.5.2 主机受攻击后恢复的工作流程 206
7.6 重点回顾 208
7.7 参考数据与延伸阅读 208
第8章 路由的概念与路由器设置 209
8.1 路由 210
8.1.1 路由表产生的类型 210
8.1.2 一块网卡绑定多个IP地址:IP Alias的测试用途 211
8.1.3 重复路由的问题 213
8.2 路由器配置 214
8.2.1 什么是路由器与IP路由器 214
8.2.2 何时需要路由器 215
8.2.3 静态路由的路由器 216
8.3 动态路由器架设 221
8.4 特殊情况——路由器两边的接口是同一个IP网段:ARP Proxy 227
8.5 重点回顾 230
第9章 防火墙与NAT服务器 231
9.1 认识防火墙 232
9.1.1 关于本章的一些提醒事项 232
9.1.2 为何需要防火墙 232
9.1.3 Linux系统上防火墙的主要类型 233
9.1.4 防火墙的一般网络布局示意 235
9.1.5 防火墙的使用限制 237
9.2 TCP Wrappers 238
9.2.1 哪些服务有支持 239
9.2.2 /etc/hosts.{allow|deny}的设置方式 240
9.3 Linux的数据包过滤软件:iptables 241
9.3.1 不同 Linux 内核版本的防火墙软件 241
9.3.2 数据包进入流程:规则顺序的重要性 242
9.3.3 iptables的表与链 243
9.3.4 本机的iptables语法 246
9.3.5 IPv4 的内核管理功能:/proc/sys/net/ipv4/* 256
9.4 设置单机防火墙的一个实例 258
9.4.1 规则草拟 258
9.4.2 实际设置 260
9.5 NAT服务器的设置 263
9.5.1 什么是NAT、SNAT、DNAT 263
9.5.2 最简单的NAT服务器:IP分享功能 266
9.5.3 iptables的额外内核模块功能 268
9.5.4 在防火墙后端的网络服务器上设置DNAT 269
9.6 重点回顾 269
9.7 参考数据与延伸阅读 270
第10章 申请合法的主机名 271
10.1 为何需要主机名 272
10.1.1 主机名的由来 272
10.1.2 重点在合法授权 273
10.1.3 申请静态还是动态DNS主机名 274
10.2 注册一个合法的主机名 275
10.2.1 静态 DNS 主机名注册 275
10.2.2 动态DNS主机名注册(以no-ip为例) 275
10.3 重点回顾 280
第三篇 局域网内常见服务器的搭建
第11章 远程连接服务器 SSH/XDMCP/VNC/XRDP 282
11.1 远程连接服务器 283
11.1.1 什么是远程连接服务器 283
11.1.2 有哪些可供登录的类型 284
11.2 文本界面连接服务器:SSH 服务器 285
11.2.1 连接加密技术简介 286
11.2.2 启动SSH服务 289
11.2.3 SSH客户端连接程序——Linux用户 289
11.2.4 SSH客户端连接程序——Windows用户 295
11.2.5 SSHD服务器详细配置 299
11.2.6 制作不用密码可立即登录的SSH用户 302
11.2.7 简易安全设置 305
11.3 最原始的图形界面:XDMCP服务的启用 307
11.3.1 X Window的Server/Client架构与各组件 307
11.3.2 设置GDM的XDMCP服务 310
11.3.3 用户系统为Linux的登录方式 312
11.3.4 用户系统为Windows的登录方式:Xming 314
11.4 华丽的图形界面:VNC服务器 316
11.4.1 默认的VNC服务器 316
11.4.2 VNC的客户端连接软件 318
11.4.3 VNC搭配本机的XDMCP界面 320
11.4.4 开机就启动VNC服务器的方法 321
11.4.5 同步的VNC:可以通过图示同步教学 321
11.5 仿真的远程桌面系统:XRDP服务器 322
11.6 SSH服务器的高级应用 324
11.6.1 在非标准端口启动SSH(非端口22) 324
11.6.2 以rsync进行同步镜像备份 325
11.6.3 通过SSH通道加密原本无加密的服务 328
11.6.4 以SSH通道配合X Server传送图形界面 329
11.7 重点回顾 332
11.8 参考资料与延伸阅读 333
第12章 网络参数管理者:DHCP服务器 334
12.1 DHCP的工作原理 335
12.1.1 DHCP服务器的用途 335
12.1.2 DHCP协议的工作方式 335
12.1.3 何时需要架设DHCP服务器 339
12.2 DHCP服务器端的配置 340
12.2.1 所需软件与文件结构 340
12.2.2 主要配置文件/etc/dhcp/dhcpd.conf的语法 341
12.2.3 一个局域网的DHCP服务器设置案例 343
12.2.4 DHCP服务器的启动与观察 344
12.2.5 内部主机的IP对应 345
12.3 DHCP客户端的设置 346
12.3.1 客户端是Linux 346
12.3.2 客户端是Windows 348
12.4 DHCP服务器端的高级查看与使用 350
12.4.1 检查租约文件 350
12.4.2 让大量计算机都具有获取静态IP地址的脚本 350
12.4.3 使用ether-wake实现远程自动开机(remote boot) 351
12.4.4 DHCP与DNS的关系 352
12.5 重点回顾 353
12.6 参考资料与延伸阅读 354
第13章 文件服务器之一:NFS服务器 355
13.1 NFS的由来与功能 356
13.1.1 什么是NFS 356
13.1.2 什么是RPC 357
13.1.3 NFS启动的RPC守护进程 358
13.1.4 NFS的文件访问权限 359
13.2 NFS服务器端的配置 360
13.2.1 所需要的软件 360
13.2.2 NFS的软件结构 361
13.2.3 /etc/exports配置文件的语法与参数 362
13.2.4 启动NFS 366
13.2.5 NFS的连接查看 368
13.2.6 NFS的安全性 370
13.3 NFS客户端的设置 372
13.3.1 手动挂载NFS服务器共享的资源 372
13.3.2 客户端可处理的挂载参数与开机挂载 373
13.3.3 无法挂载的原因分析 375
13.3.4 自动挂载autofs的使用 377
13.4 案例演练 379
13.5 重点回顾 381
第14章 账号管理:NIS服务器 382
14.1 NIS的由来与功能 383
14.1.1 NIS的主要功能:管理账号信息 383
14.1.2 NIS的工作流程:通过RPC服务 384
14.2 NIS服务器端的设置 386
14.2.1 所需要的软件 386
14.2.2 NIS服务器相关的配置文件 386
14.2.3 一个实际操作案例 387
14.2.4 NIS服务器的设置与启动 387
14.2.5 防火墙设置 391
14.3 NIS客户端的设置 392
14.3.1 NIS客户端所需的软件与软件结构 392
14.3.2 NIS客户端的设置与启动 393
14.3.3 NIS客户端的验证:yptest、ypwhich和ypcat 395
14.3.4 用户参数修改:yppasswd、ypchfn和ypchsh 396
14.4 NIS搭配NFS的设置在群集计算机上的应用 398
14.5 重点回顾 400
第15章 时间服务器:NTP服务器 402
15.1 关于时区与网络校时的通信协议 403
15.1.1 什么是时区,全球有多少时区,GMT在哪个时区 403
15.1.2 什么是夏令时 405
15.1.3 UTC与系统时间的误差 406
15.1.4 NTP通信协议 406
15.1.5 NTP 服务器的层次概念 407
15.2 NTP服务器的安装与设置 408
15.2.1 所需软件与软件结构 408
15.2.2 主要配置文件 ntp.conf 的处理 409
15.2.3 NTP 的启动与观察 412
15.2.4 安全性设置 413
15.3 客户端的时间更新方式 414
15.3.1 Linux手动校时工作:date和hwclock 414
15.3.2 Linux的网络校时 415
15.3.3 Windows的网络校时 416
15.4 重点回顾 416
15.5 参考资料与延伸阅读 417
第16章 文件服务器之二:SAMBA服务器 418
16.1 什么是SAMBA 419
16.1.1 SAMBA的发展历史与名称的由来 419
16.1.2 SAMBA常见的应用 420
16.1.3 SAMBA使用的NetBIOS通信协议 421
16.1.4 SAMBA使用的守护进程 422
16.1.5 连接模式的介绍(Peer-to-Peer、Domain模式) 423
16.2 SAMBA服务器的基础设置 425
16.2.1 SAMBA所需软件及其软件结构 425
16.2.2 基础的网上邻居共享流程与 smb.conf 的常用设置项 427
16.2.3 不需密码的共享(security = share,纯测试) 431
16.2.4 需要账号和密码才可登录的共享(security = user) 436
16.2.5 设置成打印机服务器(CUPS系统) 442
16.2.6 安全性的议题与管理 451
16.2.7 主机安装时的规划与挂载中文扇区 454
16.3 SAMBA客户端软件功能 455
16.3.1 Windows系统的使用 455
16.3.2 Linux系统的使用 459
16.4 以PDC服务器提供账号管理 463
16.4.1 让SAMBA管理网络用户的一个实际案例 463
16.4.2 PDC服务器的搭建 464
16.4.3 Windows XP Pro的客户端 469
16.4.4 Windows的客户端 472
16.4.5 PDC问题的解决 473
16.5 服务器的简单维护与管理 474
16.5.1 服务器相关问题的解决 474
16.5.2 让用户修改SAMBA密码并同步更新/etc/shadow密码 475
16.5.3 使用ACL配合单个用户时的管理 476
16.6 重点回顾 476
16.7 参考资料与延伸阅读 477
第17章 局域网控制者:代理服务器 478
17.1 什么是代理服务器 479
17.1.1 代理服务器的功能 479
17.1.2 代理服务器的工作流程 480
17.1.3 上层代理服务器 481
17.1.4 代理服务器与NAT服务器的差异 482
17.1.5 搭建代理服务器的用途与优缺点 483
17.2 Proxy服务器的配置基础 485
17.2.1 Proxy所需的squid软件及其软件结构 485
17.2.2 CentOS默认的squid设置 485
17.2.3 管理信任来源(如局域网)与目标(如恶意网站):acl与http_access的使用 491
17.2.4 其他额外的功能项 493
17.2.5 安全性设置:防火墙、SELinux与黑名单文件 495
17.3 客户端的使用与测试 496
17.3.1 浏览器的设置:Firefox和IE 496
17.3.2 测试代理服务器失败的界面 498
17.4 服务器其他应用的设置 499
17.4.1 上层代理服务器与获取数据分流的设置 499
17.4.2 代理服务放在NAT服务器上:透明代理 501
17.4.3 代理的认证设置 502
17.4.4 末端日志分析:SARG 504
17.5 重点回顾 506
17.6 参考资料与延伸阅读 507
第18章 网络驱动器设备:iSCSI服务器 508
18.1 网络文件系统还是网络驱动器 509
18.1.1 NAS与SAN 509
18.1.2 iSCSI接口 510
18.1.3 各组件的相关性 511
18.2 iSCSI Target的设置 513
18.2.1 所需软件与软件结构 513
18.2.2 iSCSI Target的实际设置 513
18.3 iSCSI Initiator的设置 518
18.3.1 所需软件与软件结构 518
18.3.2 iSCSI Initiator的实际设置 518
18.3.3 一个测试范例 521
18.4 重点回顾 524
18.5 参考资料与延伸阅读 524
第四篇 常见因特网服务器的搭建
第19章 主机名控制者:DNS服务器 526
19.1 什么是DNS 527
19.1.1 用网络主机名来获取 IP 地址的历史渊源 527
19.1.2 DNS的主机名对应IP地址的查询流程 530
19.1.3 合法DNS的关键:申请区域查询授权 535
19.1.4 主机名交由ISP代管还是自己设置 DNS 服务器 537
19.1.5 DNS数据库的记录:正向解析、反向解析、区域的含义 537
19.1.6 DNS数据库的类型:hint、Master/Slave架构 539
19.2 客户端的设置 541
19.2.1 相关配置文件 541
19.2.2 DNS的正、反向解析查询命令:host、nslookup、dig 542
19.2.3 查询域管理者相关信息:whois 547
19.3 DNS服务器的软件、种类与只缓存的DNS服务器的设置 548
19.3.1 搭建DNS所需要的软件 548
19.3.2 BIND默认路径的设置与chroot 549
19.3.3 只缓存的DNS服务器与具有转发功能的DNS服务器 550
19.4 DNS服务器的详细设置 555
19.4.1 正向解析文件的资源记录 555
19.4.2 反向解析文件记录的RR数据 560
19.4.3 步骤1:DNS的环境规划 560
19.4.4 步骤2:主配置文件/etc/named.conf的设置 562
19.4.5 步骤3:最上层“.”(root)数据库文件的设置 563
19.4.6 步骤4:正向解析数据库文件的设置 563
19.4.7 步骤5:反向解析数据库文件的设置 565
19.4.8 步骤6:DNS的启动、查看与防火墙 566
19.4.9 步骤7:测试与数据库更新 567
19.5 协同工作的DNS:从DNS及子域授权设置 569
19.5.1 主DNS权限的开放 569
19.5.2 从DNS的设置与数据库权限问题 571
19.5.3 配置子域DNS服务器:子域授权课题 572
19.5.4 根据不同接口给予不同的DNS主机名:view功能的应用 574
19.6 DNS服务器的高级设置 577
19.6.1 架设一个合法授权的DNS服务器 577
19.6.2 LAME服务器的问题 580
19.6.3 利用rndc命令管理DNS服务器 581
19.6.4 搭建动态DNS服务器:让你成为ISP 584
19.7 重点回顾 587
19.8 参考资料与延伸阅读 587
第20章 WWW服务器 588
20.1 WWW的简史、资源以及服务器软件 589
20.1.1 WWW的简史、HTML与标准制定(W3C) 589
20.1.2 WWW服务器与浏览器所提供的资源定位 592
20.1.3 WWW服务器的类型:系统、平台、数据库与程序 593
20.1.4 https:加密的网页数据(SSL)及第三方证书机构 595
20.1.5 客户端常见的浏览器 596
20.2 WWW服务器的基本配置 597
20.2.1 LAMP所需软件与其结构 597
20.2.2 Apache 的基本设置 599
20.2.3 PHP默认参数的修改 606
20.2.4 启动 WWW 服务与测试 PHP 模块 608
20.2.5 MySQL的基本设置 611
20.2.6 防火墙设置与SELinux规则的放行 613
20.2.7 网页的首页设计及安装架站软件——phpBB3 615
20.3 Apache服务器的高级设置 615
20.3.1 启动用户的个人网站(权限是重点) 615
20.3.2 启动某个目录的CGI(perl)程序执行权限 617
20.3.3 找不到网页时的错误提示信息 618
20.3.4 浏览权限的设置操作(Order、Limit) 620
20.3.5 服务器状态说明网页 622
20.3.6 .htaccess 与认证网页设置 623
20.3.7 虚拟主机的设置(重要!) 628
20.4 日志文件分析以及 PHP 强化模块 630
20.4.1 PHP强化模块与Apache简易性能测试 631
20.4.2 syslog 与 logrotate 633
20.4.3 日志文件分析软件:Webalizer 634
20.4.4 日志文件分析软件:AWStats 635
20.5 建立连接加密网站(https)及防止整站下载脚本 638
20.5.1 SSL所需软件与证书文件及默认的https 638
20.5.2 拥有自制证书的https 640
20.5.3 将加密首页与非加密首页分离 642
20.5.4 防止整站下载软件 642
20.6 重点回顾 643
20.7 参考资料与延伸阅读 644
第21章 文件服务器之三:FTP服务器 645
21.1 FTP的数据传输原理 646
21.1.1 FTP功能简介 646
21.1.2 FTP的工作流程与使用到的端口 646
21.1.3 客户端选择被动式连接模式 649
21.1.4 FTP的安全性问题与替代方案 650
21.1.5 开放什么身份的用户登录 651
21.2 vsftpd服务器的基础设置 652
21.2.1 为何使用vsftpd 652
21.2.2 所需的软件以及软件结构 653
21.2.3 vsftpd.conf配置值说明 655
21.2.4 vsftpd 启动的模式 658
21.2.5 CentOS的vsftpd默认值 659
21.2.6 针对实体账号的设置 661
21.2.7 仅有匿名登录的相关设置 665
21.2.8 防火墙设置 670
21.2.9 常见问题与解决方法 670
21.3 客户端的图形界面的FTP连接软件 671
21.3.1 FileZilla 671
21.3.2 通过浏览器获取FTP连接 674
21.4 让vsftpd增加SSL的加密功能 675
21.5 重点回顾 678
21.6 参考资料与延伸阅读 678
第22章 邮件服务器:Postfix 679
22.1 邮件服务器的功能与工作原理 680
22.1.1 电子邮件的功能与问题 680
22.1.2 邮件服务器与DNS之间的关系 681
22.1.3 邮件传输所需要的组件(MTA、MUA、MDA)以及相关协议 683
22.1.4 用户收信时服务器端所提供的相关协议:MRA 686
22.1.5 中继转发与认证机制的重要性 688
22.1.6 电子邮件的数据内容 689
22.2 MTA服务器:Postfix基础设置 690
22.2.1 Postfix 的开发 690
22.2.2 所需的软件与软件结构 691
22.2.3 一个邮件服务器设置的案例 692
22.2.4 让Postfix监听Internet来收发邮件 692
22.2.5 邮件发送流程与收信、中继转发等重要概念 695
22.2.6 设置邮件主机权限与过滤机制:/etc/postfix/access 698
22.2.7 设置邮件别名: /etc/aliases、~/.forward 698
22.2.8 查看邮件队列信息:postqueue、mailq 701
22.2.9 防火墙设置 702
22.3 MRA服务器:dovecot设置 703
22.3.1 基础的POP3/IMAP设置 703
22.3.2 加密的POP3s/IMAPs设置 703
22.3.3 防火墙设置 704
22.4 MUA软件:客户端的收发邮件软件 705
22.4.1 Linux的mail软件 705
22.4.2 Linux mutt 708
22.4.3 好用的跨平台(Windows/Linux X)软件:Thunderbird 711
22.5 邮件服务器的高级设置 714
22.5.1 邮件过滤一:用postgrey进行非正规Mail 服务器的垃圾邮件过滤 715
22.5.2 邮件过滤二:关于黑名单的过滤机制 718
22.5.3 邮件过滤三:基础的邮件过滤机制 719
22.5.4 非信任来源的中继转发:开放SMTP身份认证 720
22.5.5 非固定IP地址的邮件服务器的福音:relayhost 724
22.5.6 其他设置小技巧 725
22.6 重点回顾 728
22.7 参考资料与延伸阅读 728
作 者 序
关于本书
服务器的架设并不容易。除了需要了解每个服务器的工作原理与目的,还需要熟悉网络和系统管理的基础操作等。虽然目前有很多书籍和参考范例教大家如何架设一个可用的服务器,但这些范例却没有详细解释服务器的维护与管理,以及处理问题时的流程。因此,架设服务器虽然容易,但被攻击也是很常见的。因此,这本书从操作系统基础和网络基础开始讲起,然后谈到网络攻击以及防火墙防护主机,最后才切入搭建服务器的相关内容。
这本书以CentOS 6为范例进行介绍。这个Linux版本的服务配置与以前不同,常常让人找不到熟悉的配置文件位置。笔者在服务器配置中使用了SELinux默认启动模式,加入SELinux后,整个服务器的配置变得有些困难。此外,之前没有使用过的NetworkManager服务也增加了一些混乱,因此重复测试之前的版本与当前版本的区别,花费了不少时间。希望这样的测试结果能够帮助大家简化自行探索的过程,早日搭建自己的服务器。
谁适合这本书
这本书深入讨论了服务器搭建的规划、流程、技巧和维护等工作。因此,在这本书中不可能详细讨论基础的Linux操作和相关的Shell语法,毕竟,《鸟哥的Linux私房菜——基础学习篇》已经涵盖了这些内容,没有必要在本书中重复提及。因此,当你尝试阅读本书时,请注意最好已经具备了Linux操作系统的相关知识和BASH Shell的相关技巧。此外,还必须了解一些类Unix的工作流程,例如日志文件的产生和存储位置、服务的启动和关闭方式、计划任务的使用方法以及其他相关事项。换句话说,如果你从未接触过Linux,建议你从《鸟哥的Linux私房菜—基础学习篇》开始学习Linux,否则,对于你来说,本书可能会比较难以理解。
另外,本书经常会提到一些简单的概念而不是僵化的流程,特别是考虑到每个人对站点的要求都不相同,也就是说,每个人的站点实际上都带有个人风格。因此,僵化的流程并没有太大的意义,只要能够根据这些简单的概念来进行站点的架设就可以了。鸟哥认为,你的主机设置应该不会有太大的问题。最担心的是什么呢?最担心的是那些没有接触过Linux,却想直接参考服务器搭建的程序来完成站点架设的朋友,这些朋友最容易忽略后续的维护和管理工作,这也容易导致站点不稳定或者成为网络黑客(Cracker)入侵的主要原因。
本书的主要目的是引导用户进入Linux强大的网络功能世界,书中的范例都是鸟哥自己实际测试过没有问题才写出来的。然而,由于每个人的网络环境和操作习惯不同,因此鸟哥不敢保证书中的范例一定能在你的系统上成功操作。然而,书中会提到一些基本概念,只要你理解这些基本概念并且对Linux的操作熟悉,相信你一定可以利用书中的范例开发出适合你自己的服务器设置。但对于没有接触过Linux的朋友,仍然建议从头学起。至于为什么一定要从头学起,本书在第1章内会详细说明。
章节安排
本书的章节规划主要分为四篇:第一篇是服务器搭建前的进修专区,第二篇是主机的简易安全防护措施,第三篇是局域网内常见服务器的搭建,第四篇是常见Internet服务器的搭建。前两篇的内容都是关于基础的网络概念和实际网络配置,包括重要的网络自我检测和防火墙设置等。这些内容与你的服务器是否能正常工作密切相关,所以在开始服务器的架设之前,请务必先阅读前两篇共计10章的内容。
在第二篇——主机的简易安全防护措施中,我们将介绍在Linux强大的网络功能下可能发生的网络入侵问题。了解这些问题后,当然需要着手解决!因此,我们将说明如何处理TCP/IP、端口、软件漏洞修补和防火墙等问题。那么该如何确保Linux主机的安全呢?“没有绝对安全的主机”是正确的说法,所以,即使你的主机只是一个小站点,也绝不能忽视防火墙的作用。
在第三篇——局域网内常见服务器的搭建中,我们将介绍常用于内部网络的远程连接服务(如SSH、VNC、XRDP)、网络参数配置服务(如DHCP、NTP)、网络驱动器服务(如Samba、NFS、iSCSI)以及代理服务器等。虽然这些章节可以跳着阅读,但我建议花点时间仔细阅读第11章关于连接服务器的内容,特别是SSH的密钥系统对于异地备份非常有帮助!
在第四篇——常见Internet服务器的搭建中,我们将介绍常见的DNS、WWW、FTP和邮件服务器等服务。Internet上需要使用易于记忆的主机名进行连接,因此DNS服务器非常重要!在本版的DNS中,我们加入了简单的视图(View)概念,适用于局域网内的主机联网,你可以参考一下。
本书的章节仍然按照由浅入深的编排顺序,因此希望读者能够从头到尾仔细阅读,不要急于翻到后面抄写一些架设流程。
感谢
感谢自由软件社区志愿者们的软件开发,使我们能够拥有如此出色的操作系统来搭建服务器。也要感谢广大读者的反馈,使鸟哥能够对Linux服务器的原理和配置有更深入的了解。感谢Study Area酷学园的伙伴们的支持,包括netman大大、酷学园版主群、鸟园讨论版主群以及参加实体活动的朋友们。感谢昆山科大的张世熙主任、各位老师和伙伴们在研究方面对我的支持。更要感谢我的学生们,正是因为你们的帮助,鸟哥才有更多的时间来撰写一些关于服务器测试的文章。
最后,亲爱的鸟嫂,感谢你多年来的付出,特别是这两年为家庭添了两个可爱的宝贝:宸宸和轩轩!希望鸟窝一家,以及所有的朋友们都平安、幸福!
鸟哥
评论
还没有评论。