logo资料库

Linux 的高级路由和流量控制 HOWTO LARTC-zh_CN.GB2312.pdf

第1页 / 共130页
第2页 / 共130页
第3页 / 共130页
第4页 / 共130页
第5页 / 共130页
第6页 / 共130页
第7页 / 共130页
第8页 / 共130页
资料共130页,剩余部分请下载后查看
第1章 贡献
第2章 简介
2.1. 除外责任与许可
2.2. 预备知识
2.3. Linux能为你做什么
2.4. 内务声明
2.5. 访问、CVS和提交更新
2.6. 邮件列表
2.7. 本文档的布局
第3章 介绍 iproute2
3.1 为什么使用 iproute2?
3.2 iproute2 概览
3.3 先决条件
3.4 浏览你的当前配置
3.4.1. 让ip显示我们的链路
3.4.2. 让ip显示我们的 IP 地址
3.4.3. 让ip显示路由
3.5. ARP
第4章 规则——路由策略数据库
4.1. 简单的源策略路由
4.2. 多重上连ISP的路由
4.2.1. 流量分割
4.2.2. 负载均衡
第5章 GRE 和其他隧道
5.1. 关于隧道的几点注释
5.2. IP-in-IP 隧道
5.3. GRE 隧道
5.3.1. IPv4隧道
5.3.2. IPv6隧道
5.4. 用户级隧道
第6章 用Cisco和6bone实现IPv6隧道
6.1. IPv6隧道
第7章 IPSEC:Internet上安全的IP
7.1. 从手动密钥管理开始
7.2. 自动密钥管理
7.2.1. 理论
7.2.2. 举例
7.2.2.1. 问题和常见的疏忽
7.2.3. 使用X.509证书进行自动密钥管理
7.2.3.1. 为你的主机生成一个X.509证书
7.2.3.2. 设置并启动
7.2.3.3. 如何安全地建立隧道
7.3. IPSEC隧道
7.4. 其它IPSEC软件
7.5. IPSEC与其它系统的互操作
7.5.1. Windows
第8章 多播路由
第9章 带宽管理的队列规定
9.1. 解释队列和队列规定
9.2. 简单的无类队列规定
9.2.1. pfifo_fast
9.2.1.1. 参数与使用
9.2.2. 令牌桶过滤器\(TBF\)
9.2.2.1. 参数与使用
9.2.2.2. 配置范例
9.2.3. 随机公平队列\(SFQ\)
9.2.3.1. 参数与使用
9.2.3.2. 配置范例
9.3. 关于什么时候用哪种队列的建议
9.4. 术语
9.5. 分类的队列规定
9.5.1. 分类的队列规定及其类中的数据流向
9.5.2. 队列规定家族:根、句柄、兄弟和父辈
9.5.2.1. 如何用过滤器进行分类
9.5.2.2. 数据包如何出队并交给硬件
9.5.3. PRIO队列规定
9.5.3.1. PRIO的参数与使用
9.5.3.2. 配置范例
9.5.4. 著名的CBQ队列规定
9.5.4.1. CBQ整形的细节
9.5.4.2. CBQ在分类方面的行为
9.5.4.3. 决定链路的共享和借用的CBQ参数
9.5.4.4. 配置范例
9.5.4.5. 其它CBQ参数:split和defmap
9.5.5. HTB\(Hierarchical Token Bucket, 分层的令牌桶\)
9.5.5.1. 配置范例
9.6. 使用过滤器对数据包进行分类
9.6.1. 过滤器的一些简单范例
9.6.2. 常用到的过滤命令一览
9.7. IMQ\(Intermediate queueing device,中介队列设备\�
9.7.1. 配置范例
第10章 多网卡的负载均衡
10.1. 告诫
10.2. 其它可能性
第11章 Netfilter和iproute——给数据包作标记
第12章 对包进行分类的高级过滤器
12.1. u32分类器
12.1.1. U32选择器
12.1.2. 普通选择器
12.1.3. 特殊选择器
12.2. 路由分类器
12.3. 管制分类器
12.3.1. 管制的方式
12.3.1.1. 靠内核评估
12.3.1.2. 靠令牌桶过滤器
12.3.2. 越限动作
12.3.3. 范例
12.4. 当过滤器很多时如何使用散列表
第13章 内核网络参数
13.1. 反向路径过滤
13.2. 深层设置
13.2.1. ipv4一般设置
13.2.2. 网卡的分别设置
13.2.3. 邻居策略
13.2.4. 路由设置
第14章 不经常使用的高级队列规定
14.1. bfifo/pfifo
14.1.1. 参数与使用
14.2. Clark-Shenker-Zhang算法 \(CSZ\)
14.3. DSMARK
14.3.1. 介绍
14.3.2. Dsmark与什么相关?
14.3.3. Differentiated Services指导
14.3.4. 使用Dsmark
14.3.5. SCH_DSMARK如何工作
14.3.6. TC_INDEX过滤器
14.4. 入口队列规定
14.4.1. 参数与使用
14.5. RED\(Random Early Detection,随机提前检测\)
14.6. GRED\(Generic Random Early Detection,一般的随机
14.7. VC/ATM模拟
14.8. WRR\(Weighted Round Robin,加权轮转\)
第15章 方便菜谱
15.1. 用不同的SLA运行多个网站。
15.2. 防护SYN洪水攻击
15.3. 为防止DDoS而对ICMP限速
15.4. 为交互流量设置优先权
15.5. 使用netfilter、iproute2和squid实现WEB透明代理
15.5.1. 实现之后的数据流图
15.6. 与PMTU发现有关的“基于路由的MTU设置”
15.6.1. 解决方案
15.7. 与PMTU发现有关的MSS箝位(给ADSL,cable,PPPoE和PPtP用户)
15.8. 终极的流量控制:低延迟、高速上/下载
15.8.1. 为什么缺省设置不让人满意
15.8.2. 实际的脚本\(CBQ\)
15.8.3. 实际的脚本\(HTB\)
15.9. 为单个主机或子网限速
15.10. 一个完全NAT和QoS的范例
15.10.1. 开始优化那不多的带宽
15.10.2. 对数据包分类
15.10.3. 改进设置
15.10.4. 让上面的设置开机时自动执行
第16章 构建网桥以及用ARP代理构建伪网桥
16.1. 桥接与iptables的关系
16.2. 桥接与流量整形
16.3. 用ARP代理实现伪网桥
16.3.1. ARP和ARP代理
16.3.2. 实现
第17章 动态路由——OSPF和BGP
17.1. 用Zebra设置OSPF
17.1.1. 必要条件
17.1.2. 配置Zebra
17.1.3. 运行Zebra
第18章 其它可能性
第19章 进一步学习
第20章 鸣谢
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 3
目录 第 1 章 贡献 第 2 章 简介 2.1. 除外责任与许可 2.2. 预备知识 2.3. LINUX 能为你做什么 2.4. 内务声明 2.5. 访问、CVS 和提交更新 2.6. 邮件列表 2.7. 本文档的布局 第 3 章 介绍 IPROUTE2 3.1 为什么使用 IPROUTE2? 3.2 IPROUTE2 概览 3.3 先决条件 3.4 浏览你的当前配置 3.4.1. 让ip 显示我们的链路 3.4.2. 让ip 显示我们的 IP 地址 3.4.3. 让ip 显示路由 3.5. ARP 第 4 章 规则——路由策略数据库 4.1. 简单的源策略路由 4.2. 多重上连 ISP 的路由 4.2.1. 流量分割 4.2.2. 负载均衡 第 5 章 GRE 和其他隧道 5.1. 关于隧道的几点注释 5.2. IP-IN-IP 隧道 5.3. GRE 隧道 4 1 2 2 2 3 3 4 4 4 6 6 6 6 7 7 7 8 9 11 11 12 13 14 15 15 15 16
5.3.1. IPv4 隧道 5.3.2. IPv6 隧道 5.4. 用户级隧道 第 6 章 用 CISCO 和 6BONE 实现 IPV6 隧道 6.1. IPV6 隧道 第 7 章 IPSEC:INTERNET 上安全的 IP 7.1. 从手动密钥管理开始 7.2. 自动密钥管理 7.2.1. 理论 7.2.2. 举例 7.2.3. 使用X.509 证书进行自动密钥管理 7.3. IPSEC 隧道 7.4. 其它 IPSEC 软件 7.5. IPSEC 与其它系统的互操作 7.5.1. Windows 第 8 章 多播路由 第 9 章 带宽管理的队列规定 9.1. 解释队列和队列规定 9.2. 简单的无类队列规定 9.2.1. pfifo_fast 9.2.2. 令牌桶过滤器(TBF) 9.2.3. 随机公平队列(SFQ) 9.3. 关于什么时候用哪种队列的建议 9.4. 术语 9.5. 分类的队列规定 9.5.1. 分类的队列规定及其类中的数据流向 9.5.2. 队列规定家族:根、句柄、兄弟和父辈 9.5.3. PRIO 队列规定 9.5.4. 著名的CBQ 队列规定 9.5.5. HTB(Hierarchical Token Bucket, 分层的令牌桶) 16 18 18 19 19 22 22 25 26 26 29 32 33 33 33 34 36 36 37 37 39 41 42 43 45 45 45 46 48 54 5
9.6. 使用过滤器对数据包进行分类 9.6.1. 过滤器的一些简单范例 9.6.2. 常用到的过滤命令一览 9.7. IMQ(INTERMEDIATE QUEUEING DEVICE,中介队列设备) 9.7.1. 配置范例 第 10 章 多网卡的负载均衡 10.1. 告诫 10.2. 其它可能性 第 11 章 NETFILTER 和 IPROUTE——给数据包作标记 第 12 章 对包进行分类的高级过滤器 12.1. U32 分类器 12.1.1. U32 选择器 12.1.2. 普通选择器 12.1.3. 特殊选择器 12.2. 路由分类器 12.3. 管制分类器 12.3.1. 管制的方式 12.3.2. 越限动作 12.3.3. 范例 12.4. 当过滤器很多时如何使用散列表 第 13 章 内核网络参数 13.1. 反向路径过滤 13.2. 深层设置 13.2.1. ipv4 一般设置 13.2.2. 网卡的分别设置 13.2.3. 邻居策略 13.2.4. 路由设置 第 14 章 不经常使用的高级队列规定 14.1. BFIFO/PFIFO 14.1.1. 参数与使用 6 55 56 57 58 58 60 61 61 62 64 65 65 66 67 67 68 68 69 70 70 72 72 73 73 78 79 80 82 82 82
14.2. CLARK-SHENKER-ZHANG 算法 (CSZ) 14.3. DSMARK 14.3.1. 介绍 14.3.2. Dsmark 与什么相关? 14.3.3. Differentiated Services 指导 14.3.4. 使用Dsmark 14.3.5. SCH_DSMARK 如何工作 14.3.6. TC_INDEX 过滤器 14.4. 入口队列规定 14.4.1. 参数与使用 14.5. RED(RANDOM EARLY DETECTION,随机提前检测) 14.6. GRED(GENERIC RANDOM EARLY DETECTION,一般的随机提前检测) 14.7. VC/ATM 模拟 14.8. WRR(WEIGHTED ROUND ROBIN,加权轮转) 第 15 章 方便菜谱 15.1. 用不同的 SLA 运行多个网站。 15.2. 防护 SYN 洪水攻击 15.3. 为防止 DDOS 而对 ICMP 限速 15.4. 为交互流量设置优先权 15.5. 使用 NETFILTER、IPROUTE2 和 SQUID 实现 WEB 透明代理 15.5.1. 实现之后的数据流图 15.6. 与 PMTU 发现有关的“基于路由的 MTU 设置” 15.6.1. 解决方案 15.7. 与 PMTU 发现有关的 MSS 箝位(给 ADSL,CABLE,PPPOE 和 PPTP 用户) 15.8. 终极的流量控制:低延迟、高速上/下载 15.8.1. 为什么缺省设置不让人满意 15.8.2. 实际的脚本(CBQ) 15.8.3. 实际的脚本(HTB) 15.9. 为单个主机或子网限速 15.10. 一个完全 NAT 和 QOS 的范例 82 83 83 83 84 84 84 85 87 87 87 88 89 89 90 90 90 91 92 93 96 96 97 98 98 99 100 102 103 104 7
104 106 107 108 109 109 109 109 110 110 112 112 113 113 115 117 119 120 15.10.1. 开始优化那不多的带宽 15.10.2. 对数据包分类 15.10.3. 改进设置 15.10.4. 让上面的设置开机时自动执行 第 16 章 构建网桥以及用 ARP 代理构建伪网桥 16.1. 桥接与 IPTABLES 的关系 16.2. 桥接与流量整形 16.3. 用 ARP 代理实现伪网桥 16.3.1. ARP 和ARP 代理 16.3.2. 实现 第 17 章 动态路由——OSPF 和 BGP 17.1. 用 ZEBRA 设置 OSPF 17.1.1. 必要条件 17.1.2. 配置Zebra 17.1.3. 运行Zebra 第 18 章 其它可能性 第 19 章 进一步学习 第 20 章 鸣谢 8
分享到:
收藏