《鸟哥的LINUX私房菜 服务器架设篇》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:鸟哥编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2005
  • ISBN:7030155882
  • 页数:667 页
图书介绍:本书介绍了网络基础、基本的网络防护措施、架设安全的服务器等。

第1章 架站前所需的技能 3

1.1 前言 3

目录 3

第1篇 网络基础篇 3

1.2 架站的基本流程 4

1.2.1 了解网络基础 6

1.2.2 了解架站的目的 7

1.2.3 Linux安装硬盘规划 8

1.2.5 服务的包安装、漏洞修补、包升级 10

1.2.4 了解欲架设的网站服务原理 10

1.2.6 主机设置、启动、观察与调试 11

1.2.8 安全性设置 13

1.2.7 客户端设置、观察与调试 13

1.2.9 服务日志、日志文件与备份管理 14

1.3 自我评估是否已经具有架站能力 15

课后练习 16

2.1 关于网络 18

第2章 简易网络基础 18

2.1.3 网络的一般运作流程 19

2.1.2 网络的功能 19

2.1.1 网络是什么 19

2.1.4 TCP/IP与OSI网络七层协议 20

2.2.2 物理层 24

2.2.1 传输单位 24

2.2 网络层的相关协议 24

2.2.3 数据链路层 27

2.3.1 IP的组成 29

2.3 Internet Protocol(IP)的概念 29

2.3.2 网段的概念 30

2.3.3 Netmask的用途与子网的划分 31

2.3.4 IP的种类与IP的获取方式 33

2.4.1 什么是路由(Route) 35

2.4 路由的概念 35

2.4.2 观察主机的路由 37

2.4.3 设置网络需要的一组参数 38

2.5.1 通信端口与Socket pair 39

2.5 数据包的格式 39

2.5.2 数据包的传送 40

2.5.3 TCP和三次握手 41

2.5.4 UDP 43

2.5.5 ICMP 44

2.6 DNS的基本概念 45

2.5.6 数据包过滤防火墙的概念 45

2.7.1 基本组件 46

2.7 基本网络布线模式 46

2.7.2 连网的基本要求 47

2.8.1 网线的等级 48

2.8 网络媒体的选择 48

2.8.3 Switch还是Hub 49

2.8.2 网卡的选购依据 49

重点回顾 50

2.8.4 整体流量的考虑 50

课后练习 51

参考资料 51

特别感谢 51

3.1.1 常见的硬件连接方式 53

3.1 如何组网 53

第3章 局域网构建简介 53

3.1.2 网络设备与连线选购的注意事项 55

3.1.3 内部连接的网络参数 57

3.2 网络连接的方式 58

3.1.4 要安装哪些通信协议 58

3.3.1 Windows 2000的设置方式 60

3.3 Windows个人计算机的设置 60

3.3.2 Windows 98的设置方式 63

3.3.3 Windows XP的设置方式 66

课后练习 68

4.1.4 /etc/resolv.conf 69

4.1.3 /etc/modules.conf 69

第4章 接入Internet 69

4.1 Linux网络相关配置文件 69

4.1.1 /etc/sysconfig/network 69

4.1.2 /etc/sysconfig/network-scrips/ifcfg-ethn 69

4.2.1 手动安装网卡驱动程序 70

4.2 安装网卡 70

4.1.5 /etc/hosts 70

4.2.2 使用Private IP测试网卡 74

4.3.1 固定IP的上网方式:非拨号上网 76

4.3 接入Internet的方法 76

4.3.2 Cable Modem上网方式 78

4.3.3 ADSL拨号上网方式 79

4.3.4 拨号程序rp-pppoe出错处理 85

4.4.1 /etc/hosts 86

4.4 设置内部保留IP与DNS IP 86

4.4.2 resolv.conf 87

4.5 详解无法连网的几大问题 88

课后练习 89

参考文献 89

5.1.1 ifconfig 90

5.1 网络参数设置命令 90

第5章 Linux常用的网络命令 90

5.1.3  route 92

5.1.2 ifup和ifdown 92

5.2 一些网络诊断命令 94

5.2.1 ping 95

5.2.2 traceroute 96

5.3.1 netstat 97

5.3 网络查询命令 97

5.3.2 host 99

5.3.3 nslookup 100

5.4.1 telnet 101

5.4 远程连接使用命令:telnet,ftp,ncftp 101

5.4.2 ftp 102

5.4.3 ncftp 103

5.5.1 lynx 105

5.5 文本网页浏览:lynx,wget 105

5.5.2 wget 107

5.6 终端机的中文显示:jmcce计划 108

5.7.1 找出MTU值 112

5.7 连不上某些网站的处理方法:修改MTU 112

5.7.2 修改MTU值 114

课后练习 115

参考资料 116

第6章 Linux网络排错七步骤 117

6.1 网络硬件传输的问题 118

6.3 解决问题的方法 119

6.2 软件设置的问题 119

6.3.1 步骤一:确认网卡工作正常 120

6.3.2 步骤二:确认局域网硬件连接 124

6.3.4 步骤四:确认DNS的设置 126

6.3.3 步骤三:确认路由表没有问题 126

6.3.5 步骤五:NAT功能(或IP共享器)是否正常 127

6.3.6 步骤六:ADSL或router的问题 128

6.3.7 步骤七:主机服务是否关掉与服务权限的问题 129

7.1 什么是端口 133

第7章 限制Linux的对外连接端口 133

第2篇 简易防火措施篇 133

7.1.1 总共有多少端口?哪些是保留端口 134

7.1.2 Server/Client连接建立的TCP三次握手 135

7.2 如何查看端口 136

7.1.3 安全性 136

7.2.1 使用netstat命令 137

7.2.2 使用nmap包 140

7.3 如何关闭或启动一个端口 142

7.4 设置开机时启动服务的方法 143

7.5 安全性:关闭所有对外开放的端口 145

课后练习 146

8.1 为何要升级Linux 147

第8章 在线升级Linux包 147

8.2 以up2date进行Linux包升级 148

8.2.2 注册 150

8.2.1 安装或更新up2date与rhn_register包 150

8.2.3 开始使用up2date 157

8.3 Mandrake的urpmi升级 158

8.2.4 结语 158

8.3.2 选择放置RPM文件的媒体 159

8.3.1 urpmi的包结构 159

8.3.3 升级:urpmi.update,urpmi 161

8.4 APT的使用 162

8.3.4 每日自动升级 162

8.5 鸟哥的自动更新程序 164

课后练习 167

参考资料 167

重点回顾 167

9.1.2 如何实现 168

9.1.1 为何需要多个IP 168

第9章 设置多个IP地址与路由器 168

9.1 在一块网卡上设置多个IP地址 168

9.1.3 通过命令行手动设置多个IP地址 169

9.1.5 需要注意的地方 171

9.1.4 以设备配置文件设置多个IP地址 171

9.2.2 为何需要路由器 172

9.2.1 什么是路由器 172

9.2 路由器 172

9.2.3 查看与修改路由 173

9.3 一个路由器架设范例 175

9.3.2 开始设置 176

9.3.1 测试环境说明 176

9.3.3 测试路由器 178

9.4 架设路由器的建议 180

课后练习 181

重点回顾 181

10.1.1 认识TCP/IP 182

10.1 TCP/IP数据包进入主机的基本流程 182

第10章 认识网络安全 182

10.1.2 TCP数据包进入主机的简易流程 183

10.2 一些常见的攻击手法 185

10.3 主机防护计划 186

10.4 系统管理员要掌握的技能 188

10.5 被入侵后的修复工作 189

课后练习 191

重点回顾 191

参考资料 192

11.1.1 为何需要防火墙 193

11.1 防火墙 193

第11章 简易防火墙的架设 193

11.1.2 防火墙的主要类型 194

11.1.3 常见的防火墙部署方法与数据包过滤技巧 195

11.2.1 Linux内核版本与防火墙机制 198

11.2 Linux的数据包过滤机制 198

11.1.4 防火墙的限制 198

11.2.2 iptables的表格与数据包进入主机的流程 199

11.2.3 iptables的语法 202

11.3 一个简单的防火墙设置 208

11.4 TCP_Wrappers 214

参考资料 218

重点回顾 218

课后练习 219

12.1.1 主机名称的由来 220

12.1 为何需要主机名称 220

第12章 申请合法的主机名称 220

12.1.2 关于DNS的查询流程 221

12.1.4 申请静态还是动态DNS主机名称 222

12.1.3 重点在合法授权 222

12.2 注册一个合法的主机名称 223

12.2.1 静态DNS的申请 224

12.2.2 动态DNS的申请——http://www.adsldns.org 225

12.2.3 动态DNS的申请——http://www.no-ip.com 231

参考资料 235

课后练习 235

13.1 远程连接程序的功能 239

第13章 简易Telnet与SSH主机架设 239

第3篇 服务器架设篇 239

13.2 Telnet服务器 240

13.2.1 telnet服务器:服务安装、启动和关闭 241

13.2.2 telnet客户端:好用的软件 243

13.2.3 telnet安全性:iptables、TCP_Wrappers、一些建议 244

13.3 SSH服务器 246

13.3.1 连接加密技术简介 247

13.3.2 启动ssh服务 248

13.3.3 ssh客户端连接 249

13.3.4 详细设置sshd服务器 254

13.3.5 制作不用密码可立即登入的ssh用户 257

13.3.6 安全设置 259

参考资料 260

课后练习 260

14.1.1 NAT的功能 261

14.1 什么是NAT 261

第14章 简易NAT服务器架设 261

14.1.4 谁需要架设NAT 263

14.1.3 内核版本 263

14.1.2 连网示意图 263

14.2.1 一块网卡的NAT架设 264

14.2 NAT的设置 264

14.2.2 两块网卡的NAT架设 269

14.4 安全性 270

14.3 客户端的设置 270

14.2.3 观察路由信息 270

课后练习 271

15.1.1 什么是NFS 272

15.1 NFS的由来及其功能 272

第15章 简易NFS服务器架设 272

15.1.2 什么是RPC 273

15.2 需要的包 274

15.1.3 NFS启动的RPC daemons 274

15.3.3 设置流程(/etc/exports) 275

15.3.2 主机规划技巧建议 275

15.3 Server端的设置 275

15.3.1 NFS软件的结构 275

15.3.4 RPC服务器的相关命令 282

15.4.1 挂载远程主机 283

15.4 Client端的设置 283

15.4.2 可能发生的问题 284

15.6 安全设置(被防火墙过滤掉) 285

15.5 关机或结束时的注意事项 285

15.7 实际演练 286

参考资料 288

重点回顾 288

课后练习 289

16.1.1 什么是DHCP 290

16.1 DHCP的工作原理 290

第16章 简易DHCP服务器架设 290

16.1.2 DHCP的工作方式 291

16.1.3 什么时候需要DHCP 294

16.3.1 DHCP包结构 295

16.3 设置DHCP服务器 295

16.2 包安装 295

16.3.3 设置流程 296

16.3.2 主机的规划技巧 296

16.4 设置DHCP客户端 301

16.5 调试与查看租约文件 304

课后练习 306

参考资料 306

重点回顾 306

17.1.1 什么是DNS 307

17.1 原理部分 307

第17章 简易DNS服务器架设 307

17.1.2 DNS的查询过程 309

17.1.3 授权的意义 312

17.1.5 正解、反解和Zone的含义 313

17.1.4 网站代管还是自己设置DNS 313

17.1.6 架设DNS所需的软件包 315

17.2 设置部分 316

17.3.1 文件设置 330

17.3 Client端的设置 330

17.3.2 测试DNS设置 331

17.4.1 子网段授权问题 335

17.4 高级设置 335

17.4.2 架设一个合法授权的DNS主机 336

参考资料 338

重点回顾 338

课后练习 339

18.1.1 WWW与URL 340

18.1 原理 340

第18章 简易WWW服务器架设 340

18.1.2 客户端如何向服务器端请求数据 341

18.1.3 有哪些类型的WWW网站?什么是LAMP 342

18.1.4 SSL与CA的认证机制 344

18.2.1 以RPM方式安装LAMP 345

18.2 软件包安装 345

18.2.2 以Tarball方式安装LAMP(Apache 2.xx) 347

18.3 设置主机 356

18.2.3 升级与安装方式的选择 356

18.3.1 LAMP的包结构与主机规划 357

18.3.3 最简易的Apache设置 358

18.3.2 基本要求 358

18.3.4 启动httpd(如何关闭https) 363

18.3.5 测试结果 364

18.3.6 启动用户的个人网页 365

18.4.1 CGI的执行、显示Index、设置找不到网页时的显示 366

18.4 高级安全设置 366

18.4.2 抵挡IP与限制用户的设置(allow,deny,limit) 369

18.4.3 设置说明主机状态的网页 370

18.4.4 关于权限的意义说明与设置 371

18.4.5 设置认证网页 372

18.4.6 .htaccess文件与AllowOverride设置的用途 375

18.5.1 syslog与logrotate 377

18.5 日志文件分析与其重要性 377

18.4.7 防火墙 377

18.5.2 Web Analyser 378

18.6 架设虚拟主机 382

18.7 客户端的文本模式的浏览器 384

18.8.1 MM Cache增强速度模块 385

18.8 加快PHP程序执行速度的模块 385

18.8.2 Apache的效率测试 387

18.9 离线浏览软件与抵挡Nimda病毒的脚本 388

18.11 问题讨论 389

18.10 安装phpBB2论坛 389

课后练习 391

19.1.1 SAMBA的发展历史与名称的由来 392

19.1 原理 392

第19章 简易SAMBA服务器架设 392

19.1.2 SAMBA的应用功能 393

19.1.3 NetBIOS通信协议 394

19.1.5 连接模式介绍 395

19.1.4 SAMBA使用的daemons 395

19.2.2 使用Tarball来安装 398

19.2.1 使用RPM安装 398

19.2 包安装 398

19.3.1 SAMBA的包结构 400

19.3 Server端的设置 400

19.3.3 基础的设置流程与smb.conf的主要规划 402

19.3.2 主机规划的建议 402

19.3.4 没有限制的SAMBA共享文件设置 405

19.3.5 设置需要用户登入的Workgroup 409

19.3.6 设置大型网段的Linux SambaPDC主机 414

19.3.7 设置为打印机服务器 427

19.4 Client端的设置 432

19.4.2 设置在Linux上浏览Windows共享文件 433

19.4.1 设置在Windows上浏览Linux共享文件 433

19.5 安全方面的设置 436

19.5.1 配合quota设置用户的使用空间 437

19.5.3 如何设置daemons的阻挡功能(hosts allow参数) 438

19.5.2 如何设置iptables防火墙 438

19.6 克服问题 439

19.5.4 备份内容 439

课后练习 440

参考资料 440

20.1 前言 441

第20章 简易邮件服务器架设——Sendmail 441

20.2.1 邮件服务器与DNS系统的关系 442

20.2 邮件服务器工作原理 442

20.2.2 邮件的传送流程、MUA、MTA、MDA 443

20.2.4 什么是Relay与认证机制 447

20.2.3 使用的协议 447

20.3 软件包安装 448

20.4 主机的设置 449

20.3.2 使用RPM安装IMAP包 449

20.3.1 使用RPM安装sendmail(适用于Linux原本使用sendmail) 449

20.4.1 Sendmail Server的文件架构与基础说明 450

20.4.2 使用m4简易设置sendmail 452

20.4.3 启动邮件服务器 455

20.4.4 设置主机名称 456

20.4.5 设置邮件服务器使用权限/etc/mail/access 457

20.4.6 重要概念:一封信件的收受流程 458

20.4.7 设置用户别名/etc/aliases 460

20.4.9 查看信件队列(mailq)与Mailers状态 464

20.4.8 设置邮件转发~/.forward 464

20.5.1 在Linux下使用邮件功能 466

20.5 客户端的使用说明 466

20.5.2 在Linux下使用telnet 470

20.5.3 X-Window与Windows的MUA功能 471

20.6.2 SMTP认证 474

20.6.1 sendmail本身的安全设置项(Sendmail官方建议) 474

20.6 邮件主机的安全设置 474

20.6.3 使用ORDB抵挡open relay邮件主机的机制说明与操作 478

20.6.4 Procmail相关说明 480

20.7 Tarball安装方式 485

20.8.1 无法寄信时的可能问题与解决之道 492

20.8 其他应用说明 492

20.8.2 关于备份 494

20.8.3 关于quota的设置与转移/var/spool/mail目录 495

课后练习 496

参考资料 496

21.1.1 学习本章之前需要了解的知识 497

21.1 前言 497

第21章 简易邮件服务器架设——Postfix 497

21.2 软件包安装 498

21.1.2 为什么要有Postfix 498

21.2.1 使用RPM安装完整的Postfix+POP3+SMTP+Procmail 499

21.2.2 使用Tarball安装完整的Postfix+POP3+SMTP+Procmail(适用任何版本的Linux) 502

21.3.1 Postfix的结构 505

21.3 主机的设置 505

21.3.2 基础设置 507

21.3.4 启动smtp邮件认证功能 511

21.3.3 重要观念:Postfix默认的Relay流程与接收信件的流程 511

21.4 客户端的使用说明 515

21.5 关于邮件主机安全的设置 515

21.3.5 几个相关的文件说明 515

21.5.3 关于邮件过滤的规则设置 516

21.5.2 关于Procmail用法 516

21.5.1 关于Open Relay Data Base 516

21.6 其他应用说明 519

21.5.4 问题信件的送达notify_classes 519

课后练习 520

参考资料 520

22.1.1 FTP功能简介 521

22.1 原理 521

第22章 简易FTP服务器架设——Wu FTP 521

22.1.2 FTP的工作流程与使用的端口 522

22.1.3 什么是被动的连网 524

22.1.5 设置FTP的用户权限 525

22.1.4 FTP的安全性问题与替代方案 525

22.2 软件包安装 526

22.3.2 最简单的ftpaccess配置文件 527

22.3.1 Wu FTP的结构 527

22.3 Server端设置 527

22.3.3 使用Super daemon管理FTP 532

22.3.4 欢迎画面的建立、Readme文件与关闭FTP信息内容 533

22.3.5 限制最大在线人数 535

22.3.7 与时间相关的设置项目 536

22.3.6 限制与取消用户的主目录 536

22.3.8 上传下载的流量限制项目 537

22.3.9 创建guest user与guest user的主目录 539

22.3.10 anonymous的根目录与建立可上传目录 540

22.3.12 拒绝与允许某些用户的登录 541

22.3.11 针对用户(real,guest,anonymous)的限制设置项目 541

22.3.14 建立被动端口供客户端登录 544

22.3.13 目录与链接文件的问题 544

22.3.15 修改FTP默认的端口21的连网 545

22.3.16 一个多样化的实例 546

22.4 客户端使用的FTP软件 549

22.4.2 ncftp 550

22.4.1 ftp 550

22.5 Server端的安全设置项目 551

22.5.3 PAM模块与/etc/ftpusers的关系 552

22.5.2 TCP_Wrappers 552

22.5.1 iptables 552

课后练习 553

参考资料 553

22.5.4 FTP自身提供的用于抵挡username或host的控件 553

重点回顾 553

23.1.1 要使用Professional FTPD的原因 555

23.1 前言 555

第23章 简易FTP服务器架设——Pro FTPD 555

23.2 软件包安装 556

23.1.2 架设之前需要了解的原理 556

23.3.1 proftpd的结构 559

23.3 Server端设置 559

23.3.2 proftpd.conf的设置方式 560

23.3.3 最简单的proftpd.conf配置文件 562

23.3.4 针对实体用户的设置 563

23.3.5 针对匿名用户的设置 565

23.3.6 建立特殊交流账号(建立一个ftpguest组,将所有的guset设置在这个组中) 567

23.4 Client端的设置 570

23.3.7 小结 570

课后练习 571

参考资料 571

24.1 前言 572

第24章 简易vsftpd服务器架设 572

24.2.2 以Tarball安装 573

24.2.1 以RPM安装 573

24.2 软件包安装 573

24.3.1 vsftpd的包结构 575

24.3 Server端的设置 575

24.3.2 vsftpd.conf设置值说明 576

24.3.3 最简单的vsftpd.conf设置 580

24.3.4 针对仅开放实体用户登录的设置 581

24.3.5 针对仅开放匿名用户登录的设置 584

24.5 相关的安全设置 585

24.4 Client端的设置 585

24.5.2 Super daemon的管理 586

24.5.1 设置防火墙 586

24.6 对于选择FTP服务器软件的建议 587

24.5.3 问题解决方案 587

参考资料 588

25.1.1 什么是代理服务器 589

25.1 原理 589

第25章 简易Proxy服务器架设 589

25.1.2 代理服务器的工作流程 590

25.1.3 代理服务器的用途与优缺点 591

25.1.4 什么是上层代理服务器?哪里有上层代理服务器 593

25.1.6 硬件要求与最佳硬件配置方式 594

25.1.5 是否一定要设置Proxy 594

25.1.7 代理服务器与NAT主机的差异 595

25.2.1 使用RPM方式安装Squid 596

25.2 软件包安装 596

25.2.2 使用Tarball方式安装Squid 597

25.3 Server端设置 598

25.3.2 squid的process owner与cache directory owner 599

25.3.1 Squid的结构 599

25.3.3 最简易的设置squid的方法 600

25.3.4 内存与磁盘缓存的百分比设置 603

25.3.5 acl的用法与用途 605

25.3.6 选择上层Proxy与分流负载的设置方法 606

25.3.8 总是系统自己去获取数据(always_direct) 609

25.3.7 与时间相关的设置值(connect_timeout,request_timeout) 609

25.3.9 限制使用proxy的用户(acl and http_access) 610

25.3.10 其他的功能参数 612

25.4.1 Netscape 613

25.4 设置Client端 613

25.4.2 Internet Explorer 614

25.5.1 数据分析软件pwebstats 616

25.5 Server端高级设置 616

25.5.2 数据分析软件sarg 621

25.5.4 NAT与Proxy通过transparent proxy设置加快网络传输 624

25.5.3 防火墙的规划 624

25.5.5 squid的注意事项 625

参考资料 626

重点回顾 626

课后练习 627

26.1.1 什么是NIS与NIS的主要功能 628

26.1 原理 628

第26章 简易NIS服务器架设 628

26.1.2 NIS的工作流程 629

26.2 软件包安装 630

26.1.4 NIS Server的master与slave架构 630

26.1.3 NIS与RPC的关系 630

26.3.2 NIS Server设置流程 631

26.3.1 NIS Server的结构 631

26.3 Server端设置 631

26.4.2 NIS Client的设置流程 636

26.4.1 NIS Client的结构 636

26.4 Client端设置 636

26.4.3 NIS Client端检验NIS设置:yptest,ypwhich,ypcat 639

26.4.4 修改用户密码(需要有root身份):yppasswd,ypchfn,ypchsh 640

26.5.1 NIS与NFS的结合 641

26.5 主机上的高级设置 641

重点回顾 642

26.5.2 防火墙的规划 642

课后练习 643

参考资料 643

27.1.1 时区 645

27.1 原理 645

第27章 简易NTP服务器架设 645

27.1.4 NTP 647

27.1.3 协和标准时间与系统时间的误差 647

27.1.2 夏令时时间(daylight savings) 647

27.2.1 使用RPM安装 648

27.2 软件包安装 648

27.3.1 NTP的包结构 649

27.3 Server端的设置 649

27.2.2 使用Tarball安装 649

27.3.3 编辑主要配置文件/etc/ntp.conf 650

27.3.2 主机的规划技巧 650

27.3.4 NTP的启动与查看 653

27.4.1 如何调整Linux系统的时区与手动设置时间(date MMDDhhmmYYYY) 654

27.4 Client端的设置 654

27.4.3 在Windows系统上进行网络校时 655

27.4.2 在Linux系统中自动进行网络校时 655

课后练习 656

参考资料 656

27.5 相关安全设置 656

28.1.1 为什么要架设APT服务器 657

28.1 前言 657

第28章 简易APT服务器架设 657

28.1.2 APT服务器的机制 658

28.1.3 架设前需要启用的服务 659

28.2 软件包安装 660

28.3.2 APT的包结构 661

28.3.1 架设APT的基本要求 661

28.3 Server端的设置 661

28.3.4 设置由HTTP提供服务的APT主机 664

28.3.3 主机的规划技巧与建议 664

参考资料 667

28.4 Client端的设置 667