Linux 的高级路由和流量控制 HOWTO
中文版
1
Bert Hubert
Netherlabs BV
bert.hubert@netherlabs.nl
Gregory Maxwell (章节作者)
remco%virtu.nl
Remco van Mook (章节作者)
remco@virtu.nl
Martijn van Oosterhout (章节作者)
kleptog@cupid.suninternet.com
Paul B Schroeder (章节作者)
paulsch@us.ibm.com
Jasper Spaans (章节作者)
jasper@spaans.ds9a.nl
Pedro Larroy (章节作者)
piotr%omega.resa.ed
一个非常上手的关于 iproute2、流量整形和一点 netfilter 的指南。
2
译者序
可以说,翻译这篇文档的过程就是我重新学习 Linux 的过程。与原文的作者感受
相似,当我根据这篇文档大致了解了 Linux 在 IP 方面的功能后,绝对是“it really
blew me away!”。才发现我以前一直是把 Linux 当成 UNIX 来用,Linux 本身很
多精彩的功能都被我忽略了。
看来 Linux 在路由方面的设计的确非常独到。
但愿这篇文章的内容能够对您应用 Linux 有所帮助。
本文档的原作实际上还尚未完成,估计要等到 Linux 的 2.6 版内核发布之后才能
最终定稿。但是我已经等不及了,非常希望尽快与各位共享这篇文档。如果这篇
文档的原作完成,我会尽力追踪翻译。
这里是本 HOWTO 的正规出处。
由于本人的英语和语文都是业余水平,有两三处晦涩或者与技术无关的内容没有
翻译,希望英语高手予以指点。如有词不达意甚至理解错误之处,非常渴望您能
通过 Email 告知!谢谢!
2/15/2003 5:28 PM 译毕
JohnBull <deathumb@95700.net>
3
目录
第 1 章 贡献 1
第 2 章 简介 2
2.1. 除外责任与许可 2
2.2. 预备知识 2
2.3. L
INUX
能为你做什么 3
2.4. 内务声明 3
2.5. 访问、CVS 和提交更新 4
2.6. 邮件列表 4
2.7. 本文档的布局 4
第 3 章 介绍 IPROUTE2 6
3.1 为什么使用
IPROUTE
2? 6
3.2
IPROUTE
2 概览 6
3.3 先决条件 6
3.4 浏览你的当前配置 7
3.4.1.
让
ip
显示我们的链路
7
3.4.2.
让
ip
显示我们的
IP
地址
7
3.4.3.
让
ip
显示路由
8
3.5. ARP 9
第 4 章 规则——路由策略数据库 11
4.1. 简单的源策略路由 11
4.2. 多重上连 ISP 的路由 12
4.2.1.
流量分割
13
4.2.2.
负载均衡
14
第 5 章 GRE 和其他隧道 15
5.1. 关于隧道的几点注释 15
5.2. IP-
IN
-IP 隧道 15
5.3. GRE 隧道 16
4
5.3.1. IPv4
隧道
16
5.3.2. IPv6
隧道
18
5.4. 用户级隧道 18
第 6 章 用 CISCO 和 6BONE 实现 IPV6 隧道 19
6.1. IP
V
6 隧道 19
第 7 章 IPSEC:INTERNET 上安全的 IP 22
7.1. 从手动密钥管理开始 22
7.2. 自动密钥管理 25
7.2.1.
理论
26
7.2.2.
举例
26
7.2.3.
使用
X.509
证书进行自动密钥管理
29
7.3. IPSEC 隧道 32
7.4. 其它 IPSEC 软件 33
7.5. IPSEC 与其它系统的互操作 33
7.5.1. Windows 33
第 8 章 多播路由 34
第 9 章 带宽管理的队列规定 36
9.1. 解释队列和队列规定 36
9.2. 简单的无类队列规定 37
9.2.1. pfifo_fast 37
9.2.2.
令牌桶过滤器
(TBF) 39
9.2.3.
随机公平队列
(SFQ) 41
9.3. 关于什么时候用哪种队列的建议 42
9.4. 术语 43
9.5. 分类的队列规定 45
9.5.1.
分类的队列规定及其类中的数据流向
45
9.5.2.
队列规定家族:根、句柄、兄弟和父辈
45
9.5.3. PRIO
队列规定
46
9.5.4.
著名的
CBQ
队列规定
48
9.5.5. HTB(Hierarchical Token Bucket,
分层的令牌桶
) 54
5