" ** 请参考 IP Masquerade 资源 获取最新信息。 ** "
最新的 2.4.x 内核现在使用全新的 TCP/IP 网络堆栈以及名为 NetFilter 的新 NAT 子系统。在这个 NetFilter 工具套件中,我们现在有一个名为 IPTABLES 的工具,用于 2.4.x 内核,就像 2.2.x 内核的 IPCHAINS 和 2.0.x 内核的 IPFWADM 一样。新的 IPTABLES 系统功能更强大(将多种功能组合到一个地方,例如真正的 NAT 功能)、提供更好的安全性(状态检测),并在新的 2.4.x TCP/IP 堆栈下提供更好的性能。但是,与老一代内核相比,这套新工具可能有点复杂。希望如果您仔细阅读本 HOWTO,设置 IPMASQ 不会太糟糕。如果您发现任何不清楚、完全错误等内容,请通过电子邮件告知 David。
与从 IPFWADM 迁移到 IPCHAINS 不同,新的 NetFilter 工具具有内核模块,实际上可以用最少的更改来支持旧的 IPCHAINS 和 IPFWADM 规则集。因此,不再需要重写旧的 MASQ 或防火墙规则集脚本。但是.. 对于 2.4.x 内核,您不能使用旧的 2.2.x MASQ 模块,例如 ip_masq_ftp、ip_masq_irc 等。并且 IPCHAINS 与新的 IPTABLES 模块(如 ip_conntrack_ftp 等)不兼容。那么,这意味着什么呢?这基本上意味着,如果您想在 2.4.x 内核下使用 IPMASQ 或 PORTFW 功能,则不应使用 IPCHAINS 规则,而应使用 IPTABLES 规则。另请记住,完全重写规则集以利用更新的 IPTABLES 功能(如状态跟踪等)可能有很多好处,但这取决于您有多少时间来迁移旧规则集。有关更多详细信息,请参阅 第 7.40 节。
一些新的 2.4.x 功能包括以下内容
优点
许多新的协议模块,例如:amanda、eggdrop、ipsec、ipv6、portscan、pptp、quota、rsh、talk 和 tftp
真正的 1:1 NAT 功能,适用于那些拥有 TCP/IP 地址和子网的用户(不再需要 iproute2 命令)
状态化应用层(FTP、IRC 等)和状态化协议层(TCP/UDP/ICMP)网络流量检测
内置端口转发(不再需要 ipmasqadm 或 ipportfw 命令)
内置的 PORTFW 支持适用于外部和内部流量。这意味着,对于外部流量进行 PORTFW 和内部端口重定向进行 REDIR 的用户不再需要使用两个工具!
现在完全支持将 FTP 流量端口转发到内部主机,并在 conn_trak_ftp 模块中处理
完整的基于策略的路由功能(基于源 TCP/IP 地址的路由)
与 Linux 的 FastRoute 功能兼容,可显著加快数据包转发速度(又名 Linux 网络交换)。
请注意,此功能仍与用于强大防火墙规则集的数据包过滤不兼容。
完全支持 TCP/IP v4、v6 甚至 DECnet (ack!)
支持通配符接口名称,例如 "ppp*",用于串行接口,例如 ppp0、ppp1 等
支持在输入和输出接口上进行过滤(不仅仅是 IP 地址)
源以太网 MAC 过滤
拒绝服务 (DoS) 数据包速率限制
数据包 REJECT 现在具有用户可选择的返回 ICMP 消息
可变级别的日志记录(不同的数据包可以转到不同的 SYSLOG 级别)
其他功能,例如流量镜像、保护每个登录名的流量等。
缺点
Netfilter 是一个全新的架构,因此大多数为使非 NAT 友好的网络应用程序通过 IPMASQ 工作而编写的旧 2.2.x MASQ 内核模块需要为 2.4.x 内核重新编写。因此,如果您特别需要这些模块中的某些功能(见下文),您应该继续使用 2.2.x 内核,直到这些模块已被移植,或者应用程序已更新为使用 NAT 友好协议。如果您对给定模块的移植状态感到好奇,请通过电子邮件联系模块的作者,而不是 David 或 Ambrose。我们不编写代码.. 我们只是编写文档。 :-)
以下是在 IPMASQ WWW 站点的应用程序支持矩阵上找到的已知 IP Masq 内核模块或补丁的状态。此外,您还应该设置 Netfilter Patch-o-Matic URL。如果您有时间和知识来帮助移植代码,您的努力将不胜感激
Status = Module name = Description and notes --------- ----------- ---------------------------------- Ported CuSeeme Used for Video conferencing NotPorted DirectPlay Used for online Microsoft-based games Ported FTP Used for file transfers - NOTEs: Built into the kernel and fully supports PORTFWed FTP ReWritten H.323 Used for Video conferencing NotPorted ICQ Used for Instant messaging * No longer required for modern ICQ clients Ported Irc Used for Online chat rooms Ported Quake Used for online Quake games Ported PPTP Allow for multiple clients to the same server NotPorted Real Audio Used for Streaming video / audio * No longer required for modern RealVideo clients NotPorted VDO Live Used for Streaming audio? |
有关如何执行 MASQ 模块移植的文档,请访问 http://www.netfilter.org/documentation/HOWTO/netfilter-hacking-HOWTO.html。如果您有时间和知识,您的才能将在移植这些模块方面受到高度赞赏。
如果您想阅读更多关于 NetFilter 和 IPTables 的信息,请参阅:http://www.netfilter.org/documentation/index.html#HOWTO,更具体地说是 http://www.netfilter.org/documentation/HOWTO//NAT-HOWTO.html
Linux 2.4.x IP Masquerade 的要求包括
任何像样的计算机硬件。有关更多详细信息,请参阅 第 7.2 节。
2.4.x 内核源代码可从 https://linuxkernel.org.cn/ 获取。
注意:大多数现代 Linux 发行版,第 7.1 节,原生附带 2.4.x 内核的发行版通常是模块化内核,并且已包含所有 IP Masquerade 功能。在这种情况下,无需编译新的 Linux 内核。如果您正在升级内核,您应该注意其他可能需要和/或需要升级的程序(在本 HOWTO 的后面部分提到)。
“iptables”程序 1.2.4 或更高版本(强烈建议使用 1.2.7a 或更高版本)存档可从 http://www.netfilter.org/ 获取
注意 #1:所有低于 1.2.3 版本的 IPTABLES 都有一个 FTP 模块问题,可能会绕过任何现有的防火墙规则集。强烈建议所有 IPTABLES 用户升级到最新版本。URL 在上面。
注意 #2:所有低于 1.2.2 版本的 IPTABLES 在 ip_conntrack_ftp 模块中都存在 FTP“端口”安全漏洞。强烈建议所有 IPTABLES 用户升级到最新版本。URL 在上面。
此工具与旧的 IPCHAINS 和 IPFWADM 工具非常相似,可以启用各种 Masquerding 代码、更高级形式的 NAT、数据包过滤等。它还使用额外的 MASQ 模块,例如 FTP 和 IRC 模块。有关最新 IPTABLES howto 等的版本要求的更多信息,请访问 不可靠的 IPTABLES HOWTOs 页面。
可加载内核模块,最好是 2.1.121 或更高版本,可从 http://home.pi.se/blox/modutils/index.html 或 ftp://ftp.kernel.org/pub/linux/utils/kernel/modutils 获取
在 Linux 机器上配置和运行的 TCP/IP 网络,如 Linux NET HOWTO 和 网络管理员指南 中所述。另请查看 TrinityOS 文档,该文档也是由 David Ranch 编写的。TrinityOS 是 Linux 网络的非常全面的指南。一些主题包括 IP MASQ、安全性、DNS、DHCP、Sendmail、PPP、Diald、NFS、基于 IPSEC 的 VPN 和性能部分等等。总共有五十多个部分!
Linux 主机与 Internet 的连接,在 Linux ISP Hookup HOWTO、Linux PPP HOWTO 和 TrinityOS 中介绍。其他有用的 HOWTO 可能包括:Linux DHCP mini-HOWTO、Linux Cable Modem mini-HOWTO 和 http://www.tldp.org/HOWTO/DSL-HOWTO/index.html
了解如何配置、编译和安装新的 Linux 内核,如 Linux Kernel HOWTO 中所述。本 HOWTO 确实涵盖了内核编译,但仅针对与 IP Masquerade 相关的选项。