這份文件描述如何在一台 Linux 主機上起動 IP Masquerade 功能
IP Masquerade 是 Linux 發展中的一種網路功能.如果一台 Linux 主機使用 IP Masquerade 功能連線到網際網路上
這使得一些電腦可以隱藏在閘道(gateway) 系統後面存取網際網路而不被發現
IP Masquerade 仍然在實驗階段.無論如何
浏覽網頁以及遠端簽入(telnet)已經有回報表示可以在 IP Masquerade 上運作.檔案傳輸(FTP)
更完整的支援軟體列表請參考
IP Masquerade 在數種不同的作業系統及平台上與 客戶端機器 配合良好.成功的案例有使用 Unix
如果你有台連接網際網路的 Linux 主機
如果你有一些執行 TCP/IP 連接到 Linux 機器的電腦在區域網路上
如果你的 Linux 主機有一個以上的數據機並且作為 PPP 或 SLIP 伺服器連接其它電腦
這些其它機器沒有正式指定的 IP 位址.(這些機器從這裡開始以後就稱為其它機器)
而且當然
如果你的機器是單獨一台(stand
如果你的其它機器擁有正式指定的 IP 位址
而且當然
節自 Ken eves 的 IP Masquerade FAQ:
這是大部分簡單的設定草圖:
SLIP/PPP +
to provider | Linux | SLIP/PPP | Anybox |
<---------- modem1| |modem2 ----------- modem | |
111.222.333.444 | | 192.168.1.100 | |
+------------+ +-------------+
上面的草圖中一台安裝並執行 ip_masquerading 的 Linux
機器使用 modem1 經由 SLIP/or/PPP 連接網際網路.它有一個
指定的 IP 位址 111.222.333.444.它設定 modem2 允許撥接者
簽入並起始 SLIP/or/PPP 連結.
第二個系統(不必是執行 Linux 的系統)撥接進入 Linux
機器並起始 SLIP/or/PPP 連結.它在網際網路上並沒有指定的
IP 位址所以它使用 192.168.1.100.(參閱下述)
配合 ip_masquerade 及適當遞送配置(routing configured)
Anybox 這台機器可以跟網際網路交流就如同它真的連在上面般
(除了少數例外).
節錄 Pauline Middelink:
別忘記提到 ANYBOX 應該把 Linux 機器當作它的閘道(無論是
預設遞送路徑或只是個子網路都沒關系).如果 ANYBOX 不能夠
這樣設, Linux 機器應該為所有要遞送的位址做代理位址解析
析協定(proxy arp) 服務,但代理位址解析的設定超過這份文件
的□圍.
下面節錄自 working 的一篇布告並且稍加編輯以
符合上述□例的用詞:
。tW.WIngwIT.COM我告訴 ANYBOX 這台機器跑 slip 的 linux 機器是它的閘道.
。當一個封包從 ANYBOX 進入 linux 機器時,它會指定新的來源埠
號(source port number),把它自己的 ip 位址塞入封包的標頭並
儲存原來的.然後它將會藉由 SLIP/or/PPP 界面把修改過的封包
送上網際網路.
。當一個封包從網際網路來到 linux 機器時,如果埠號是上面指定
的其中一個,它將會取出原來的埠號以及 ip 位址,把它們放回封
包的標頭,並且把封包送往 ANYBOX .
。送出封包的主機將永遠不知道其中的差別.
一個 IP Masquerading 的例子:
下面的圖示是典型的例子:-
+----------+
| | Ethernet
| abox |::::::
| |2 :192.168.1.x
+----------+ :
: +----------+ PPP
+----------+ : 1| Linux | link
| | ::::| masq-gate|:::::::::// Internet
| bbox |:::::: | |
| |3 : +----------+
+----------+ :
:
+----------+ :
| | :
| cbox |::::::
| |4
+----------+
<-Internal Network->
在這個例子中我們考慮四台電腦系統(想必遙遠的右方還有些東西讓你到網際網路的 IP 連線能夠連接,以及一些(遠超過這一頁)在網際網路上你有興趣交換資訊的東西).這個 Linux 系統 masq-gate 是 abox, bbox, cbox 內部網路機器連接網際網路的偽裝閘道.內部網路使用指定的私用(private) 網路位址,在這個案例中是 class C 網路 192.168.1.0, Linux 機器擁有位址 192.168.1.1 而其它系統也擁有此網路上的位址.
這三台機器 abox, bbox 以及 cbox (它們可以執行任何作業系統 - 像是 Windows 95, Macintosh MacTCP 或甚至是另一台 Linux 機器,只要它們能了解 IP)可以連線到網際網路上的其它機器去,然而這個偽裝系統閘道 masq-gate 轉換它們所有的連線所以這些連線看起來像是原本即從偽裝閘道 masq-gate 本身發出的,而且還安排偽裝連線傳回的資料轉回原先的系統 - 所以在內部網路上的系統看到的是直接通往網際網路的遞送路徑而且不知道他們的資料被偽裝過.
2.6 在 Linux 2.x 上使用 IP Masquerade 的需求
** 請參考 IP Masquerade Resource 以獲得最新資訊,因為經常更新這份 HOWTO 是滿困難的. **
核心 2.0.x 的原始程式碼可以從這裡取得 ftp://ftp.funet.fi/pub/Linux/kernel/src/v2.0/
(是的,你將得配合加入一些支援來編譯你的核心.... 建議最新的穩定版本)
可載入核心模組,最好是 2.0.0 或更新的版本,可以從這裡取得
(至少需要 modules-1.3.57)
設定良好的 TCP/IP 網路
涵蓋於 Linux NET-2 HOWTO 及網路管理者指引(Network Administrators Guide) Network Administrators Guide
你的 Linux 主機的網際網路連線
涵蓋於 Linux ISP Hookup HOWTO, Linux PPP HOWTO 以及 Linux PPP-over-ISDN mini-HOWTO
Ipfwadm 2.3 或更新的版本可以從這裡取得
ftp://ftp.xos.nl/pub/linux/ipfwadm/ipfwadm-2.3.tar.gz 在 Linux Ipfwadm 網頁上有更多關於版本的資訊 Linux Ipfwadm page
你可以選擇性地加上一些 IP Masquerade 修補檔以增加其它功能.從這裡可以取的更多資訊, IP Masquerade Resources (這些修補檔適用於所有的 2.0.x 核心)
3. IP Masquerade 的設定
如果你的私用網路裡有任何重要的資訊,在使用 IP Masquerade 之前請三思.這可能成為你通往網際網路的閘道,反之亦然,也可能成為另一邊的世界進入你私用網路的途徑.
3.1 編譯核心加入 IP Masquerade 的支援
** 請參考 IP Masquerade Re
From:http://tw.wingwit.com/Article/program/Oracle/201311/18486.html