Linux IP 地址伪装 HOWTO | ||
---|---|---|
上一页 | 第 8 章. 杂项 |
待办事项 - HOWTO
将脚本化的 IPMASQADM 示例添加到转发器部分。同时确认语法。
添加一个小节,介绍在 MASQ 服务器后面有多个子网的情况
确认 IPCHAINS 规则集,并确保它与 IPFWADM 规则集一致
待办事项 - WWW 页面
更新 masq 站点上的 PPTP 补丁
更新 portfw FTP 补丁
2005 年 5 月 22 日至 2005 年 11 月 13 日的更改
11/13/05 - 修复了 6.7 节中 PORTFW 示例规则不正确的错误。更新了 IPTABLES PORTFW 部分,包括预路由规则的状态跟踪,添加了对 PORTFW FAQ 条目的交叉引用,并减少了 HOWTO 不同章节中一些重复的 PORTFW 示例。感谢 Thomas Zajic 提请我注意此事。
10/23/05 - 更新了动态 IP FAQ 部分,给出了关于如何为各种不同的 DHCP 客户端重新运行 rc.firewall-* 脚本的完整示例
10/19/05 - 更新了 HOWTO,使其非常清楚地说明了加载各种 rc.firewall-* 规则集(本 HOWTO 中有 6 个,分别是 IPTABLES、IPCHAINS 和 IPFWADM 的简单版本和更强版本)文件与加载通用 rc.firewall 文件之间的区别。我还更新了故障排除部分,以反映这个可能令人困惑的点。
05/27/05 - 更新了多重 NAT 情况,以包括 ProxyARP 解决方案
05/26/05 - 澄清了关于多个内部 LAN 网段上的 IPMASQ 的章节
2005 年 5 月 3 日至 2005 年 5 月 22 日的更改
05/22/05 - 将 rc.firewall-iptables-stronger 规则集更新到 0.87s。删除了未使用的 drop-and-logit 链,因为它稍后无论如何都会被删除。感谢 Matthew Concannon 的贡献。
05/21/05 - 稍微更新了 Multiple-IPs FAQ 条目
2005 年 4 月 17 日至 2005 年 5 月 3 日的更改
05/03/05 - 更新了 rc.firewall-iptables-stronger 规则集以修复拼写错误
2004 年 3 月 19 日至 2005 年 4 月 17 日的更改
04/30/05 - 更新了 unc.metalab.org 的 IP 地址,并将 HOWTO 发布到网络上。
12/18/04 - 在 IPTABLES、IPCHAINS 和 IPFWADM 规则集中添加了一些注释,说明为什么默认策略是 ACCEPT 而不是像 DROP 这样的策略。
07/24/04:将 rc.firewall-2.4/2.2/2.0-* 规则集重命名为 rc.firewall-iptables/ipchains/ipfwadm-*。此更改更好地反映了这些规则集可以在不同的内核版本(如 2.6.x)上运行。将 rc.firewall-iptables-stronger 规则集更新到 0.85s,以修复 INTIP 变量的不正确的 /24 子网掩码。
04/10/04:更新了 rc.firewall-2.4-stronger 规则集,使用 192.16.0.x 网络而不是 192.168.1.x 网络,以更好地与 HOWTO 的其余部分对齐
04/04/04:添加了 Redhat9 支持 IPMASQ
2003 年 11 月 10 日至 2004 年 3 月 18 日的更改
03/18/04:为 IPTABLES 添加了一个支持多个内部网络的子章节
02/02/04:更新了一些旧的 jhardin rubyriver 到 impsec.org 的 URL
01/10/04:更新了 rc.firewall-2.4-stronger 和 2.2 规则集,使 PORTFW 配置的放置位置更明显
01/01/04:某些系统要求 /etc/rc.d/init.d/firewall-2.* 文件是可执行的。已修复。感谢 Chris Carter 和其他人的推动。
01/01/04:某些系统要求 /etc/rc.d/init.d/firewall-2.* 文件是可执行的。已修复。感谢 Chris Carter 和其他人的推动。
01/01/04:在 Redhat 系统上添加了额外的 chkconfig 检查,以确保防火墙在 init 级别更改时加载。感谢 Chris Carter 的想法。
12/19/03:将 rc.firewall-2.4-stronger 规则集更新到 0.82。这个新的规则集有一个特殊的 ICMP 过滤器,用于解决 Netfilter 的一个 bug。此外,drop-and-log-it 链已重命名为 reject-and-log-it,因为这实际上是它正在做的事情。感谢 Bart Martens 的建议。
12/13/03:修复了一些小的语法问题。感谢 Lawrence Berlinsk 指出这些问题。
11/30/03:将 rc.firewall-2.4-stronger 规则集更新到 0.81s,rc-firewall-2.2-stronger 规则集更新到 0.72s,并将 rc.firewall-2.0-stronger 规则集更新到 0.72s(以前从未有过版本号)。这些更改反映了规则集没有足够强的注释,或者允许所有发往 MASQ 服务器本身的网络流量受到保护。建议如果您想启用对 MASQ 服务器本身上运行的服务器(http、ssh 等)的访问,请在 OPTIONAL INPUT 部分下选择性地启用它们。
11/03/03:更新了 rc.firewall-2.2-stronger 规则集,其中 INTLAN 规则允许来自 ANY IP 地址的网络流量,而不是正确的 INTIP IP 地址。这使 IPCHAINS 规则集与 IPTABLES 和 IPFWADM 规则集示例对齐
11/10/03:删除了所有 kernelnotes.org URL (juanjox URLs)
2003 年 6 月 22 日至 2003 年 11 月 9 日的更改
10/25/03:修复了 3.3 节中失效的 RFC1918 URL。感谢 Mark Sobell 的报告。
07/07/03:添加了 "reducing-masq-log" FAQ 条目,以帮助人们减少防火墙日志的大小。
06/27/03:将 rc.firewall-2.4-stronger 规则集更新到 0.80s。添加了一个 DISABLED ip_nat_irc 内核模块部分,将 ip_conntrack_irc 的默认值更改为默认不加载,并添加了额外的内核模块注释。
06/27/03:将 rc.firewall-2.4 规则集更新到 0.75。添加了额外的 iptables 内核模块注释。
06/24/03:将 Debian 3.0 添加到支持的发行版列表
06/23/03:将 PMTU URL 更改为指向 Phil 的主要 www 站点
2003 年 5 月 26 日至 2003 年 6 月 22 日的更改
06/22/03:再次更新了各种 Indyramp MASQ 电子邮件 URL,因为情况似乎发生了变化。又一次。
06/21/03:重写了 MTU FAQ 部分,使其更清晰,包括问题的具体信息,并修复了 PPPoE 用户尝试配置 "--clamp-mss-to-mtu" 时的错误拼写,它应该是 "--clamp-mss-to-pmtu"(pmtu 中缺少 p)。
06/13/03:为 Mandrake 8.1 添加了内核信息
06/02/03:修复了一个拼写错误,其中扩展的 2.2.x 内核检查 IPMASQ 功能时使用了 "cat" 而不是 "ls"
2003 年 4 月 8 日至 2003 年 5 月 26 日的更改
05/26/03:更新了防火墙规则集:rc.firewall-2.4 (到 0.74)、rc.firewall-2.2 (到 1.22)、rc.firewall-2.4-stronger (到 0.79s) 和 rc.firewall-2.2-strongerw (到 0.71s),以使用 modprobe 而不是 insmod。
05/26/03:添加了如何在 Accounting FAQ 部分中转储 IPTABLES MASQ 条目的方法
05/26/03:向 MTU faq 部分添加了 Clamp-MSS 建议
05/26/03:当 MASQ 客户端无法 ping 通 MASQ 服务器时,在第 5 节中添加了额外的故障排除步骤。
05/26/03:向 SHAPING FAQ 条目添加了额外的流量整形/流量限制器 URL
05/26/03:将 "IPROUTE2" FAQ 条目重命名为 "源路由";向该部分添加了 IPTABLES 示例;修复了不正确的 IP 地址 62123.123.123.123
05/25/03:修复了一个 SGML 脚本,该脚本不正确地转换了可下载的 firewall-* 和 rc.firewall-* 脚本的 & 符号。还在 rc.firewall-2.0 文件的注释部分中捕获到一个 SGML & 符号 bug
05/25/03:删除了几个失效链接:ftp.gts.cz、novell.com LWP5、旧的 Juanjox 镜像 (geocities)、旧的 ipmasq2.webhop.net URL、旧的 zzdmacka NAT 信息 URL、旧的 linux.org/uk/VERSION url、旧的 netfilter.samba.org URL(不再是 netfilter 镜像 - 重定向)、旧的 Activision BattleZone DLL url、旧的 iproute2 (rpms, ras.ru, donlug, dontsk, tusur, waaug 等) url、旧的 rlynch ipautofw 镜像
05/25/03:更新了几个 URL:suse/proxy_suite/、www.indyramp.net URL、几个 URL 中的 " ~ " 由于某种原因变成了 ~732,将所有 jhardin URL 从 wolfnet.com 更新为指向 impsec.org,更新了所有 LDP URL (linuxdoc.org 到 tldp.org)、2.0.x 内核的 IPCHAINS 补丁、metalab 到 tldp.org、winfiles.com 到 download.com、Microsoft technet 文章 172227、Oidentd、mumford LooseUDP URL、2.2.x PORT-FTP URL、IRQTUNE url、midentd URL
05/25/03:待远程网站管理员更新:Indyramp EQL URL、insecurity.net sidentd
05/25/03:许多小更新,例如:稍微更新了 Intro 部分的措辞,以反映 BETA 内核而不是旧内核;更新了 Forward 部分(不是 PORTFW)使其更通用;在 Forward 部分中添加了指向 IPMASQ 邮件列表的链接;更新了版权声明中的日期;
05/24/03:更新了 "Current Status",添加了备注,说明某些程序已更新为使用 NAT 友好的协议,因此不再需要特殊的 NAT 模块
05/24/03:更新了 2.4 Requirements 部分:删除了重复行(真正的 1:1 NAT);清理了一些添加项;将 CuSeeme 添加到 2.4 移植列表
05/24/03:更新了 2.2 / 2.0 Requirements 部分:删除了对过时的 IPMASQ ICQ 模块的引用;更新了 LooseUDP URL 的链接;
05/24/03:更新了编译 Linux 2.2.x / 2.0.x 部分:删除了通过 rc.local 加载 rc.firewall 规则集的建议。这应该在 HOWTO 的后面部分出现,并为不同的 Linux 发行版提供其他方法
05/24/03:更新了 ICQ Application 部分,说明这些步骤对于现代 ICQ 客户端是/不/需要的。我将本节保留在 HOWTO 中是为了演示一个大型 PORTFW 示例
05/24/03:使一些 FAQ 条目更通用内核版本,并删除了 2.0.x "upgrades-cont.html" FAQ 条目,因为它基本上是重复的
05/24/03:更新了 LooseUDP 游戏部分,以解释它的工作原理,解释了在有状态的 IPTABLES 系统下解决了多少问题,并说明它不适用于 2.4.x 内核。如果 IPTABLES 的有状态 UDP 跟踪不起作用,您可能就无能为力了。
05/24/03:在 FAQ 部分提到,MASQ 计时器在 IPTABLES 下是不可调整的
05/24/03:大大扩展了数据包防火墙日志 FAQ 条目,并最终添加了 IPTABLES 数据包日志描述部分。我还使 IPCHAINS 示例与 IPFWADM 条目对齐
04/11/03:修复了一个不正确的 echo 语句,该语句说 IPTABLES 策略被设置为 REJECT 而不是 DROP。
2003 年 1 月 31 日至 2003 年 4 月 8 日的更改
04/08/03:在 3.2 节中添加了额外的格式和 "ip_masquerade" /proc 条目。这有助于用户确定他们的内核是否已准备好 MASQ。
03/08/03:将 EXTIP 变量添加到 2.4.x PORTFW 示例中,因为有几个人试图将其与 BASIC 规则集一起使用,并且我假设他们正在使用 STRONGER 规则集。感谢 Greg Lukins 提请我注意此事。
03/08/03:将发行版添加到 MASQ 兼容性列表:Mandrake、Gentoo
02/08/03:忘记更新 rc.firewall-2.4-stronger 规则集的 VERSION 号。添加了一些额外的格式
02/01/03:在内核编译部分添加了额外的检查,以了解您的内核是否通过模块或静态编译在内支持 IPMASQ。
2003 年 1 月 12 日至 2003 年 1 月 31 日的更改
01/31/03:哎呀。我应该阅读自己的评论。我已经将 2.4.x. 的策略设置从 REJECT 反转回 DROP。由于某些蹩脚的原因,REJECT 不是一个合法的策略。推荐的 REJECT 操作仍然通过 "drop-and-log-it" 用户链执行。
01/30/03:更新了 Multiple-IPs FAQ 条目,以更好地描述希望将外部 IP 放在 Linux 路由器后面的用户。添加了额外的 URL 并清理了一些文本。
01/30/03:更新了 2.4.x requirement 部分,以反映 IPTABLES 的更多优点,并更新了一些旧的传统 2.2.x 模块的更新状态
01/30/03:添加了一个额外的 FAQ 条目,清楚地解释了 ipchains.o 模块在 2.4.x 内核上可以做什么和不能做什么
01/28/03:广泛更新了 2.4.x 内核编译部分,以反映带有 IPTABLES 1.2.7a 的 2.4.20 内核。该部分还反映了编译 IPTABLES、应用 Patch-O-Matic 补丁的新方法,并包含了很多示例输出。
01/28/03:更新了内核编译部分,使其更清楚地说明了不同的 Linux 发行版可以有不同的内核(模块与单内核)
01/17/03:修复了一个主要问题,其中 rc.firewall-2.2-stronger 规则集引用了丢失的可执行变量。这是从 2.4-stronger 规则集中获取的,但我想我忘记完成它了。已修复。感谢 Samuel Kim 发现了这个问题!
01/17/03:修复了一个问题,其中 rc.firewall-2.2-stronger 的注释 HTTP 部分缺少 "-p tcp" 选项。感谢 Samuel Kim 发现了这个问题!
01/16/03:更新了 DJSF 的 ICQ 模块的 URL
01/16/03:在 IPTABLES 规则集和高级 IPFWADM 规则集上,将默认策略和 drop 链从 DENY 更改为 REJECT。感谢 Jonathan Hutchins 提请我注意此事。
01/16/03:修复了 rc.firewall-2.2-s 规则集的注释掉的 HTTPd OUTPUT 部分中的拼写错误
01/13/03:将 IPMASQ www 站点 URL 从 ipmasq.cjb.net 更新为 ipmasq.webhop.net。CJB 开始更改他们的策略,所以我们切换了。
01/13/03:添加到 2.4.x Requirements 部分,IPTABLES v1.2.7a 已经发布并推荐使用。
01/13/03:为 "测试部分 - 第 5 节" 添加了一个额外的测试项目,用于版本过旧的 IPTABLES。我还清理了这一部分,使其更易于阅读。
01/13/03:更新了 rc.firewall-2.4-stronger 规则集,以包含注释规则,允许 HTTP 流量进入本地 HTTP 服务器。还在 FORWARD 部分添加了一个规则注释,以帮助用户了解将 PORTFW 命令放在哪里。
01/13/03:更新了 rc.firewall-2.2-stronger 规则集,以包含注释规则,允许 HTTP 流量进入本地 HTTP 服务器。还在 FORWARD 部分添加了一个规则注释,以帮助用户了解将 PORTFW 命令放在哪里。
01/13/03:澄清了 PORTFW 部分,以帮助用户更好地理解 PORTFW 命令应该放在 rc.firewall 规则集中的哪个位置。我还清理了这一部分,使其更易于阅读。
2002 年 12 月 13 日至 2003 年 1 月 12 日的更改
01/03/03:将 Redhat 7.3 和 8.0 添加到兼容性图表中。
01/03/03:修复了各种拼写错误。感谢 Gabriel Withington 的敏锐眼光。
12/22/02:更新了 2.2.x H.323 内核补丁 URL。感谢 Maxime Plante 指出这一点。
12/22/02:更新了 2.4.x 内核编译部分,以告知用户,大多数现代内核不需要应用 IPTABLES Patch-o-matic 补丁,除非是为了修复 bug 或添加额外功能。
2002 年 10 月 20 日至 2002 年 12 月 13 日的更改
11/27/02:修复了 init.d 脚本,使其将标头指向正确的配置文件。这肯定是由于新版本的 "chkconfig" 进行了更好的检查。请注意,这对于 rc.firewall-2.?-stronger 规则集可能仍然是一个问题。感谢 Joris Van Puyenbroeck 的提醒。
11/25/02:更新了所有防火墙注释,以反映 PPPoE 用户需要使用 "ppp0" 逻辑接口作为其外部接口,而不是物理接口,如 "eth0"。感谢 Meng Cheah 的推动。
11/13/02:更新了基于 Donald Becker 的 NIC 驱动程序的 URL。感谢 Bruce Gorgon 的提醒。
11/01/02:添加了一个新的 FAQ 部分,涵盖了将本地 INTERNAL 流量重定向到内部 PORTFWed 服务器
11/01/02:更新了 PORTFW 部分,使其更清晰一些。
2002 年 4 月 19 日至 2002 年 10 月 20 日的更改
09/29/02:修复了一个指向 metalab.unc.edu 的迷路的不正确的 IP 地址
08/29/02:修复了 firewall-2.2 启动脚本中的一个拼写错误,该脚本启动的是 2.4 防火墙而不是 2.2 版本。感谢 Jean-Marc Vanel 发现了这个问题。
08/25/02:更新了 rc.firewall-2.2-stronger 和 rc.firewall-2.2 脚本以使用 shell 环境变量。
07/09/02:更新了 FTP PORTFW 部分,使其更具可读性
07/06/02:将所有 filewatcher.org URL 替换为 netfilter.org URL
06/12/02:更改了一些格式,试图帮助新手更好地理解 "\" 字符用作上一行的延续。
06/12/02:更新了第 5 节中 metalab.unc.edu 的 IP 地址。感谢 Pete Trachy 提请我注意此事,但请注意,即使像 Metalab 这样的大型站点也会不时更改其 IP、子网甚至 ISP。
06/02/02:更新了 rc.firewall-2.4 规则集,以包含用于 NAT IRC DCC 的注释选项,添加了更多环境变量的使用,并添加了额外的格式。
05/18/02:在 rc.firewall-2.4-stronger 规则集的注释部分添加了一些额外的 # 行,以更好地服务于剪切和粘贴用户。
05/04/02:- 更新了各种 PPTP MASQ 链接以指向有效的 URL。还更新了 HOWTO,以反映 2.4.x 内核现在支持 PPTP。
05/03/02:- 更新了 2.4.x 内核要求部分,以指出 2.4.x 内核下的 IPCHAINS 兼容性不是很好。如果您想在 2.4.x 内核下使用 IPMASQ,则应仅使用 IPTABLES 规则。
2002 年 1 月 5 日至 2002 年 4 月 19 日的更改 - v2.00.041902 发布到 LDP
04/01/02:- 更新了 rc.firewall-2.4-stronger 规则集,以表示并禁用 OUTPUT 规则上的内部 DHCP 服务器支持
02/09/02:- 添加了 Redhat 样式的 init.d 脚本来启动 rc.firewall 文件
02/09/02:- 更新了所有各个章节,以使用人类可读的文件名,而不是像 x2623.html 这样的名称。
02/09/02:- 扩展了 IPMASQ 记帐部分
02/04/02:- 从 6.7.1 节的 PORTFW 变量中删除了额外的 "$"
01/31/02:- 更新了 PPPd 和 Diald 主页的 URL
01/26/02:- 修复了一些拼写错误,并添加了 LooseUDP 说明,以告诉用户阅读示例 rc.firewall-2.2 规则集注释,了解如何启用 LooseUDP。
01/08/02:- 对 IP 别名支持进行了一些细微的澄清
2001 年 11 月 19 日至 2002 年 1 月 5 日的更改 - 010502 发布到 LDP
01/05/02:- 向 rc.firewall-2.4-stronger 规则集添加了禁用的规则,以支持 INTERNAL DHCP 服务器和对 MASQ 计算机上运行的 WWW 服务器的 EXTERNAL 访问。
01/05/02:- 如果人们 PORTFW 到非标准 FTP 端口,则添加了加载 ip_conntrack_ftp 模块所需的更改。
01/05/02:- 在 2.4.x PORTFW 部分中添加了一个示例,说明如何将内部流量 REDIRECT 回内部服务器。这与在 2.2.x 和 2.0.x 内核下运行 REDIR 相同。
01/05/02:- 向 HOWTO 添加了 Juanjox 镜像 URL。
01/04/02:- 澄清并清理了 ICQ PORTFW 部分;添加了关于 ip_masq_icq、PORTFW 和 SOCKS 解决方案的想法
01/05/02:- 将 Slackware 8.0 添加到支持列表。
01/04/02:- 修复了 2.4 和 2.2 规则集中的一些拼写错误。感谢 Michael Ott 的敏锐眼光。
12/19/01:- 修复了 rc.firewall-2.4 文件中的一个小的注释拼写错误。感谢 Bruno Negrao 的贡献。
12/02/01:- 修复了 2.4.x rc.firewall 规则集中的一些小的版本拼写错误;为 2.4.x PORTFW 示例添加了缺少的 $PORTFWIF 变量。感谢 Neil Bunn 的勘误。
11/25/01:- 扩展了第 5 节中关于 ipchains 模块冲突错误消息的说明
11/23/01:- 更新了 HOWTO,以反映 2.4.x 内核的新 PPTP 内核模块
11/19/01:- 澄清了 2.4.x 内核的 PPTP 支持
2001 年 8 月 26 日至 2001 年 11 月 18 日的更改 - 111801 发布到 LDP
11/12/01:- 更新了各种注释以反映新版本:linux 2.4.14、iptables 1.2.4 和 linux 2.2.20。
11/12/01:- 将 rc.firewall-2.4-stronger 规则集添加到 HOWTO,更新了 2.4.x 内核和 IPTABLES 编译步骤,以反映 2.4.14 和 1.2.4。
11/10/01:- 将 2.4、2.4-stronger、2.2、2.2-stronger、2.0 和 2.0.x-stronger 规则集的直接可下载版本添加到 WWW。
11/10/01:- 更新了 2.4.x PORTW 示例,以添加缺少的 FORWARD 选项。
11/10/01:- 更新了 HOWTO 中的 DSL-HOWTO 链接
10/27/01:- 更新了 2.5 节中的网络图,使其更详细一些。
09/18/01:- 修复了一些指向各自的 2.4.x、2.2.x 和 2.0.x 内核编译建议的断开的参考链接。
09/16/01:- 清理并更新了 PORTFW 部分,以包括 2.4.x 内核的 PREROUTING 示例。
09/13/01:- 将 IPTABLES 简单 rc.firewall 规则集更新到 0.62。这修复了 MASQ 启用行上使用 eth0 而不是 $EXTIF 的拼写错误。感谢 Hafi 报告了这个问题。
09/07/01:- 似乎大多数遇到 IPCHAINS 和 IPTABLES 冲突的人都在运行 Redhat 7.1。我已经更新了第 5 节,说明如何解决这个问题。感谢 Jason Wenzel 帮助我解决了这个问题。
09/07/01:- 指出 IPTABLES v1.2.3 是当前版本。所有低于 v1.2.3 的版本都有一个 FTP 模块 bug,可以绕过强大的防火墙规则集。请立即升级您的 IPTABLES 副本。
09/07/01:- 为简单 rc.firewall 规则集创建了版本号(IPTABLES - v0.61)(IPCHAINS - v1.01)(IPFWADM - v2.01)。并清理了每个部分中的一些注释。
09/07/01:- 向简单 rc.firewall 规则集添加了规则以刷新各种表。除此之外,我还添加了环境变量的使用和规则集中更多的 echo 语句,以使编辑和监视更容易。感谢 Ian Bishop 的好主意。
09/07/01:- 在每个 rc.firewall 和部分防火墙规则集中添加了 EXTIF 和 INTIF 接口变量的使用,以提高清晰度(类似于 TrinityOS 一段时间以来的做法)。感谢 Sean McKeon 的推动。
09/07/01:- 修复了 UNIX 客户端配置部分中的一个拼写错误,其中网络广播是 192.168.0.25 而不是 .255。
从 2.01 到 2.05 的更改 - 08/26/01
08/19/01:- 在第 5 节中添加了一个额外的测试步骤,以确保 rc.firewall 文件加载正常。感谢 Steven Levis 的好主意。
08/15/01:- 将 /etc/hosts 文件的参考从 RFC952 更改为 RFC1035。感谢 Michael F. Maggard 的更正。
从 1.96 到 2.01 的更改 - 08/12/01
08/12/01:- 将基本 IPTABLES 规则集更新到 0.60,这修复了一个主要问题,即所有 MASQed 数据包都被丢弃。最终,我忘记添加一条规则来 ACCEPT 通过转发链的正确数据包。
- 添加了一条额外的规则来记录所有伪造的 FORWARD 数据包
- 现在默认加载 FTP nat 模块
- 更改了一些内核模块的加载顺序,以避免创建伪造的错误消息
- 添加了一个关于如何在 IPTABLES 中 MASQ 特定主机而不是整个子网的部分
- 添加了更多 MASQ 客户端兼容的操作系统
07/19/01:- 用于在多个接口之间转发的高级 IPCHAINS 示例缺少关键的 "-j ACCEPT",无法实际让数据包流动。感谢 Shingo Yamaguchi 发现了这个问题。
06/21/01:更新了第 5 节(测试部分),以添加额外的测试,帮助用户排除其 MASQ 设置的故障。现在总共有 -11- 个测试。06/16/01:更新了 HOWTO 开头的介绍历史部分。06/14/01:添加了镜像 Netfilter 和 IPCHAINs 镜像 URL 06/13/01:更新了 H.323 URL
06/10/01:再次 DOH!用于 2.4 内核的简单 rc.firewall 脚本有两个主要错误。新版本信息量更大,甚至可以工作!我正在继续浏览 HOWTO 并清理内容,但我还没有完全完成。
06/02/01:更新了已知兼容 MASQed 操作系统(Windows M3、Linux 2.3、2.4 等)的列表。在各种不同的 MASQ 客户端配置指南中更多地引用了 DHCP 和 DNS。
04/12/01:感谢 Joshua X 和 Command Prompt, Inc. 的其他人将 HOWTO 从 LinuxDoc 移植到 DocBook。在第 126 行添加电子邮件列表 URL
从 1.90 到 1.95 的更改 - 11/11/00
非常感谢 Joshua X 和 Command Prompt, Inc. 的其他人将 HOWTO 从 LinuxDoc 移植到 DocBook。
在介绍中添加了一个快速的前期通知,说明不建议在 MASQ 多个以太网段中运行单个 NIC,并链接到相关的 FAQ 条目。感谢 Daniel Chudnov 帮助 HOWTO 更清晰。
在 Intro 部分添加了一个指向 FAQ 部分的指针,供用户查找 MASQ 与 NAT 和代理服务的区别。
重新排列了内核要求部分,顺序为 2.2.x、2.4.x、2.0.x
扩展了第 3 节中的内核测试,以查看给定内核是否已支持 MASQ。
反转了显示的简单 MASQ 规则集示例的顺序(2.2.x 和 2.0.x)
清理了 2.0.x 和 2.2.x rc.firewall 文件中的一些格式问题
在 2.2.x rc.firewall 中指出,某些发行版的 proc 中 defrag 选项已消失(Debian、TurboLinux 等)
在 rc.firewall 脚本中添加了注释 #3,以包含 Pump 的说明。感谢 Ross Johnson 的贡献。
清理了 2.2.x 和 2.2.x 内核的简单 MASQ 规则集示例
更新了简单和更强的 IPCHAINS 和 IPFWADM 规则集,以包含外部接口名称(IPCHAINS 为 -i;IPFWADM 为 -W),以避免一些内部流量 MASQing 问题。
大大扩展了第 5 节(测试),增加了更多的测试步骤,并添加了测试命令的输出应有的外观的完整示例。
将 H.323 应用程序文档从不支持移动到支持。 :-)
重新排列了多 LAN 部分示例的顺序(2.2.x 然后 2.0.x)
对多 LAN 示例进行了一些额外的澄清
修复了多 NIC MASQing 的一个严重拼写错误,其中网络示例的网络指定反了。感谢 Matt Goheen 发现了这个问题。
在 PORTFW 部分中为 MFW 添加了一个小的介绍。
反转了 PORTFW 的 2.0.x 和 2.2.x 部分
更新了关于 2.2.x 内核的 PORTFWing FTP 流量的新闻
NOTE: At this time, there *IS* a BETA level IP_MASQ_FTP module for PORT Forwarding FTP connections 2.2.x kernels which also supports adding additional PORTFW FTP ports on the fly without the requirement of unloading and reloading the IP_MASQ_FTP module and thus breaking any existing FTP transfers. |
添加了关于 PORTFWed FTP 支持的顶级注释
在 2.0.x PORTFW'ed FTP 示例中添加了一个注释,说明为什么用户不需要 PORTFW 端口 20。
更新了 PORTFW 部分,还提到用户可以使用像 SuSe 提供的 FTP 代理应用程序来支持 PORTFWed FTP 类似的功能。感谢 Stephen Graham 的贡献。
更新了如何启用 PORTFWed FTP 的示例,还包括了关于如何为使用多个端口联系多个内部 FTP 服务器的用户加载 ip_masq_ftp 模块的所需配置。感谢 Bob Britton 提醒我注意这个问题。
为 rc.firewall 文件中嵌入了 ^Ms 的用户添加了一个 FAQ 条目
扩展了 FAQ 条目,讨论 MASQ 与 NAT 和代理的区别,以包含一些信息丰富的 URL。
更新了 MASQ MTU 问题的解释,并描述了该问题的两个主要解释。
澄清了 RFC、PPPoE 应该只需要 1492 的 MTU,尽管一些 ISP 需要 1460 的设置。因此,我更新了示例以显示 1492 的 MTU。
将 Windows 9x 部分分解为 Win95 和 Win98,因为它们使用不同的设置(DWORD 与 STRING)。我还更新了这些部分,使其更清晰,并且 Registry 备份方法已更新。
修复了一个拼写错误,其中 NT 4.0 Registry 条目是向后的(Tcpip/Parameters 与 Parameters/Tcpip)。
修复了一个问题,其中 WinNT 条目应该是 DWORD 而不是 STRING。
非常感谢 Geoff Mottram 对他的各种 PPPoE 和各种 Windows Registry 条目修复的贡献。
在 IRC FAQ 条目中为 Oident 添加了一个显式 URL
更新了关于某些损坏的 "netstat" 版本的 FAQ 部分
为 MASQ 记帐想法和流量整形添加了新的 FAQ 部分
扩展了 IPROUTE2 FAQ 条目,说明了策略路由是什么。
将 IPROUTE2 URL 移动到 2.2.x Kernel requirements 部分,并添加了一些更多 URL。
更正了更强的 IPCHAINS 规则集中的 "intnet" 变量,以反映 192.168.0.0 网络,使其与示例的其余部分一致。感谢 Ross Johnson 的贡献。
为询问多内部 MASQed LAN 之间转发问题的用户添加了一个新的 FAQ 部分。
为想要将来自多个外部 IP 地址的所有端口 PORTFW 到内部 IP 地址的用户添加了一个新的 FAQ 部分。我还谈到了尝试 PORTFW 多个 IP ALIASed 接口上的所有端口的用户,并为在非路由环境中拥有多个 IP 的 DSL 和 Cablemodem 用户指出了 Bridge+Firewall HOWTO。
将 Mandrake 7.1、Mandrake 7.2 和 Slackware 7.1 添加到支持列表
将 Redhat 7.0 添加到 MASQ 支持的发行版。感谢 Eugene Goldstein 的贡献。
修复了 FAQ 部分中 "Maximum Throughput" 计算中的数学错误。感谢 Joe White @ ip255@msn.com 的贡献。
修复了 Windows9x MTU 更改,使其成为注册表的 STRING 更改而不是 DWORD 更改。感谢 jmoore@sober.com 的贡献。
更新了 2.0.x rc.firewall 脚本中的注释,以说明 ip_defrag 选项适用于 2.0 和 2.2 内核。感谢 pumilia@est.it 的澄清。
从 1.85 到 1.90 的更改 - 07/03/00
更新了 TrinityOS 的 URL,以反映其最新布局
在 IPCHAINS 规则集中捕获到一个拼写错误,其中我设置的是 "ip_ip_always_defrag" 而不是 "ip_always_defrag"
Taro Fukunaga 的 URL 无效,因为它使用的是 "mail:" 而不是 "mailto:"
为 "Masqing multiple internal interfaces" 添加了一些澄清,其中一些用户不明白为什么多次引用 eth0。
修复了更强的 IPCHAINS 部分中的另一个 "EXTIP 变量后的空格" bug。我想我错过了一个。
在第 5 节的测试 #7 中,我建议用户返回到步骤 #4。那应该是步骤 #6。
更新了 SuSe 5.2 和 6.0 随附的内核版本
修复了第 7.2 节中的拼写错误(or vs. of)
在测试 MASQ 部分添加了项目 #9,以建议仍在遇到 MASQ 问题的用户阅读 FAQ 中的 MTU 条目
改进了第 5 节中的条目
更新了 IPCHAINS 语法以显示 MASQ/FORWARD 表。以前,运行 "ipchains -F -L" 是有效的,但现在只有 "ipchains -M -L" 有效。
更新了 LooseUDP 文档,以反映 2.2.16+ 内核中的新 LooseUDP 行为。以前,它始终启用,现在,由于可能的 MASQed UDP 端口扫描漏洞,默认设置为 OFF。我更新了 BASIC 和 SEMI-STRONG IPCHAINS 规则集以反映此选项。
将推荐的 2.2.x 内核更新为 2.2.16+,因为所有较低版本都存在 TCP 根利用漏洞。
将 Redhat 6.2 添加到 MASQ 支持列表
更新了 Sonny Parlin 的 FWCONFIG 的链接,以指向 fBuilder。
更新了 IP 地址的各种示例,从 111.222.333.444 更新为 111.222.121.212,并在有效的 IP 地址范围内
更新了 BETA H.323 MASQ 模块的 URL
最终更新了 MTU FAQ 部分,以帮助 PPPoE DSL 和 Cablemodem 用户。基本上,第 7.15 节 现在反映了用户还可以更改其所有内部机器的 MTU 设置,以解决可怕的 MASQ MTU 问题。
在 PORTFW 部分中添加了一个澄清,即适用于 EXTERNAL 客户端的 PORTFWed 连接将不适用于 INTERNAL 客户端。如果您还需要 INTERNAL portfw,您还需要实现 REDIR 工具。我还指出,此问题已在带有 Netfilter 的 2.4.x 内核中修复。
我还从 Juanjo 添加了一个技术解释到 PORTFW 部分的末尾,说明为什么这种情况无法正常工作。
更新了所有 IPCHAINS URL,以指向 Paul Rusty 的新站点 http://www.netfilter.org/ipchains/
更新了 Paul Rustys 电子邮件地址
为连接长时间保持空闲状态且 PORTFWed 连接不再工作的用户添加了一个新的 FAQ 部分。
更新了所有指向 linuxdoc.org 新站点的 LDP URL,这些 URL 指向 metalab.unc.edu
更新了 Netfilter URL,以指向重命名的 HOWTO 等。
我还更新了 2.4.x 支持的状态,以说明我 *将* 向此 HOWTO 添加完整的 Netfilter 支持,并且如果时机成熟,则将该支持拆分到不同的 HOWTO 中。
更新了 2.4.x Requirements 部分,以反映 NetFilter 与 IPFWADM 和 IPCHAINS 相比的变化,并给出了新功能和旧行为更改的优缺点列表。
在 "My MASQ connection is slow" FAQ 条目中添加了一个 TCP/IP 数学示例,以更好地解释用户应该期望的性能。
更新了 HOWTO,以反映较新版本的 "pump" DHCP 客户端现在可以在启动、租约续订等时运行脚本。
更新了 FTP 的端口转发 (PORTFWing) 部分,以反映多位用户表示他们可以成功地将 FTP 流量转发到内部机器,而无需特殊的 ip_masq_ftp 模块。我已经修改了 HOWTO,以反映用户应首先尝试在不使用修改模块的情况下进行操作,如果需要再转向补丁。
从 1.82 版本到 1.85 版本的更改 - 05/29/00
Ambrose Au 的名字已从标题页移除,因为 David Ranch 担任 HOWTO 的主要维护者已超过一年。Ambrose 仍将参与 WWW 网站的工作。
删除了 6.4 节中多余的空格
重新排序了兼容的 MASQ 系统部分,并添加了关于设置运行在 OS/400 上的 AS/400 系统的说明。感谢 jaco@libero.it 提供的 notes。
为 FTP 访问添加了一个额外的 PORFW-FTP 补丁 URL,以防 HTTP 访问失败。
更新了 FAQ 中 Redhat 5.1 和 6.1 的内核版本
将 FloppyFW 添加到启用 MASQ 的 Linux 发行版列表中
修复了更严格的 IPFWADM 规则集中 "ppp_ip" 和 "=" 之间存在空格的问题。
在 2.2.x 内核的内核编译部分,我移除了启用 "CONFIG_IP_ALWAYS_DEFRAG" 的参考。此选项已从编译部分移除,并在 2.2.12 版本中启用 MASQ 时默认启用。
由于内核行为的上述更改,我将启用 ip_always_defrag 添加到所有 rc.firewall 示例中。
更新了对 H.323 支持的状态。现在有 ALPHA 版本的模块支持 2.0.x 和 2.2.x 内核上的 H.323。
将 Debian v2.2 添加到支持的 MASQ 发行版列表中
修复了一个长期存在的问题,即 IPCHAINS 的 IP 地址显式过滤部分使用了旧的 IPFWADM 语法。我还稍微清理了这一部分,使其更易于理解。
哎呀!将 Juan Ciarlante 的 URL 添加到重要的 MASQ 资源部分。天哪.. 你们需要让我更诚实一些!!
更新了 HOWTO 以反映内核 2.0.38 和 2.2.15
颠倒了显示的内核编译顺序,首先显示 2.2.x 内核,因为 2.0.x 已经相当老旧。
更新了 2.2.x 内核编译部分,以反映较新的 2.2.x 内核的更改选项。
为未能通过 MASQ 测试 #5 的用户添加了一个可能的解决方案。
从 1.81 版本到 1.82 版本的更改 - 01/22/00
在更严格的 IPCHAINS 规则集中,为 /proc/sys/net/ipv4/ip_dynaddr 添加了一个缺失的子节。第 6.5 节
将 Debian 2.1 的 IP Masq 支持更改为 YES
重新组织并更新了 “Masq is slow” FAQ 部分,以包含修复以太网速度和双工问题。
添加了 Donald Becker 的以太网 NIC 卡 MII 工具链接
为 2.2.x 部分添加了一个缺失的 “)”,(之前仅为 2.0.x 版本修复了此问题),用于 ICQ portfw 脚本,并将评估从 -lt 更改为 -le
将 Caldera eServer v2.3 添加到 MASQ 支持列表
将 Mandrake 6.0、6.1、7.0 添加到 MASQ 支持列表
将 Slackware v7.0 添加到 MASQ 支持列表
将 Redhat 6.1 添加到 MASQ 支持列表
将 TurboLinux 4.0 Lite 添加到 MASQ 支持列表
将 SuSe 6.3 添加到 MASQ 支持列表
将推荐的稳定 2.2.x 内核更新为任何比 2.2.11 更新的版本
在 3.3 节中,HOWTO 忘记了如何告诉用户在每次重启时加载 /etc/rc.d/rc.firewall。现在已经涵盖了 Redhat(和基于 Redhat 的发行版)和 Slackware。
在 Windows WFWG v3.x 和 NT 设置部分添加了澄清说明,解释了用户为什么不应该配置 DHCP、WINS 和转发选项。
添加了一个关于如何修复 MASQ 机器 FTP 问题的 FAQ 部分。
修复了更严格的防火墙规则集中的一个拼写错误。“extip” 变量名和 “=” 符号之间不能有空格。感谢 johnh@mdscomp.com 的敏锐眼光。
更新了兼容性部分:Mandrake 7.0 基于 2.2.14,TurboLinux v6.0 运行 2.2.12
从 1.80 版本到 1.81 版本的更改 - 01/09/00
更新了 ICQ 部分,以反映新的 ICQ Masq 模块支持文件传输和实时聊天。2.0.x 模块仍然存在这些限制。
更新了 Steven E. Grevemeyer 的电子邮件地址。他是 IP Masq Applications 页面的维护者。
修复了几行缺少 “AREN'T” 单词的 “setsockopt” 错误。
更新了强 IPCHAINS 规则集中的一个错误,其中使用了变量名 “ppp_ip” 而不是 “extip”。
修复了 3.3.1 节 DHCP 注释部分中的 “.” 与 “?” 拼写错误。
为 ICQ portfw 脚本添加了一个缺失的 “)”,并将评估从 -lt 更改为 -le
更新了 Quake 模块语法,不再使用 “ports=” 动词
从 1.79 版本到 1.80 版本的更改 - 12/26/99
修复了设置 “ppp_ip” 地址时的空格错误。
修复了简单 IPCHAINS 规则集中的一个拼写错误。“deny” 改为 “DENY”
更新了 Bjorn 的 Linux “modutils” 的 URL
添加了关于 NetFilter 和 IPTables 的文字,并提供了 URL,直到将其添加到此 HOWTO 或不同的 HOWTO 中。
更新了简单的 /etc/rc.d/rc.firewall 示例,以通知用户旧的 Quake 模块错误。
更新了 STRONG IPFWADM /etc/rc.d/rc.firewall,以向用户澄清关于动态 IP 地址 (PPP & DHCP)、较新的 DHCPCD 语法和旧的 Quake 模块错误。
更新了 STRONG IPCHAINS /etc/rc.d/rc.firewall,以添加关于动态 IP 地址 (PPP & DHCP) 和旧的 Quake 模块错误的缺失部分。
在 “Applications that DO NOT work” 部分添加了一个注释,指出在 2.0.x 内核上有一个 Microsoft NetMeeting (基于 H.323) v2.x 的 beta 模块。截至目前,没有适用于 Netmeeting 3.x 和/或 2.2.x 内核的版本。
从 1.78 版本到 1.79 版本的更改 - 10/21/99
更新了 HOWTO 名称,以反映它不再是 MINI 了!
从 1.77 版本到 1.78 版本的更改 - 8/24/99
修复了 “Section 6.6 - Multiple Internal Networks” 中的一个拼写错误,其中省略了 -a policy。
删除了 2.2.x 内核配置选项 “Drop source routed frames”,因为它现在默认启用,并且内核编译选项已移除。
更新了 2.2.x 和所有其他 IPCHAINS 部分,以通知用户 IPCHAINS fragmentation bug。
更新了所有指向 Lee Nevo 旧的 IP Masq Applications 页面的 URL 到 Seg 的新页面。
从 1.76 版本到 1.77 版本的更改 - 7/26/99
修复了 Port fowarding 部分的一个拼写错误,该错误使用了 “ipmasqadm ipportfw -C” 而不是 “ipmasqadm portfw -f”
从 1.75 版本到 1.76 版本的更改 - 7/19/99
更新了 FAQ 中的 “ipfwadm: setsockopt failed: Protocol not available” 消息,使其更清晰,而不是让用户在 Forwarders 部分寻找答案。
修复了 6.7 节中 IPMASQADM 和 “portfw” 的不正确语法
从 1.72 版本到 1.75 版本的更改 - 6/19/99
修复了弱 IPFWADM & IPCHAINS 规则集和强 IPFWADM 规则集的 quake 模块端口设置顺序。
添加了一个用户报告,关于直接端口转发 ICQ 4000 并使用 ICQ 的默认设置,而无需启用 “Non-Sock” 代理设置。
更新了 IPMASQADM 工具的 URL
添加了对 Taro Fukunaga, tarozax@earthlink.net 的引用,感谢他 MkLinux 版本的 HOWTO
更新了关于 Sonny Parlin 的 FWCONFIG 工具的简介,以注意新的 IPCHAINS 支持
指出 Fred Vile 的 portfw'ed FTP 访问补丁仅适用于 2.0.x 内核
更新了 2.2.x 内核步骤,并对 Experiemental 标签进行了一些澄清
将 Glen Lamb 的名字添加到 LooseUDP 补丁的鸣谢中
添加了关于安装 LooseUDP 补丁的澄清说明,即非压缩补丁应使用 “cat”。
修复了 IPAUTO FAQ 部分的拼写错误
我将 DHCP 客户端端口号反转用于 IPFWADM 和 IPCHAINS 规则集。我使用的顺序是针对您的 Linux 服务器作为 DHCP 服务器的情况。
为所有弱规则集和强规则集示例添加了显式的 /sbin 路径。
在关于 PPP 和 DHCP 用户的动态 IP 地址的强 IPFWADM 部分中进行了一些澄清。我还指出,当 PPP 启动或 DHCP 租约续订时,应重新运行强规则集。
在 2.2.x 要求中添加了引用,更新了 ICQ FAQ 部分,并将 Andrew Deryabin 添加到 ICQ MASQ 模块的鸣谢部分。
在 FAQ 部分添加了一些澄清说明,解释了为什么 2.1.x 和 2.2.x 内核转向 IPCHAINS。
添加了一个关于通过 MASQ 服务器的 Microsoft 文件/打印/域服务 (Samba) 的小 FAQ 部分。我还添加了一个 Microsoft 知识库文档的 URL 以获取更多详细信息。
在 FAQ 部分添加了澄清说明,即 NO Debian 发行版开箱即用地支持 IP masq。
更新了 FAQ 部分中支持的 MASQ 发行版。
在 FAQ 的 Aliased NIC 部分添加了您无法从别名接口 masq 出去。
哇.. 以前从未注意到,但强规则集部分中的 “ppp-ip” 变量是一个无效的变量名!它已重命名为 “ppp_ip”
在 IPFWADM 和 IPCHAINS 简单规则集设置区域中,我有一个注释掉的部分,关于启用 DHCP 流量。问题是,它位于最后的拒绝行下方!哎呀!我将两者都向上移动了一个部分。
在简单的 IPCHAINS 设置中,针对 DHCP 用户的 #d out 行,我使用了 IPFWADM 的 “-W” 命令而不是 IPCHAINS 的 “-i” 参数。
在 Forwarders 部分添加了一个小简介,介绍了著名的 “ipfwadm: setsockopt failed: Protocol not available” 错误的解决方案。这还包括一个小型的 /proc 测试,让用户确认内核中是否启用了 IPPORTFW。我还将此错误添加到了 FAQ 部分,以便于简单搜索。
向 HOWTO 添加了强 IPCHAINS 规则集
添加了一个 FAQ 部分,解释了 “kernel: ip_masq_new(proto=UDP): no free ports.” 错误。
添加了编写 IPMASQADM PORTFW 规则脚本的示例
更新了一些 Linux Documentation Project (LDP) URL
在所有 rc.firewall 规则集的模块加载部分中添加了 Quake III 支持。
修复了 ICQ 的 IPMASQADM 转发
1.72 - 4/14/99 - Dranch:在 FAQ 中添加了大量 Windows NAT/Proxy 替代方案列表,包括大致定价和 URL。
1.71 - 4/13/99 - Dranch:为多个内部 MASQ 网络添加了 IPCHAINS 设置。更改了 ICQ 设置以使用 ICQ 的默认 60 秒超时,并将 IPFWADM/IPCHAINS 超时更改为 160 秒。更新了 MASQ 和 MASQ-DEV 电子邮件列表和存档订阅说明。
1.70 - 3/30/99 - Dranch:添加了两个新的 FAQ 部分,涵盖 SMTP/POP-3 超时问题以及如何使用 IPROUTE2 将多个内部网络伪装到不同的外部 IP 地址。
1.65 - 3/29/99 - Dranch:拼写错误修复,澄清了所需的 2.2.x 内核选项,为强防火墙部分添加了动态 PPP IP 地址支持,额外的 quake II 模块端口,指出 LooseUDP 补丁已内置到较新的 2.2.x 内核中,并且它来自 Glenn Lamb 而不是 Dan Kegel,在兼容性部分添加了更多游戏信息。
1.62 - Dranch:对文档进行最后的初稿更改,现在在 MASQ 邮件列表中宣布。
1.61 - Dranch:进行了编辑更改,清理了内容并修复了 Windows95 和 NT 设置中的一些错误。
1.58 - Dranch:添加了端口转发部分;LooseUDP 设置;IRC 用户的 Ident 服务器,如何读取防火墙日志,删除了 CuSeeme Mini-HOWTO,因为它很少使用。
1.55 - Dranch:全面修改,功能和 FAQ 添加,以及 v1.50 HOWTO 的编辑扫除。完成了 2.2.x 内核和 IPCHAINS 配置。对适用的示例进行了从 IPAUTOFW 到 IPPORTFW 的转换。添加了许多指向各种其他文档和实用程序站点的 URL。更改太多了.. 我希望每个人都喜欢它。这个新修订版的 HOWTO 最终发布到 LDP 项目将在文档经过 IP MASQ 邮件列表的审阅和批准后进行(然后是 v2.00)。
1.50 - Ambrose:对 HOWTO 进行了重大更新,并初步添加了 2.2.0 和 IPCHAINS 配置。
1.20 - Ambrose:仅处理 < 2.0.x 内核和 IPFWADM 的较新的 HOWTO 版本之一。