📄 ip-masquerade.txt
字号:
IP)可以连线到网际网路上的其它机器去,然而这个伪装系统闸道 masq-gate 转 换它们所有的连线所以这些连线看起来像是原本即从伪装闸道 masq-gate 本身发 出的,而且还安排伪装连线传回的资料转回原先的系统 - 所以在内部网路上的 系统看到的是直接通往网际网路的递送路径而且不知道他们的资料被伪装过。 2.6 在 Linux 2.2.x 上使用 IP Masquerade 的需求 ** 请参考 [12]IP Masquerade Resource 以获得最新资讯。** * 2.2.x 版核心的原始程式码可从 [13]http://www.kernel.org/ 取得。 (大部份现代的发行套件如 Red Hat 5.2 - 配备了 2.0.36 的核心 - 已有了 模组化的核心,且所有 IP Masquerade 所需的选项都已打开。 这种情形下 ,已没有必要再自行编译。如果你自己升级核心,你应注意你需要什麽,在 文件稍後会提到。) * 可载入的核心模组,最好是 2.1.121 或以後的版本 * 设定良好的 TCP/IP 网路 相关文件在 [14]Linux NET-3 HOWTO 及 [15]Network Administrator's Guide 也请参考 [16]Trinity OS Doc, 是一份非常完整的 Linux 网路参考指引。 * 将你的 Linux 主机连上网际网路 相关文件有 [17]Linux ISP Hookup HOWTO, [18]Linux PPP HOWTO, [19]Linux DHCP mini-HOWTO 及 [20]Linux Cable Modem mini-HOWTO * IP Chains 1.3.8 或更新的版本。可从 [21]http://www.rustcorp.com/linux/ipchains/ 取得。 版本需求的更多资讯也在 [22]Linux IP Firewalling Chains page。 * 其它的资讯,请见 [23]Linux IP Masquerade Resource 2.7 在 Linux 2.0.x 上使用 IP Masquerade 的需求 ** 请参考 [24]IP Masquerade Resource 以获得最新资讯。** * 核心 2.0.x 的原始程式码可以从这里取得 [25]http://www.kernel.org/ (大部份现代的发行套件如 Red Hat 5.2 - 配备了 2.0.36 的核心 - 已有了 模组化的核心,且所有 IP Masquerade 所需的选项都已打开。 这种情形下 ,已没有必要再自行编译。如果你自己升级核心,你应注意你需要什麽,在 文件稍後会提到。) * 可载入核心模组,最好是 2.0.0 或更新的版本,可以从这里取得 [26]http://www.pi.se/blox/modules/modules-2.0.0.tar.gz (至少需要 modules-1.3.57) * 设定好的 TCP/IP 网路 相关文件在 [27]Linux NET-3 HOWTO 及 [28]Network Administrator's Guide 也请参考 [29]Trinity OS Doc, 是一份非常完整的 Linux 网路参考指引。 * 将你的 Linux 主机连上网际网路 相关文件 [30]Linux ISP Hookup HOWTO, [31]Linux PPP HOWTO, [32]Linux DHCP mini-HOWTO 及 [33]Linux Cable Modem mini-HOWTO * Ipfwadm 2.3 或更新的版本可以从这里取得 [34]ftp://ftp.xos.nl/pub/linux/ipfwadm/ipfwadm-2.3.tar.gz 在 Linux Ipfwadm 网页上有更多关於版本的资讯 [35]Linux IPFWADM page * 你可以选择性地加上一些 IP Masquerade 修补档以增加其它功能。 从这里 可以取的更多资讯, [36]IP Masquerade Resources (这些修补档适用於所 有的 2.0.x 核心) 3. IP Masquerade 的设定 如果你的私用网路里有任何重要的资讯,在使用 IP Masquerade 之前请三思 。这可能成为你通往网际网路的闸道,反之亦然,也可能成为另一边的世界进 入你私用网路的途径。 3.1 编译核心加入 IP Masquerade 的支援 如果你的 Linux 发行套件已经将下面将提到的所需特性及模组编译进去的 话(大部份模组化的核心有你所需的东西),那麽你不需要重新编译核心。 不 过仍十分建议你读一读此节,因为它包含了其它有用的资讯。 Linux 2.2.x 版核心 * 首先,你需要 2.2.x 版核心的原始程式码。 * 如果这是你第一次编译核心,不要害怕。 事实上,这非常容易而且涵盖於 [37]Linux Kernel HOWTO。 * 以这个指令: tar xvzf linux-2.2.x.tar.gz -C /usr/src 将核心原始码解 开至 /usr/src/, 其中 x 是 2.2 之後的修补层级(确定有一叫 linux 的目 录或符号连结)。 * 加上适当的修补。因为新的修补档不断出来,所以细节不会包含在这里。 最 新的资讯请参考 [38]IP Masquerade Resources。 * 有关编译核心更进一步的介绍请参考 Kernel HOWTO 以及核心原始程式码目 录里的 README 档案。 * 这里是你要编译进去的选项: 下列选项要回答 YES: * Prompt for development and/or incomplete code/drivers CONFIG_EXPERIMENTAL - 这将让你能选择把实验性的 IP Masquerade 程式码编译到核心里去 * Enable loadable module support CONFIG_MODULES - 让你能够载入 ipmasq 相关模组如 ip_masq_ftp.o * 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 CONFIG_IP_MASQUERADE * IP: ipportfw masq support CONFIG_IP_MASQUERADE_IPPORTFW - 建议加入 * IP: ipautofw masquerade support CONFIG_IP_MASQUERADE_IPAUTOFW - 可选用 * IP: ICMP masquerading CONFIG_IP_MASQUERADE_ICMP - 支援伪装 ICMP 封包,建议加入 * IP: always defragment CONFIG_IP_ALWAYS_DEFRAG - 高度建议使用 * Dummy net driver support CONFIG_DUMMY - 建议加入 * IP: ip fwmark masq-forwarding support CONFIG_IP_MASQUERADE_MFW - 可选用 注意: 这只不过是你跑 IP Masquerade 所需的项目,其它的按照你所需的来 选择。 * 在编译完核心之後,你需要编译及安装模组: make modules; make modules_install * 然後把下面几行加到你的 /etc/rc.d/rc.local 档案 (或其它你认为适当的 档案)中以便於每次重开机时自动载入位於 /lib/modules/2.2.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 转送功能在 2.2.x 版核心中预设是关闭的,请确定你以此指令将 其打开: echo "1" > /proc/sys/net/ipv4/ip_forwarding 对於 Red Hat 的使用者来说,你可以把 /etc/sysconfig/network 中的 FORWARD_IPV4=false 改成 FORWARD_IPV4=true。 * 重新启动 Linux 主机。 Linux 2.0.x Kernels * 首先,你需要核心的原始程式码(最好是最新的 2.0.36 或以上的版本)。 * 如果这是你第一次编译核心,不要害怕。 事实上,这非常容易而且涵盖於 [39]Linux Kernel HOWTO。 * 以这个指令: tar xvzf linux-2.0.x.tar.gz -C /usr/src 将核心原始码解 开至 /usr/src/, 其中 x 是 2.0 之後的修补层级(确定有一叫 linux 的目 录或符号连结)。 * 加上适当的修补。因为新的修补档不断出来,所以细节不会包含在这里。 最 新的资讯请参考 [40]IP Masquerade Resources。 * 有关编译核心更进一步的介绍请参考 Kernel HOWTO 以及核心原始程式码目 录里的 README 档案。 * 这里是你要编译进去的选项: 下列选项要回答 YES: * Prompt for development and/or incomplete code/drivers CONFIG_EXPERIMENTAL - 这将让你能选择把实验性的 IP Masquerade 程式码编译到核心里去 * 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: ipautofw masquerade support (EXPERIMENTAL) CONFIG_IP_MASQUERADE_IPAUTOFW - 建议加入 * IP: ICMP masquerading CONFIG_IP_MASQUERADE_ICMP - 支援伪装 ICMP 封包,可选用 * IP: always defragment CONFIG_IP_ALWAYS_DEFRAG - 高度建议使用 * Dummy net driver support CONFIG_DUMMY - 建议加入 注意: 这只不过是你跑 IP Masquerade 所需的项目,其它的按照你所需的来 选择。 * 在编译完核心之後,你需要编译及安装模组: 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 转送功能在 2.0.34 之後的核心中预设是关闭的,请确定你以此指 令将其打开: echo "1" > /proc/sys/net/ipv4/ip_forwarding 对於 Red Hat 的使用者来说,你可以把 /etc/sysconfig/network 中的 FORWARD_IPV4=false 改成 FORWARD_IPV4=true。 * 重新启动 Linux 主机。 3.2 指定私用网路的 IP 位址 因为所有其它机器都没有正式指定的位址,必须有个正确的方式来分配位址给这 些机器。 节自 IP Masquerade FAQ: 有份 RFC (#1597, 现在可能已过时了) 是有关没有与外界连线的网路该使用什麽 IP 位址。有三个数字区块是特别为这个目的而保留的。其中一个我使用的是 192.168.1.n 到 192.168.255.n 之间的 255 Class-C 子网路。 节自 RFC 1597:第三节: 私用位址空间 网际网路位址指定当局(IANA: Internet Assigned Numbers Authority) 已经保留下列三个区块的 IP 位址空间给私用网路: 10.0.0.0 - 10.255.255.255 172.16.0.0 - 172.31.255.255 192.168.0.0 - 192.168.255.255 我们将称第一个区块为 "24位元区块",第二个为 "20位元区块", 而第三个则称为 "16位元区块"。注意到第一个区块就只是个 class A 网路号码,第二个区块则是连续的 16 个 class B 网路 号码,而第三个区块是一组 255 个连续的 class C 网路号码。 所以,如果你要使用一个 class C 网路的话,那麽你的机器应该以 192.168.1.1, 192.168.1.2, 192.168.1.3, ..., 192.168.1.x 来名之。 192.168.1.1 通常是闸道这台机器,在此即你连上网际网路的 Linux 主机。注意 192.168.1.0 以及 192.168.1.255 分别为网路以及广播位址,是保留的。避免在 你的机器上使用这些位址。 3.3 配置其它机器
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -