跳转到内容

Linux 网络/IP 伪装

来自维基教科书,开放书籍,开放世界

IP 伪装

[编辑 | 编辑源代码]

许多人使用简单的拨号帐户连接到互联网。几乎所有使用这种配置的人都被互联网服务提供商分配了一个单独的 IP 地址。这通常足以让一台主机完全访问网络。IP 伪装是一个巧妙的技巧,它使你可以让许多机器使用这个 IP 地址,通过让其他主机看起来像支持拨号连接的机器,因此被称为伪装。有一个小问题是,伪装功能几乎总是只在一个方向上工作,也就是说被伪装的主机可以发起连接,但它们不能接受或接收来自远程主机的网络连接。这意味着某些网络服务无法工作,例如 talk,而其他服务(例如 ftp)必须配置为以被动(PASV)模式运行。幸运的是,最常见的网络服务(如 telnet、万维网和 irc)运行良好。

内核编译选项


            Code maturity level options  --->
                [*] Prompt for development and/or incomplete code/drivers
            Networking options  --->
                [*] Network firewalls
                ....
                [*] TCP/IP networking
                [*] IP: forwarding/gatewaying
                ....
                [*] IP: masquerading (EXPERIMENTAL)


通常,你的 Linux 机器支持一个 slip 或 PPP 拨号线路,就像它是独立机器一样。此外,它还将配置另一个网络设备,可能是以太网,并配置一个保留的网络地址。要被伪装的主机将位于这个第二个网络上。这些主机中的每一个都将把 Linux 机器以太网端口的 IP 地址设置为其默认网关或路由器。

一个典型的配置可能看起来像这样


	     -                                   -
	      \                                  | 192.168.1.0
	       \                                 |   /255.255.255.0
		\                 ---------      |
		 |                | Linux | .1.1 |
	     NET =================| masq  |------|
		 |    PPP/slip    | router|      |  --------
		/                 ---------      |--| host |
	       /                                 |  |      |
	      /                                  |  --------
	     -                                   -


使用 IPFWADM 伪装

与该配置最相关的命令是

            # Network route for ethernet
            route add -net 192.168.1.0 netmask 255.255.255.0 eth0
            #
            # Default route to the rest of the internet.
            route add default ppp0
            #
            # Cause all hosts on the 192.168.1/24 network to be masqueraded.
            ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0


使用 IPCHAINS 伪装

这与使用 IPFWADM 类似,但命令结构已更改

            # Network route for ethernet
            route add -net 192.168.1.0 netmask 255.255.255.0 eth0
            #
            # Default route to the rest of the internet.
            route add default ppp0
            #
            # Cause all hosts on the 192.168.1/24 network to be masqueraded.
            ipchains -A forward -s 192.168.1.0/24 -j MASQ


你可以从 IP 伪装资源页面获得有关 Linux IP 伪装功能的更多信息。此外,关于伪装的非常详细的文档是“IP-Masquerade mini-HOWTO”(它还指导配置其他操作系统以与 Linux 伪装服务器一起运行)。

华夏公益教科书