跳轉到內容

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 偽裝伺服器一起執行)。

華夏公益教科書