Jest to funkcja sieciowa w fazie rozwoju w Linuksie. Jeśli na podłączonym do Internetu Linuksie jest włączony masquerading, to komputery łączące się z nim (czy to w tej samej sieci czy też przez modem) mogą także połączyć się z Internetem, pomimo iż nie mają swojego oficjalnego numeru IP.
Pozwala to grupom maszyn ukrytym za gateway-em, który wydaje się być jedynym komputerem łączącym się z Internetem, na niewidzialny dostęp do Internetu. Złamanie zabezpieczeń dobrze skonfigurowanego systemu masqueradingu powinno być trudniejsze od złamania dobrego firewall-a opartego na filtrowaniu pakietów (zakładając, że w obu nie ma błędów software-owych).
Masquerading IP jest nadal w fazie eksperymentalnej. Jednak, jądra od wersji 1.3.x mają już wbudowaną obsługę. Wiele osób prywatnych jak i instytucji używa go z zadowalającym rezultatem.
Przeglądanie sici WWW oraz usługa telnet działają według zgłoszeń
dobrze. FTP, IRC i słuchanie Real Audio działają po załadowaniu
pewnych modułów. Inne systemy przekazu audio jak True Speech czy
Internet Wave takze działają. Niektórzy z listy dyskusyjnej
próbowali nawet konferencji wideo. Po zaaplikowaniu najnowszej łaty
ICMP działa także ping
.
Dokładniejszą listę działającego oprogramowania znajdziesz w sekcji 4.3.
Masquerading IP działa dobrze z klientami na kilku różnych systemach operacyjnych i platformach. Pozytywne przypadki odnotowano z Unix-em, Windows 95, Windows NT, Windows for Workgroups (z pakietem TCP/IP), OS/2, Macintosh System's OS z Mac TCP, Mac Open Transport, DOS z pakietem NCSA Telnet, VAX, Alpha z Linux-em i nawet Amiga z AmiTCP czy ze stosem AS225.
Wzięte z IP Maquerade FAQ autorstwa Kena Evesa:
Oto rysunek przedstawiający najprostszy przypadek: SLIP/PPP +------------+ +-------------+ do prowajdera | Linux | SLIP/PPP | Cokolwiek | <---------- modem1| |modem2 ----------- modem | | 111.222.333.444 | | 192.168.1.100 | | +------------+ +-------------+ Na powyższym rysunku Linux z zainstalowanym i działającym ip_masquerading jest połączony z Internetem poprzez SLIP lub PPP przez modem1. Ma on przypisany adres IP 111.222.333.444. Istnieje też możliwość połączenia się z nim poprzez łącze dzwonione SLIP/PPP przez modem2. Drugi system (który nie musi być Linux-em) wdzwania się do Linux-a i otwiera połączenie SLIP/PPP. NIE ma on przypisanego adresu IP w Internecie więc używa 192.168.1.100 (zobacz poniżej). Z poprawnie skonfigurowanymi ip_masquerading-iem i routing-iem Cokolwiek może połączyć się z Internetem jak gdyby rzeczywiście było podłączone (z kilkoma wyjątkami). Cytat Pauline Middelink: Nie zapomnij wspomnieć, że Cokolwiek powinno mieć jako gateway Linux-a (czy to będzie domyślny routing czy tylko podsieć nie ma znaczenia) Jeśli Cokolwiek nie może tego zrobić, Linux powinien działać jako proxu arp dla wszystkich routowanych adresów, ale ustawianie proxy arp jest poza obaszarem tego dokumentu. Następujące jest wyjątkiem z postu na grupie comp.os.linux.networking, który został poddany edycji, aby nazwy użyte w przykładzie powyżej pasowały: o Informuję Cokolwiek, że mój Linux ze SLIP-em jest jego gatewayem. o Kiedy nadejdzie do Linux-a pakiet z Cokolwiek, zostanie mu nadany nowy numer portu źródłowego oraz dodany adres Linux-a w nagłówku pakietu z zachowaniem oryginału. Potem Linux wyśle ten pakiet w świat przez SLIP/PPP. o Kiedy nadejdze do Linux-a pakiet ze świata, jeśli numer portu jest jednym z nadanych powyżej, zostanie nadany mu oryginalny port i adres IP i pakiet ten zostanie przesłąny do Cokolwiek. o Host, który wysłał pakiet nigdy nie będzie widział różnicy.
Przykład Masqueradingu IP.
Oto typowy przykład:
+----------+ | | Ethernet | komp1 |:::::: | |2 :192.168.1.x +----------+ : : +----------+ łącze +----------+ : 1| Linux | PPP | | ::::| masq-gate|:::::::::// Internet | komp2 |:::::: | | | |3 : +----------+ +----------+ : : +----------+ : | | : | komp3 |:::::: | |4 +----------+ <-Sieć wewnętrzna->
W tym przykładzie są 4 komputrery, na których się skupiliśmy
(najpewniej jest jeszcze coś daleko na prawo, przez co przechodzi
twoje połączenie z Internetem, i jest coś (daleko poza stroną) w
Internecie, z czym byś chciał się komunikować). Linux
masq-gate
jest gateway-em z masqueradingiem dla wewnętrznej
sieci złożonej z komp1
, komp2
i komp3
, które chcą
się dostać do Internetu. Sieć wewnętrzna używa jednego z adresów do
prywatnego użytku, w tym przypadku sieci klasy C 192.168.1.0,
Linux-em posiadającym adres 192.168.1.1 i innymi systemami
posiadającymi adresy w tej sieci.
Trzy maszyny komp1
, komp2
i komp3
(które mogą, przy
okazji, mogą być jakimkolwiek innym systemem rozumiejącym IP - jak
np.: Windows 95, Macintosh MacTCP czy nawet
kolejny Linux) mogą połączyć się z innymi maszynami w Internecie,
jednak system masqueradingu masq-gate
zamienia wszystkie ich
połączenia, tak żeby wyglądały jakby pochodziły z masq-gate
i
zajmuje się tym, aby dane przychodzące spowrotem do połączenia
maskaradowanego zostały przekazane do odpowiedniego systemu - tak
więc systemy w wewnętrznej sieci widzą bezpośrednie połączenie z
Internetem i są nieświadome, że ich dane są zmieniane.
** Najnowsze informacje znajdziesz na stronie zasobów dla masqueradingu. Trudno jest uaktualniać często HOWTO.**