目录 1
第一部分网络互联原理 1
第1章联网硬件 2
1.1 了解以太网 2
1.1.1以太网的类型 2
1.1.2以太网的替代方案 3
1.1.3远程网络 5
1.2网卡 6
1.2.1 ISA网卡和PCI网卡 6
1.2.2以太网地址 7
1.2.3常用的芯片组 8
1.2.4 Linux的驱动程序 9
1.3.1为什么要使用集线器或交换机 10
1.3使用集线器和交换机 10
1.3.2集线器与交换机之间的区别 11
1.3.3冲突 12
1.3.4如何选择集线器和交换机 13
1.4电缆的选择 14
1.5以太网工具套装 15
1.6 DSL和cable modem 15
1.6.1符合预算的高速接入 15
1.6.2硬件和软件需求 17
1.7电话调制解调器 19
1.7.1 modem的速度有多快 19
1.7.2Linux modem兼容性 20
1.7.3更多的modem特性 21
1.8本章小结 23
2.1.1将数据打包和拆包传送 25
第2章 了解TCP/IP协议 25
2.1 TCP/IP协议栈 25
2.1.2 TCP/IP协议栈的各协议层 26
2.1.3例子:跟踪一次网页访问 30
22 TCP/IP协议的替代协议 32
2.2.1 UUCP协议 32
2.2.2 IPX协议 33
2.2.3 NetBIOS协议和NetBEUI协议 33
2.2.4 AppleTalk协议 34
2.2.5混合使用多种协议 35
2.3本章小结 36
3.1端口和套接字 37
3.1.1端口 37
第3章联网服务程序 37
3.1.2套接字 39
3.2客户机/服务器 39
3.2.1客户机的作用 39
3.2.2服务器的作用 39
3.2.3把一台机器既作为客户机又作为服务器使用 41
3.3了解Linux的守护进程 41
3.3.1了解后台处理 42
3.3.2 inetd:“超级服务器” 43
3.3.3启动和停止守护进程 44
3.4弄清楚可用的服务 46
3.4.1使用ftp的远程访问 46
3.4.2用NFS、Samba和Netatalk的文件共享 47
3.4.3用lpd、Samba和Netatalk的打印机共享 47
3.4.5转发邮件 48
3.4 上传网页 48
3.4.6转发新闻 49
3.4.7远程登录 50
3.4.8与更广阔的世界连接 52
3.4.9其他的附加服务程序 53
3.5本章小结 53
第4章内联网和因特网 54
4.1 网络拓扑 54
4.1.1总线拓扑 54
4.1.2星型拓扑 56
4.1.3环形拓扑 57
4.1.4组合拓扑 57
4.1.5因特网主干 61
4.2.1数字网址 63
4.2网络寻址 63
4.3把小型网络和大型网络连接到一起 68
4.3.1与大型内联网连接 68
4.3.2通过ISP把自己所有的计算机连接起来 68
4.3.3用IP伪装使用一个IP地址 70
4.3.4用防火墙保护网络 71
4.4本章小结 72
第二部分配置Linux网络 74
第5章基本的Linux系统配置 74
5.1安装Linux系统 74
5.1.1将硬盘分区 75
5.1.2修改现有的分区模式 78
5.1.3运行Red Hat安装程序 79
5.1.4要选择和留下的软件包 82
5.1.5最终的安装配置 85
5.1.6测试安装 86
5.2配置文件和工具 86
5.2.1/etc目录及其内容 86
5.2.2使用linuxconf 88
5.2.3使用LILO引导Linux 89
5.3建立用户账号 92
5.3.1 户账号的重要性 92
5.3.2使用linuxconf 94
5.3.3用文本模式工具创建账号 95
5.3.4创建账号的提示 96
5.4本章小结 97
6.1.2编译Linux内核的优缺点 98
6.1.1什么是编译 98
6.1理解编译过程 98
第6章编译联网用的Linux系统内核 98
6.2Linux内核版本 99
6.2.1 Linux内核的历史 100
6.2.2获取Linux内核 100
6.3设置内核编译选项 101
6.3.1基本选项 103
6.3.2块类型设备 104
6.3.3网络选项 105
6.3.4 SCSI支持 105
6.3.5网络设备支持 105
6.3.6字符型设备 106
6.3.7鼠标器 107
6.3.8文件系统 107
6.4.1编译内核 109
6.4编译和安装Linux内核 109
6.4.2准备使用编译过的内核 110
6.4.3重新引导系统 113
6.4.4替代的引导方法 114
6.5本章小结 114
第7章配置以太网选项 116
7.1获取必要的信息 117
7.2网络驱动程序配置 117
7.3配置带固定地址的系统 119
7.3.1 设置机器名字 119
7.3.2/etc/hosts文件 120
7.3.3激活接口 122
7.3.4为网络流量选择路由 123
7.3.5初步测试 124
7.3.6设置DNS服务器 125
7.4用DHCP协议进行动态配置 129
7.4.1把DHCP协议作为客户系统 130
7.4.2配置DHCP服务器 130
7.5用linuxconf配置网络 132
7.5.1设置基本的主机信息 132
7.5.2名字服务器规范 132
7.5.3附加选项 133
7.6本章小结 134
第8章用PPP协议进行拨号连接 135
8.1 获取PPP账号 135
8.2配置串行端口 137
8.2.1设置内核选项 137
8.2.2核查设备文件 138
8.2.3使用终端程序测试modem 139
8.3 PPP验证 140
8.4创建PPP脚本程序 142
8.4.1创建ppp-on脚本程序 142
8.4.2创建ppp-on-dialer脚本程序 143
8.4.3对DNS的配置 144
8.4.4创建ppp-off脚本程序 144
8.4.5测试链路 145
8.5使用GUI PPP拨号程序 146
8.6为自动连接建立按需拨号 149
8.6.1必需的内核选项 149
8.6.2配置按需拨号服务程序 149
8.6.3何时使用按需拨号 150
8.7.1解决问题的一般建议 151
8.7 PPP问题的解决 151
8.7.2 modem连接性问题 153
8.7.3验证失败 153
8.7.4连接后挂起和注销 154
8.8本章小结 156
第三部分文件共享 158
第9章文件共享的基本原理 158
9.1有效地使用安装点 158
9.1.1分区和安装点 159
9.1.2输出目录 159
9.1.3链接的作用是什么 161
9.2了解所有权和权限 163
9.2.1所有权和使用权限的概念 163
9.2.2非Linux文件系统的所有权和使用权限 165
9.2.3远程授予所有权和使用权限 167
9.3 Linux和其他操作系统对大小写的区分 168
9.2.4超级用户对文件的访问 168
9.4提供对可移动介质的服务支持 169
9.4.1 支持的文件系统 169
9.4.2安装文件系统 170
9.4.3从远程主机连接可移动介质 172
9.4.4可移动介质的一些怪异行为 173
9.5安全性考虑 174
9.5.1 口令的必要性 174
9.5.2明文口令和加密口令 174
9.6本章小结 175
10.1 有关NFS的内核配置 176
10.2 NFS守护进程 176
第10章NFS:与其他UNIX系统共享文件 176
10.3设置NFS选项 177
10.3.1/etc/exports文件 177
10.3.2使用nfsd选项 179
10.3.3用linuxconf配置NFS 179
10.4 NFS如何管理使用权限 180
10.4.1远程用户和本地用户 180
10.4.2配置用户映像文件 182
10.4.3 root的特殊情况 183
10.5在Linux系统中安装远程NFS卷 183
10.5.1对远程系统使用mount 183
10.5.2配置/etc/fstab以允许用户安装远程卷 184
10.5.3自动安装远程卷 185
10.6本章小结 185
第11章Samba:与DOS、Windows和OS/2系统共享文件 186
11.1 Samba:TCP/IP for Linux承载的NetBIOS 187
11.1.1理解NetBIOS和NetBEUI 187
11.1.2从NetBIOS到TCP/IP的过渡 188
11.1.3 SMB协议 188
11.1.4什么时候使用Samba 188
11.2设置Samba选项 189
11.2.1文本编辑和GUI配置 189
11.2.2/etc/smb.conf文件结构 191
11.2.3设置全局参数 192
11.2.4配置共享份额 196
11.3 Samba守护进程 199
11.3.1独立运行Samba 200
11.4工作组、域和浏览 201
11.3.2从inetd中运行Samba 201
11.4.1工作组和域是什么 202
11.4.2配置Samba以便出现在Windows网上邻居中 204
11.4.3变成域控制器 205
11.4.4从Windows访问共享 205
11.5作为SMB客户系统的Linux 207
11.5.1使用smbclient 208
11.5.2在Linux中安装Windows卷 208
11.6本章小结 210
第12章Netatalk:与Macintosh系统共享文件 211
12.1 AppleTalk协议:Macintosh的 211
基本联网机制 211
12.1.1 Apple系统联网的硬件与软件 211
12.1.3同一个以太网上的TCP/IP和AppleTalk 213
12.2把AppleTalk支持功能编译到系统内核中 213
12.1.2 AppleTalk与TCP/IP之间的差别 213
12.3 atalkd守护进程 214
12.3.1 atalkd配置 214
12.3.2启动atalkd服务程序 215
12.4 afpd守护进程 216
12.4.1配置afpd 216
12.4.2启动AppleTalk文件协议 220
12.5从Macintosh选择Linux输出 221
12.5.1使用Macintosh的选择器 221
12.5.2存取Linux文件 223
12.5.3理解Macintosh的分支 224
12.5.4卸载Netatalk卷 225
12.6共享可移动和联网的介质 225
12.9本章小结 227
12.7安全性考虑 227
12.8在Linux系统中安装Macintosh卷 227
第13章使用Linux备份客户机 229
13.1备份服务器 229
13.1.1备份到磁带 230
13.1.2备份到CD-R或CD-RW 234
13.2初始化服务器的备份 236
13.2.1用tar备份安装的文件系统 237
13.2.2创建定期备份的cron作业 239
13.2.3安全性考虑 241
13.3初始化客户系统的备份 242
13.3.1备份到磁盘 242
13.4.1部分恢复 244
13.4恢复文件 244
13.3.2安全性考虑 244
13.4.2完全恢复和从灾难事故中恢复 247
13.5备份工作中的陷阱 250
13.5.1丢失掉文件系统属性 250
13.5.2 Windows注册表 250
13.5.3 OS/2的扩展属性 251
13.5.4 Macintosh的资源分支 251
13.6有效的备份计划与策略 251
13.7本章小结 252
第四部分打印机共享 254
第14章共享打印机的基本知识 254
14.1 了解Linux系统打印机队列 254
14.1.1打印机队列:打印文件的等待区域 254
14.1.2队列和过滤器 255
14.1.3对于一台打印机使用多个队列 256
14.1.4打印机的转义码和PDL 256
14.1.5 UNIX和Linux系统中PostScript的惯例 257
14.2使用Ghostscript 258
14.2.1使用Ghostscript把PostScript格式转化为其他打印机格式 258
14.2.2获取和安装最新版本的Ghostscript 259
14.2.3 Ghostscript文件与配置 260
14.3使用Ghostscript与直接打印 262
14.3.1使用Ghostscript的优点 262
14.3.2直接打印的优点 263
14.3.3 PostScript打印机 264
14.4在Linux系统中配置打印机 265
14.4.1使用printtool设置打印机 265
14.4.2测试打印机设置 268
14.4.3用手工方式调整配置 269
14.5管理打印机队列 272
14.5.1用lpq查看打印作业 272
14.5.2用lprm清除打印作业 273
14.5.3用lpr打印文件 273
14.5.4用lpc管理打印系统 273
14.6打印机共享安全性的考虑 274
14.7本章小结 275
第15章与其他UNIX系统共享打印机 276
15.1使用lpd共享打印机 276
15.1.1配置Linux去接受远程打印作业 276
15.1.2控制对打印机的访问 278
15.2.1用printtool配置打印功能 279
15.2从Linux把打印输出到远程UNIX打印机 279
15.2.2用手工方式配置/etc/printcap 280
15.2.3链接打印机队列 281
15.3本章小结 282
第16章Samba:与DOS、Windows和OS/2系统共享打印机 283
16.1设置Samba打印机选项 283
16.1.1共享某台或所有的打印机 284
16.1.2设置打印机名 285
16.1.3使打印机成为可浏览的 285
16.1.4附加的打印机选项 286
16.2打印权限 286
16.2.1使用口令控制打印机访问 287
16.2.2使用Linux系统的/etc/printcap用户组控制 288
16.2.3使用hosts allow和hosts deny参数 288
16.3.1安装适当的驱动程序 289
16.3设置Windows的打印功能 289
16.3.2打印文件 292
16.4从Linux把打印输出到远程的SMB/CIFS打印机 293
16.4.1用printtool配置打印队列 294
16.4.2用手工方式配置队列 295
16.5本章小结 296
第17章Netatalk:与Macintosh系统共享打印机 297
17.1 Macintosh风格打印机共享概述 297
17.1.1 Macintosh的打印协议 298
17.1.2了解PPD文件 298
17.2建立远程访问 299
17.2.1准备PPD文件 300
17.2.2配置papd.conf文件 301
17.3配置MacOS的打印功能 302
17.3.1安装驱动程序和PPD文件 303
17.3.2打印文件 304
17.4从Linux把打印输出到远程 305
Macintosh打印机 305
17.4.1直接使用pap 306
17.4.2用psf将作业排成队列 307
17.4.3用papstatus核查打印机 307
17.5本章小结 308
第五部分远程存取 310
第18章用ssh或telnet进行远程登录 310
18.1 为什么需要远程访问程序 310
18.1.1在内联网中访问计算机 310
18.1.2从远程站点访问计算机 311
18.2终端会话期 312
18.2.1使用终端程序 312
18.2.2远程登录 314
18.2.3终端会话期的功能 315
18.3 ssh和telnet的优点 316
18.3.1考虑到便利而使用telnet 316
18.3.2考虑到安全而使用ssh 317
18.4 Telnet和SSH安全性的考虑 319
18.4.1 无人照管终端 319
18.4.2旁观者窥视口令 320
18.4.3 口令被人察觉 321
18.5本章小结 322
第19章用VNC或X服务器远程运行X-Window程序 323
19.1远程X-Window系统访问的用途 323
19.2使用X服务器 324
19.2.1 X服务器软件的例子 324
19.2.2 X-Window系统终端 326
19.2.3登录 327
19.2.4启动X-Window程序 330
19.2.5性能上的考虑 330
19.3使用VNC 331
19.3.1启动Linux中的VNC服务器 332
19.3.2在Windows或Macintosh中使用VNC客户程序 332
19.4在Linux中用VNC访问Windows或MacOS 334
19.5 X-Window系统安全性的考虑 335
19.6本章小结 336
第六部分将内联网与因特网联接 338
第20章一址多机:IP伪装 338
20.1 IP伪装与NAT 339
20.1.1基本的目标:把各个网络联接起来 339
20.1.2 IP伪装的特性 339
20.1.3 NAT的特性 340
20.2.1对内核版本的要求 341
20.2.2需要的内核模块 341
20.2 IP伪装需要的内核选项 341
20.3配置IP伪装 343
20.3.1配置多个网络接口 343
20.3.2附加的配置步骤 346
20.3.3 ipchains实用程序 346
20.3.4配置内部的网络计算机 348
20.3.5测试IP伪装 349
20.4 IP伪装的用途和滥用 350
20.4.1 IP伪装的功能与局限 350
20.4.2做个好网民 354
20.5本章小结 356
21.1.1什么是防火墙 357
第21章配置防火墙 357
21.1 了解防火墙 357
21.1.2什么时候应使用防火墙 363
21.2建立数据分组过滤器 364
21.2.1数据分组过滤需要的内核选项 364
21.2.2使用ipchains 364
21.3建立代理服务器 368
21.3.1安装和配置SOCKS 368
21.3.2激活和撤销服务程序 371
21.3.3使用SOCKS感知应用程序 371
21.4防火墙的照管与维护 373
21.4.1监视安全性日志 373
21.4.2去除不需要的实用程序 373
215本章小结 374
21.4.3不断改进安全性 374
第七部分若干高级话题 376
第22章把计算机设计为LinuX服务器 376
22.1 对CPU的要求 376
22.1.1 CPU的体系结构 376
22.1.2 Linux系统的最低要求 377
22.1.3 CPU/主板的兼容性 378
22.1.4有关速度的建议 378
22.2对内存的要求 379
22.2.1 RAM内存的类型 379
22.2.2 Linux服务器的内存要求 381
22.3.1有关SCSI硬盘和EIDE硬盘的讨论 382
22.3对硬盘的要求 382
22.3.2对硬盘空间的需求 383
22.4有关网卡的建议 384
22.4.1 网卡的速度与类型 384
22.4.2网卡的芯片组 385
22.5附加的硬件提示与建议 386
22.5.1视频卡 386
22.5.2声卡 386
22.5.3附加的打印机端口 387
22.5.4备份硬件 387
22.5.5如何在Linux服务器设计中作好预算 389
22.6本章小结 389
第23章系统管理 391
23.1安装和删除RPM软件包 391
23.1.1了解RPM数据库 392
23.1.2源RPM文件、二进制RPM文件和Noarch RPM文件 392
23.1.3找出有价值的程序文件 393
23.1.4使用rpm程序 394
23.1.5使用gnorpm程序 397
23.2由源代码文件编译程序 400
23.2.1 获取源代码和对源代码解压缩 400
23.2.2配置程序 401
23.2.3编译源代码 401
23.24安装软件 402
23.3检查日志文件 402
23.3.1 syslogd设施 403
23.3.2/var/log目录 403
23.3.3使用swatch监控日志文件 404
23.4本章小结 408
24.1安全的重要性 409
第24章维护安全可靠的系统 409
24.1.1内部安全性:抵御本地的窥视者 410
24.1.2外部安全性:抵御闯入者 412
24.2 口令 413
24.2.1创建好口令的提示 413
24.2.2定期改变口令 415
24.2.3了解隐蔽口令 416
24.2.4坚持好的口令使用习惯 416
24.3控制网络访问 420
24.3.1删除不需要的服务程序 420
24.3.2使用TCP Wrappers 421
24.3.3用xinetd取代inetd 423
2 4.3.4 用ipchains控制存取 426
24.4 Web上的安全信息 427
24.5本章小结 428