歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> Linux IP Masquerade mini HOWTO 中譯版(1)

Linux IP Masquerade mini HOWTO 中譯版(1)

日期:2017/2/27 9:39:14   编辑:更多Linux

這份文件描述如何在一台 Linux 主機上起動 IP Masquerade 功能,允許沒有注冊網際網路 IP 位址的連線電腦經由你的 Linux 機器連接網際網路.     1. 簡介   1.1 簡介   1.2 前言,回饋 & 參考資訊   1.3 版權 & 宣告     2. 背景知識   2.1 什麽是 IP Masquerade?   2.2 現況   2.3 誰可以從 IP Masquerade 中獲益?   2.4 誰不需要 IP Masquerade?   2.5 IP Masquerade 是如何運作的?   2.6 在 Linux 2.x 上使用 IP Masquerade 的需求     3. IP Masquerade 的設定   3.1 編譯核心加入 IP Masquerade 的支援   3.2 指定私用網路的 IP 位址   3.3 配置其它機器   3.4 配置 IP 轉送(Forwarding)的方式   3.5 測試 IP Masquerade     4. 其它 IP Masquerade 的問題及軟體支援   4.1 IP Masquerade 的問題   4.2 進入系統的服務(incoming services)   4.3 已支援的客戶端軟體以及其它設定方面的注意事項   4.4 IP Firewall Administration (ipfwadm)   4.5 IP Masquerade 以及需求式撥接(Demand-Dial-Up)   4.6 IPautofw 封包轉送程式     5. 其它   5.1 求助   5.2 感謝   5.3 參考資料     2. 背景知識     2.1 什麽是 IP Masquerade?   IP Masquerade 是 Linux 發展中的一種網路功能.如果一台 Linux 主機使用 IP Masquerade 功能連線到網際網路上,那麽接上它的電腦(不論是在同一個區域網路上或藉由數據機連線)也可以接觸網際網路,即使它們沒有獲得正式指定的 IP 位址.     這使得一些電腦可以隱藏在閘道(gateway) 系統後面存取網際網路而不被發現,看起來就像只有這個系統在使用網際網路.突破設定良好的偽裝(masquerade)系統之安全防護應該會比突破良好的封包過濾式防火牆(packet filter firewall)來得更加困難(假設兩者之中都沒有錯誤).     2.2 現況   IP Masquerade 仍然在實驗階段.無論如何,核心從 1.3.x 開始已經內建這項支援.許多個人甚至公司正在使用它,而有滿意的結果.     浏覽網頁以及遠端簽入(telnet)已經有回報表示可以在 IP Masquerade 上運作.檔案傳輸(FTP),網路交談(IRC) 以及聆聽 Real Audio 現在可以載入某些模組配合.其它的網路資料流音訊 (streaming audio) 像是 True Speech 以及 Internet Wave 也能運作.一些郵遞列表中的使用夥伴甚至還嘗試過視訊會議軟體. Ping 現在配合新近可以取得的網際網路控制訊息協定(ICMP)修補檔也能運作.     更完整的支援軟體列表請參考 4.3 節.     IP Masquerade 在數種不同的作業系統及平台上與 客戶端機器 配合良好.成功的案例有使用 Unix, Windows95, Windows NT, Windows for Workgroup (with TCP/IP package), OS/2, Macintosh Systems OS with Mac TCP, Mac Open Transport, DOS with NCSA Telnet package, VAX, Alpha with Linux, 甚至 Amiga with AmiTCP 或 AS225-stack 的系統.     2.3 誰可以從 IP Masquerade 中獲益?     如果你有台連接網際網路的 Linux 主機,而且   如果你有一些執行 TCP/IP 連接到 Linux 機器的電腦在區域網路上,以及/或是   如果你的 Linux 主機有一個以上的數據機並且作為 PPP 或 SLIP 伺服器連接其它電腦,它們   這些其它機器沒有正式指定的 IP 位址.(這些機器從這裡開始以後就稱為其它機器)   而且當然,如果你希望這些其它機器不必花額外的費用就能連上網際網路 :)     2.4 誰不需要 IP Masquerade?     如果你的機器是單獨一台(stand-alone) 連接網際網路的 Linux 主機,那麽執行 IP Masquerade 沒什麽意義,或者   如果你的其它機器擁有正式指定的 IP 位址,那麽你就不需要 IP Masquerade   而且當然,如果你不喜歡免費使用(free ride) 這個主意的話.     2.5 IP Masquerade 是如何運作的?   節自 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) 服務,但代理位址解析的設定超過這份文件   的□圍.     下面節錄自 comp.os.linux.networking 的一篇布告並且稍加編輯以   符合上述□例的用詞:     。我告訴 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 或更新的版本,可以從這裡取得 http://www.pi.se/blox/modules/modules-2.0.0.tar.gz   (至少需要 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 Resource 以獲得最新資訊,因為經常更新這份 HOWTO 是滿困難的. **     首先,你需要核心的原始程式碼(最好是穩定的 2.0.0 版或以上的核心)   如果這是你第一次編譯核心,不要害怕.事實上,這非常容易而且涵蓋於 Linux Kernel HOWTO   使用指令: tar xvzf linux-2.0.x.tar.gz -C /usr/src 把核心的原始程式碼解至 /usr/src/,其中 x 是 2.0 之後的修補層級   (確定有個稱為 linux 的目錄或符號鏈結)   加上適當的修補.因為新的修補檔不斷出來,所以細節不會包含在這裡.最新的資訊請參考 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 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 來載入,這是不行的!   




Copyright © Linux教程網 All Rights Reserved