Linux上使用 IP Masquerade
l 核心 2.0.x 的原始程式码可以从这里取得 ftp://ftp.funet.fi/pub/Linux/kernel/src/v2.0/
l 可载入核心模组,最好是 2.0.0 或更新的版本,可以从这里取得
http://www.pi.se/blox/modules/modules-2.0.0.tar.gz (至少需要 modules-1.3.57 )
l 设定良好的 TCP/IP 网络涵盖於 Linux NET-2 HOWTO
http://www.caldera.com/LDP/HOWTO/NET-2-HOWTO.html> 及网络管理者指引(Network Administrator"s Guide) http://linuxwww.db.erau.edu/NAG/>
l 你的 Linux 主机的互联网连线
涵盖於 Linux ISP Hookup HOWTO
http://www.caldera.com/LDP/HOWTO/ISP-Hookup-HOWTO.html> Linux PPP HOWTO http://www.caldera.com/LDP/HOWTO/PPP-HOWTO.html>
以及 Linux PPP-over-ISDN mini-HOWTO
http://www.caldera.com/LDP/HOWTO/mini/PPP-over-ISDN>
l Ipfwadm 2.3 或更新的版本可以从这里取得 ftp://ftp.xos.nl/pub/linux/ipfwadm/ipfwadm-2.3.tar.gz
在 Linux Ipfwadm 网页上有更多关於版本的资讯http://www.xos.nl/linux/ipfwadm/>
l 你可以选择性地应用一些 IP Masquerade 修补档打开其它功能。
从这里可以取的更多资讯,IP Masquerade Resources http://www.wwonline.com/~achau/ipmasq/>(这些修补档适用所有的 2.0.x 核心)
设定IP Masquerade
如果你的网络里有任何重要的资讯,在使用 IP Masquerade之前请三思。这可能成为你通往互联网的网关,反之亦然,也可能成为另一边的世界进入你网络的途径。
编译核心加入 IP Masquerade 的支持
首先,你需要核心的原始程式码。如果这是你第一次编译核心,不要害怕。事实上,这非常容易而且涵盖於 Linux Kernel HOWTO
http://www.caldera.com/LDP/HOWTO/Kernel-HOWTO.html>
使用指令: tar zxvf linux-2.0.x.tar.gz -C /usr/src 把核心的原始程式码解至 /usr/src/ , 其中 x 是 2.0 之后的修补层级(确定有个称为 linux 的目录或符号链结)。
加上适当的修补。因为新的修补档不断出来,所以细节不会包含在这里。最新的资讯请参考 IP Masquerade Resourceshttp://www.wwonline.com/~achau/ipmasq/>
有关编译核心更进一步的介绍请参考 Kernel HOWTO 以及核心原始程式码目录里的 README 档案。
这里是你要编译进去的选项: 下列选项要回答 YES * Prompt for development and/or incomplete code/drivers CONFIG_EXPERIMENTAL - 这将让你能选择把实验性的 ip_masq 程式码编译到核心里去 * Enable loadable module support CONFIG_MODULES - 让你能够载入模组 * Networking support CONFIG_NET * Network firewalls CONFIG_FIREWALL * TCP/IP networking CONFIG_INET * IP: forwarding/gatewaying CONFIG_IP_FORWARD * IP: firewalling CONFIG_IP_FIREWALL * IP: masquerading (EXPERIMENTAL) CONFIG_IP_MASQUERADE - 这虽然是实验性的,但却是必须的 * IP: always defragment CONFIG_IP_ALWAYS_DEFRAG - 高度建议 * Dummy net driver support CONFIG_DUMMY - 建议使用
注意: 这些只是 ip_masq 所需要的,你还需选择其它任何你的设定需要的选项。
编译核心之后,你应该编译并安装模组: make modules; make modules_install
然后你应该在 /etc/rc.d/rc.local (或任何你认为合适的档案)里加上几行以便每次启动时自动载入 /lib/modules/2.0.x/ipv4/里所需的模组: . . . /sbin/depmod -a /sbin/modprobe ip_masq_ftp /sbin/modprobe ip_masq_raudio /sbin/modprobe ip_masq_irc (以及其它像是 ip_masq_cuseeme, ip_masq_vdolive 等模组,如果你有加上适当的修补) . . .
注意: 你也可以在使用 ip_masq 之前手动地载入它,但是不要使用kerneld 来载入,这是不行的!