Jak założyæ maskowanie IP czyli IP-Masquerade.

Autor: Ambrose Au, ambrose@writeme.com
v1.20, 10 Listopada 1997
Wersja polska: Bartosz Maruszewski B.Maruszewski@jtz.org.pl
v1.0, 23 Września 1998


Dokument ten opisuje jak włączyæ maskowanie IP na hoście linux-owym, pozwalając tym samym na dostêp do Internetu komputerom podłączonym do tego Linux-a i nie posiadającym własnego adresu IP.

1. Wprowadzenie.

Dokument ten opisuje jak włączyæ maskowanie IP na hoście linux-owym, pozwalając tym samym na dostêp do Internetu komputerom podłączonym do tego Linux-a i nie posiadającym własnego adresu IP. Możliwe jest podłączenie tych komputerów do Linux-a poprzez Ethernet czy inne medium jak linie dzwonione ppp. Dokument ten skupi siê na połączeniach Ethernet, ponieważ jest to najbardziej rozpowszechniony przypadek.

Dokument ten jest przeznaczony dla użytkowników jąder 2.0.x. Jądra w wersji rozwojowej NIE są opisane.

1.1 Słowo wstêpne, komentarze & prawa.

Założenie maskowania na nowszych jądrach (tj. 2.x) bêdąc nowym użytkownikiem, jest trochê trudne moim zdaniem. Chociaż jest FAQ i lista dyskusyjna, nie ma żadnego specjalnie dla tego tematu przeznaczonego dokumentu; a pojawiają siê na liście dyskusyjnej żądania o takowy. Tak wiêc zdecydowałem siê napisaæ taki dokument jako punkt oparcia dla nowych użytkowników, i pewnie także coś dla doświadczonych użytkowników, którzy mogą go dalej rozbudowywaæ. Jeśli sądzisz, że nie robiê tego źle, to nie bój siê mi tego powiedzieæ, jak mogê to zrobiæ lepiej.

Dokument ten jest w dużej mierze oparty o oryginalne FAQ napisane przez Kena Evesa i dużą liczbê pomocnych wiadomości z listy dyskusyjnej o maskowaniu IP. Specjalne podziêkowania należą siê Panu Matthew Driverowi, którego to list zainspirował mnie do zainstalowania maskowania IP i napisania tego.

Nie krêpuj siê napisaæ mi jakiekolwiek komentarze na adres ambrose@writeme.com, jeśli podaje jakieś błêdne informacje lub jakiejś informacji brakuje. Wasze nieocenione komentarze na pewno wpłyną na przyszłośæ tego HOWTO!

To HOWTO ma byæ podrêcznikiem pomocnym do jak najszybszego ustawienia maskowania IP. Ponieważ nie mam praktyki w pisaniu technicznych dokumentów, możesz stwierdziæ, że informacje zawarte tutaj nie są takie ogólne i obiektywne jak powinny byæ. Najnowsze informacje można znaleźæ na stronie Zasoby IP-Masquerade, którą prowadzê. Jeśli masz jakieś techniczne pytania na temat maskowania, dopisz siê do listy dyskusyjnej zamiast wysyłaæ listy do mnie, ponieważ mój czas jest ograniczony oraz ci którzy rozwijają kod maskowania są bardziej kompetentni do odpowiedzi na te pytania.

Najnowsza wersja oryginału tego dokumentu znajduje siê na stronie Zasoby IP Masquerade, gdzie są także wersje HTML i PostScript:

1.2 Prawa autorskie i zastrzeżenia.

Prawa autorskie należą do Ambrose Au (C) 1996 i jest to dokument wolnodostêpny. Można go rozprowadzaæ na zasadach licencji GNU GPL.

Informacje i cała zawartośæ tego dokumentu są najlepsze o których wiem. Jednak maskowanie IP jest eksperymentalne i możliwe, że zrobiê jakiś błąd. Tak wiêc powinieneś siê zastanowiæ czy chesz stosowaæ informacje z tego dokumentu.

Nikt nie jest odpowiedzialny za jakiekolwiek szkody czy zniszczenia wynikłe z używania informacji tutaj zawartych, tj:

AUTOR NIE JEST ODPOWIEDZIALNY ZA JAKIEKOLWIEK ZNISZCZENIA POWSTAŁE NA SKUTEK DZIAŁAÑ PODJÊTYCH NA PODSTAWIE INFORMACJI Z TEGO DOKUMENTU.

1.3 Od tłumacza.

Tłumaczenie to jest chronione prawami autorskimi © Bartosza Maruszewskiego. Dozwolone jest rozprowadzanie i dystrybucja na prawach takich samych jak dokument oryginalny.

Jeśli znalazłeś jakieś rażące błêdy ortograficzne, gramatyczne, składniowe, techniczne to pisz do mnie:

B.Maruszewski@jtz.org.pl

Oficjalną stroną tłumaczeñ HOWTO jest http://www.jtz.org.pl/

Aktualne wersje przetłumaczonych dokumentów znajdują siê na tejże stronie. Dostêpne są także poprzez anonimowe ftp pod adresem ftp.jtz.org.pl w katalogu /JTZ/.

Przetłumaczone przeze mnie dokumenty znajdują siê także na mojej stronie WWW. Są tam też odwołania do Polskiej Strony Tłumaczeniowej.

Kontakt z naszą grupą, grupą tłumaczy możesz uzyskaæ poprzez listê dyskusyjną jtz@jtz.org.pl. Jeśli chcesz sie na nią zapisaæ, to wyślij list o treści subscribe jtz Imiê Nazwisko na adres majordomo@ippt.gov.pl

Zmiany wprowadzone przez tłumacza:

2. Podstawowa wiedza.

2.1 Co to jest maskowanie IP.

Jest to funkcja sieciowa w fazie rozwoju w Linuksie. Jeśli na podłączonym do Internetu Linux-ie jest włączone maskowanie, 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 ukrytych 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 maskowania 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).

2.2 Obecny stan.

Maskowanie 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 także 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.

Maskowanie 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.

2.3 Kto może mieæ korzyści z maskowania IP?

2.4 Kto nie potrzebuje maskowania IP?

2.5 Jak działa maskowanie IP?

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
   maskowaniem 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 maskowaniem IP 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 proxy arp dla wszystkich routowanych adresów, ale
   ustawianie proxy arp jest poza obszarem 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łany do Cokolwiek.
   o Host, który wysłał pakiet nigdy nie bêdzie widział różnicy.

Przykład Maskowania 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 maskowaniem 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, z 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, 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 maskowania 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 maskowanego 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.

2.6 Wymagania dla maskowania IP na Linuksie 2.x.

** Najnowsze informacje znajdziesz na stronie zasobów dla maskowania. Trudno jest czêsto uaktualniaæ HOWTO.**

3. Ustawianie maskowania IP.

Jeśli twoja prywatna sieæ zawiera jakieś ważne informacje, pomyśl trochê zanim zaczniesz korzystaæ z maskowania. Może to byæ twoja brama do Internetu, ale także brama do twojej sieci dla kogoś z zewnątrz.

3.1 Kompilacja jądra dla obsługi maskowania.

** Najnowsze informacje znajdziesz na stronie zasobów dla maskowanieu. Trudno jest czêsto uaktualniaæ HOWTO.**

Uwaga: Możesz także załadowaæ te moduły rêcznie przed użyciem ip_masq, ale NIE używaj do tego celu kerneld - to NIE bêdzi działaæ!

3.2 Przypisywanie adresów IP w prywatnej sieci.

Ponieważ wszystkie INNE maszyny nie mają przypisanych adresów, musi byæ jakiś poprawny sposób, aby nadaæ im takie adresy.

Z IP Masquerade FAQ:

Jest RFC (#1597) informujące które adresy IP mogą byæ używane w niepołączonych sieciach. Są 3 bloki przeznaczone do tego celu. Ten, którego używam to podsieci klasy C o adresach 192.168.1.n do 192.168.255.n.

Z RFC 1597:

Rozdział 3: Prywatna przestrzeñ adresowa

IANA (Internet Assigned Numbers Authority) zarezerwowało nastêpujące
trzy bloki przestrzeni adresów IP dla prywatnych sieci:

              10.0.0.0        -   10.255.255.255
              172.16.0.0      -   172.31.255.255
              192.168.0.0     -   192.168.255.255

Do pierwszego bêdziemy siê odnosiæ jako "24-bitowy blok", do drugiego
jako "20-bitowy blok" i do trzeciego jako "16-bitowy blok". Zauważ, że
pierwszy blok to nic innego jak pojedynczy numer sieci klasy A,
podczas gdy drugi blok to ciągły blok 16. sieci klasy B i trzeci blok
to ciągły blok 255. sieci klasy C.

Tak wiêc, jeśli używasz sieci klasy C, powinieneś nadaæ swoim maszynom adresy 192.168.1.1, 1.92.168.1.2, 1.92.168.1.3, ..., 192.168.1.x.

192.168.1.1 to zwykle gateway, który jest Linux-em łączącym ciê z Internetem. Zauważ, że 192.168.1.0 i 192.168.1.255, to odpowiednio adresy sieci i broadcast, które są zarezerwowane. Unikaj użycia tych adresów na twoich maszynach.

3.3 Konfiguracja INNYCH maszyn.

Oprócz ustawienia na każdej maszynie adresu IP, powinieneś także ustawiæ odpowiedni gateway. Ogólnie, jest to raczej proste. Po prostu wpisujesz adres swojego Linux-a (zwykle 192.168.1.1) jako adres gateway-a.

Jako DNS możesz wpisaæ jakikolwiek dostêpny adres serwera DNS-u. Najlepiej ten sam, którego używa twój Linux. Możesz także dodaæ jakąkolwiek domenê do przeszukiwania.

Po tym jak skonfigurowałeś te adresy IP, nie zapomnij zrestartowaæ odpowiednich serwisów lub systemów.

Nastêpujące wskazówki konfiguracyjne zakładają, że używasz sieci klasy C, twój Linux ma adres 192.168.1.1. Pamiêtaj, że 192.168.1.0 i 192.168.1.255 są zarezerwowane.

Konfiguracja windows 95.

  1. Jeśli jeszcze nie zainstalowałeś karty sieciowej, zrób to teraz.
  2. Przejdź do Panel Sterowania/Sieæ.
  3. Dodaj protokół TCP/IP jeśli jeszcze go nie masz.
  4. We właściwościach TCP/IP przejdź do Adres IP i ustaw na 192.168.1.x (1 < x < 255) i wtedy ustaw Maskê podsieci na 255.255.255.0
  5. Dodaj 192.168.1.1 jako twój gateway w polu Gateway.
  6. W Konfiguracji DNS dodaj serwer DNS, którego używa twój Linux (zwykle jest w pliku /etc/resolv.conf). Opcjonalnie możesz dodaæ jakąś domenê do przeszukiwania.
  7. Pozostaw resztê ustawieñ w takim stanie w jakim są, chyba że wiesz co robisz.
  8. Kliknij OK we wszystkich okienkach i zrestartuj system.
  9. ping-nij Linux-a, aby sprawdziæ połączenie sieciowe: Start/Uruchom, wpisz ping 192.168.1.1
    (To jest tylko test dla sieci lokalnej. Nie możesz jeszcze testowaæ połączenia na świat.)
  10. Możesz opcjonalnie stworzyæ w katalogu windows plik HOSTS, żebys mógł używaæ nazw hostów (bez domeny) ze swojej sieci. W katalogu windows znajduje siê przykład o nazwie HOSTS.SAM.

Konfiguracja Windows for Workgroups 3.11.

  1. Jeśli jeszcze nie zainstalowałeś karty sieciowej, zrób to teraz.
  2. Zainstaluj pakiet TCP/IP 32b jeśli jeszcze go nie masz.
  3. W Grupa główna/Ustawienia/Sieæ kliknij Sterowniki.
  4. Podświetl Microsoft TCP/IP-32 3.11b w Sterownikach sieciowych, kliknij Ustawienia.
  5. Ustaw adres IP na 192.168.1.x (1 < x < 255), ustaw Maskê podsieci na 255.255.255.0 i domyślny gateway na 192.168.1.1
  6. Nie włączaj Automatycznej konfiguracji DHCP i nie wpisuj nic w wiersze WINS Server o ile jesteś w domenie Windows NT i wiesz co robisz.
  7. Kliknij DNS, wypełnij odpowiednie pola wymienione w kroku 6. w sekcji 3.3.1, potem kliknij OK.
  8. Kliknij Zaawansowane, zaznacz Włącz DNS dla Windows Name Resolution i Włącz sprawdzanie LMHOSTS jeśli używasz pliku z hostami, podobnie do kroku 10. w sekcji 3.3.1.
  9. Kliknij OK we wszystkich okienkach i zrestartuj system.
  10. tt/ping/-nij Linux-a, aby sprawdziæ połączenie sieciowe: Start/Uruchomm wpisz ping 192.168.1.1
    (To jest tylko test dla sieci lokalnej. Nie możesz jeszcze testowaæ połączenia na świat.)

Konfiguracja Windows NT.

  1. Jeśli jeszcze nie zainstalowałeś karty sieciowej, zrób to teraz.
  2. Przejdź do Grupa główna/Panel sterowania/Sieæ
  3. Dodaj protokół TCP/IP i powiązane składniki z menu Dodaj oprogramowanie jeśli nie masz jeszcze zainstalowanego serwisu TCP/IP.
  4. W sekcji Oprogramowanie sieciowe i karty sieciowe podświetl protokół TCP/IP w Zainstalowane oprogramowanie sieciowe.
  5. W Konfiguracji TCP/IP zaznacz odpowiednią kartê sieciową, np. [1]Novell NE2000 Adapter. Potem ustaw Adres IP na 192.168.1.x (1 < x < 255), ustaw Maskê podsieci na 255.255.255.0 i Domyślny gateway na 192.168.1.1.
  6. Nie włączaj Automatycznej konfiguracji DHCP i nie wpisuj nic w wiersze WINS Server o ile jesteś w domenie Windows NT i wiesz co robisz.
  7. Kliknij DNS, wypełnij odpowiednie pola wymienione w kroku 6. w sekcji 3.3.1, potem kliknij OK.
  8. Kliknij Zaawansowane, zaznacz Włącz DNS dla Windows Name Resolution i Włącz sprawdzanie LMHOSTS jeśli używasz pliku z hostami, podobnie do kroku 10. w sekcji 3.3.1.
  9. Kliknij OK we wszystkich okienkach i zrestartuj system.
  10. tt/ping/-nij Linux-a, aby sprawdziæ połączenie sieciowe: Start/Uruchomm wpisz ping 192.168.1.1

Konfiguracja systemów unix-owych.

  1. Jeśli nie masz zainstalowanej swojej karty ani skompilowanego odpowiedniego sterownika, zrób to teraz.
  2. Zainstaluj TCP/IP, jak np. pakiet nettols, jeśli jeszcze tego nie zrobiłeś.
  3. Ustaw IPADDR na 192.168.1.x (1 < x < 255), ustaw NETMASK na 255.255.255.0, GATEWAY na 192.168.1.1 i BROADCAST na 192.168.1.255.
    Np. możesz zmodyfikowaæ plik /etc/sysconfig/network-scripts/ifcfg-eth0 w dystrybucji Red Hat, albo po prostu zrób to w Control Panel-u.
    (inaczej postêpuje siê w SunOS, BSDi, Slckware Linux, itd.)
  4. Dodaj serwer DNS i domenê do przeszukiwania w /etc/resolv.conf.
  5. W zależności od twoich ustawieñ możesz też uaktualniæ /etc/networks.
  6. Zrestartuj odpowiednie serwisy albo po prostu zrestartuj system.
  7. Wydaj polecenie ping: ping 192.168.1.1, aby sprawdziæ połączenie do gateway-a.
    (To jest tylko test dla sieci lokalnej. Nie możesz jeszcze testowaæ połączenia na świat.)

Konfiguracja DOS-a z pakietem NCSA Telnet.

  1. Jeśli jeszcze nie zainstalowałeś karty sieciowej, zrób to teraz.
  2. Załaduj odpowiedni sterownik. Dla karty NE2000 wydaj polecenie nwpd 0x60 10 0x300, jeśli karta jest ustawiona na IRQ=10 i adres I/O=0x300.
  3. Stwórz nowy katalog i rozpakuj pakiet NCSA Telnet,; pkunzip tel2308b.zip.
  4. Zmodyfikuj plik config.tel.
  5. Ustaw myip=192.168.1.x (1 < x < 255) i netmask=255.255.255.0.
  6. W tym przykładzie powinieneś ustawiæ hardware=packet, interrupt=10, ioaddr=60
  7. Powinieneś mieæ przynajmniej jedną maszynê ustawioną jako gateway, tj. Linux-a:
    name=default
    host=twój.linux
    hostip=192.168.1.1
    gateway=1
    
  8. Kolejna pozycja to DNS:
    name=dns.domena.pl ; hostip=123.123.123.123; nameserver=1
    
    Uwaga: zamieñ powyższe informacje na poprawne dla ciebie.
  9. Zapisz plik config.tel
  10. Połącz siê poprzez telnet z Linux-em, aby sprawdziæ połączenie telnet 192.168.1.1

Konfiguracja MacOS z MacTCP.

  1. Jeśli nie zainstalowałeś odpowiedniego sterownika dla twojej karty Ethernetowej, teraz byłby bardzo dobry moment, aby to zrobiæ.
  2. Otwórz MacTCP control panel. Wybierz odpowiedni sterownik sieci (Ethernet, NIE EtherTalk) i kliknij przycisk More....
  3. W Obtain Address kliknij Manually.
  4. W IP Address wybierz Class C z listy. Zignoruj resztê ustawieñ w tym okienku.
  5. Wypełnij odpowiednie informacje w Domain name Service information.
  6. W Gateway Address wpisz 192.168.1.1.
  7. Kliknij OK, aby zachowaæ ustawienia. W głównym okienku MacTCP control panel wpisz adres IP swojego Mac-a (192.168.1.x, 1 < x < 255) w wierszu IP Address.
  8. Zamknij MacTCP control panel. Jeśli pojawi siê okienko sugerujące restart systemu - zrób tak.
  9. Możesz opcjonalnie ping-nąæ Linux-a, aby sprawdziæ połączenie. Jeśli masz program freeware'owy MacTCP Watcher, kliknij na przycisk Ping i wpisz adres swojego Linux-a (192.168.1.1) w okienku, które siê pojawi. (To jest tylko test dla sieci lokalnej. Nie możesz jeszcze testowaæ połączenia na świat.)
  10. Opcjonalnie możesz także stworzyæ plik Hosts w System Folders, żeby używaæ tylko nazw hostów bez domeny w swojej sieci lokalnej. Plik powinien siê już znajdowaæ w System Folders i powinien zawieraæ kilka (zakomentowanych) przykładowych pozycji, które możesz zmodyfikowaæ na swoje potrzeby.

Konfiguracja systemów MacOS z Open Transport.

  1. Jeśli nie zainstalowałeś odpowiedniego sterownika dla twojej karty Ethernetowej, teraz byłby bardzo dobry moment, aby to zrobiæ.
  2. Otwórz TCP/IP Control Panel i wybierz User Mode ... z menu Edit. Sprawdź czy user mode jest ustawiony conajmniej na Advanced i kliknij OK.
  3. Wybierz Configuration ... z menu File. Zaznacz konfiguracjê Default i kliknij Duplicate .... Wpisz "Ip masq" (lub coś co zaznaczy, że jest to specjalna konfiguracja) w okienku Duplicate Configuration, prawdopodobnie bêdzie tam coś jak Default Copy. Potem kliknij OK i Make Active.
  4. Zaznacz Ethernet z okienka Connect via.
  5. Zaznacz odpowiednią pozycjê na liście Configure. Jeśli nie wiesz którą opcjê wybraæ, prawdopodobnie powinieneś wybraæ ponownie konfiguracjê Default i wyjśæ. Ja używam Manually.
  6. Wpisz adres IP swojego Mac-a (192.168.1.x, 1 < x < 255) w okienku IP Address.
  7. Wpisz 255.255.255.0 w okienku Subnet mask.
  8. Wpisz 192.168.1.1 w okienku Router address.
  9. Wpisz adresy IP swoich serwerów DNS w okienku Name server addr.
  10. Wpisz swoją domenê Internetową (np. microsoft.com) w okienku Starting domain name w wierszu Implicit Search Path:.
  11. Nastêpujące procedury są opcjonalne. Niepoprawne wartości mogą powodowaæ złe zachowanie. Jeśli nie jesteś pewien, to lepiej je zostawiæ puste, niezaznaczone i/lub niewybrane. Usuñ wszelkie informacje z tych pól, jesli jest to konieczne. O ile wiem, to nie ma sposobu, żeby zabroniæ poprzez okienka TCP/IP systemowi używania poprzednio wybranego alternatywnego pliku "Hosts". Jeśli wiesz coś na ten temat, to jestem zainteresowany.
    Zaznacz 802.3 jeśli twoja sieæ wymaga ramek 802.3.
  12. Kliknij Options..., aby upewniæ siê, że TCP/IP jest aktywne. Ja używam opcji Load only when needed. Jeśli uruchomisz i wyłączysz aplikacjê TCP/IP wiele razy bez restartowania maszyny, może siê okazaæ, że odznaczenie opcji Load only when needed zredukuje zapotrzebowanie na pamiêæ w twojej maszynie. Z niezaznaczoną tą opcją stosy TCP/IP są zawsze ładowane i dostêpne do użytku. Jeśli jest zaznaczona, stosy TCP/IP są ładowane automatycznie kiedy są potrzebne i usuwane z pamiêci kiedy już nie są potrzebne. To właśnie ten proces ładowania/usuwania może sfragmentowaæ twoją pamiêæ.
  13. Możesz ping-nąæ Linux-a, aby sprawdziæ połączenie sieciowe. Jeśli masz program freeware'owy MacTCP Watcher, kliknij na przycisk Ping i wpisz adres swojego Linux-a (192.168.1.1) w okienku, które siê pojawi. (To jest tylko test dla sieci lokalnej. Nie możesz jeszcze testowaæ połączenia na świat.)
  14. Opcjonalnie możesz także stworzyæ plik Hosts w System Folders, żeby używaæ tylko nazw hostów bez domeny w swojej sieci lokalnej. Plik może, ale nie musi, już siê znajdowaæ w System Folders. Jeśli jest, to powinien zawieraæ kilka (zakomentowanych) przykładowych pozycji, które możesz zmodyfikowaæ na swoje potrzeby. Jeśli go nie ma, możesz pobraæ kopiê z systemu z MacTCP, albo po prostu stworzyæ swój własny (składnia jest taka jak w unix-owym /etc/hosts. Opisane to jest na stronie 33. w RFC 1035). Jeśli już stworzyłeś taki plik, otwórz TCP/IP control panel, kliknij Select Hosts File ... i otwórz plik Hosts.
  15. Kliknij Close lub Quit z menu File i potem kliknij Save, aby zachowaæ zmiany, które zrobiłeś.
  16. Zmiany bêda uwzglêdnione natychmiast, ale restart systemu nie zaszkodzi.

Konfiguracja sieci Novell z DNS-em.

  1. Jeśli nie zainstalowałeś odpowiedniego sterownika dla twojej karty Ethernetowej, teraz byłby bardzo dobry moment, aby to zrobiæ.
  2. Zciągnij plik tcpip16.exe z adresu ftp.novell.com.
  3. Zmodyfikuj c:\nwclient\startnet.bat. Oto kopia mojego:
    SET NWLANGUAGE=ENGLISH
    LH LSL.COM
    LH KTC2000.COM
    LH IPXODI.COM
    LH tcpip
    LH VLM.EXE
    F:
    
  4. Zmodyfikuj c:\nwclient\net.cfg (zmieñ Link Driver na swój):
    Link Driver KTC2000
            Protocol IPX 0 ETHERNET_802.3    
            Frame ETHERNET_802.3     
            Frame Ethernet_II        
            FRAME Ethernet_802.2
    
    NetWare DOS Requester
               FIRST NETWORK DRIVE = F
               USE DEFAULTS = OFF
               VLM = CONN.VLM
               VLM = IPXNCP.VLM
               VLM = TRAN.VLM
               VLM = SECURITY.VLM
               VLM = NDS.VLM
               VLM = BIND.VLM
               VLM = NWP.VLM
               VLM = FIO.VLM
               VLM = GENERAL.VLM
               VLM = REDIR.VLM
               VLM = PRINT.VLM
               VLM = NETX.VLM
    
    Link Support
            Buffers 8 1500
            MemPool 4096
    
    Protocol TCPIP
            PATH SCRIPT     C:\NET\SCRIPT
            PATH PROFILE    C:\NET\PROFILE
            PATH LWP_CFG    C:\NET\HSTACC
            PATH TCP_CFG    C:\NET\TCP
            ip_address      xxx.xxx.xxx.xxx
            ip_router       xxx.xxx.xxx.xxx
    
  5. i na koñcu stwórz c:\bin\resolv.cfg.
    SEARCH DNS HOSTS SEQUENTIAL
    NAMESERVER 207.103.0.2
    NAMESERVER 207.103.11.9
    
  6. Mam nadziejê, że to pomoże niektórym podłączyæ ich sieci Novell. Konfiguracja jest poprawna dla NetWare 3.1x i 4.x

Konfiguracja OS/2 Warp.

  1. Jeśli nie zainstalowałeś odpowiedniego sterownika dla twojej karty Ethernetowej, teraz byłby bardzo dobry moment, aby to zrobiæ.
  2. Zainstaluj protokół TCP/IP jeśli jeszcze go nie masz.
  3. Przejdź do Programms/TCP/IP (LAN) / TCP/IP.
  4. W Network dodaj swój adres TCP/IP i ustaw maskê sieci (255.2555.255.0).
  5. W Routing wciśnij Add. Ustaw Type na default i wpisz w polu Router Address adres swojego Linux-a. (192.168.1.1).
  6. Ustaw w polu Hosts ten sam adres DNS, którego używa twój Linux.
  7. Zamknij TCP/IP control panel. Odpowiedz yes na pojawiające siê pytania.
  8. Zrestartuj system.
  9. Możesz ping-nąæ Linux-a, aby sprawdziæ konfiguracjê sieci. W oknie OS/2 Command prompt wpisz ping 192.168.1.1. Jeśli pakiety ping-a przychodzą wszystko jest w porządku.

Konfigurowanie innych systemów.

Powinno siê to robiæ podobnie. Sprawdź poprzednie punkty. Jeśli jesteś zainteresowany opisaniem konfiguracji w jakimkolwiek systemie, to wyślij szczegółowe instrukcje na adres ambrose@writeme.com.

3.4 Konfiguracja zasad forwardingu IP.

W tym momencie, powinieneś mieæ zainstalowane jądro wraz ze wszystkimi potrzebnymi pakietami, jak również załadowane moduły. Także adresy IP, gateway-a i DNS-u na INNYCH maszynach powinny byæ ustawione.

Teraz jedyne co pozostało, to użycie ipfwadm, aby przekazywaæ odpowiednie pakiety odpowiednim maszynom.

** Można to zrobiæ na wiele róznych sposbów. Poniższe sugestie i przykłady działały u mnie, ale ty możesz mieæ inne pomysły. Wiêcej szczegółów znajdziesz w rozdziale 4.4 i na stronie podrêcznika systemowego o ipfwadm. **

ipfwadm -F -p deny 
ipfwadm -F -a m -S yyy.yyy.yyy.yyy/x -D 0.0.0.0/0 

gdzie x jest jednym z poniższych adresów w zależności od klasy twojej sieci, a yyy.yyy.yyy.yyy jest adresem twojej sieci:

Maska           | x  | Podsieæ
~~~~~~~~~~~~~~~~|~~~~|~~~~~~~~~~~~~~~
255.0.0.0       | 8  | Klasa A
255.255.0.0     | 16 | Klasa B
255.255.255.0   | 24 | Klasa C
255.255.255.255 | 32 | Point-to-point

Na przykład jeśli jestem w posieci klasy C, wpisałbym:

ipfwadm -F -p deny 
ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0 

Ponieważ pakiety bootp przychodzą z poprawnym IP kiedy klient jeszcze nic na temat adresu IP nie wie, dla tych którzy używają serwera bootp w maszynach z maskowaniem czy firewall-ingiem konieczne jest użycie poniższego polecenia przed poleceniem z deny:

ipfwadm -I -a accept -S 0/0 68 -D 0/0 67 -W bootp_clients_net_if_name -P udp

Możesz to także zrobiæ dla każdej maszyny osobno. Na przykład jeśli chcê, żeby maszyny 192.168.1.2 i 192.168.1.8 miały dostêp do Internetu, a inne nie, to wpisałbym:

ipfwadm -F -p deny 
ipfwadm -F -a m -S 192.168.1.2/32 -D 0.0.0.0/0 
ipfwadm -F -a m -S 192.168.1.8/32 -D 0.0.0.0/0 

Opcjonalnie możesz wpisaæ maskê podsieci zamiast wartości: 192.168.1.0/255.255.255.0.

Popularnym błêdem jest umieszczanie jako pierwszego polecenia:

ipfwadm -F -p masquerade

Nie czyñ maskowania domyślną zasadą - jeśli tak zrobisz, ktoś kto może manipulowaæ swoim routingiem, bêdzie w stanie stworzyæ tunel bezpośrednio poprzez twój gateway, aby ukryæ swoją tożsamośæ!

Możesz dodaæ te linie do plików /etc/rc.local, do jakiegoś innego pliku rc.*, lub robiæ to rêcznie za każdym razem kiedy potrzebujesz maskowania.

Szczegóły na temat ipfwadm znajdziesz w rozdziale 4.4.

3.5 Testowanie maskowania.

Nadszedł czas, żeby wypróbowaæ to wszystko po ciêżkiej pracy. Upewnij siê, że Linux jest podłączony do Internetu.

Możesz spróbowaæ posurfowaæ po INTERNECIE!!! na swoich INNYCH maszynach i sprawdziæ czy siê uda. Za pierwszym razem radzê, użyæ adresu IP zamiast nazwy kanonicznej, ponieważ twoje ustawienia DNS mogą byæ niepoprawne.

Na przykład możesz sprawdziæ stronê projektu JTZ (http://www.jtz.org.pl/) podając jako adres http://156.17.40.40/.

Jeśli ujrzysz ją, to gratulacje! Działa! Możesz teraz spróbowaæ podaæ nazwê kanoniczną, potem telnet, ftp, Real Audio, True Speech i co tam jeszcze jest obsługiwane przez maskowanie ... .

Jak dotąd nie mam problemów z powyższymi ustawieniami i jest to w pełni zasługa ludzi, którzy poświêcają swój czas, aby ta wspaniała właściwośæ działała.

4. Inne sprawy związane z maskowaniem IP i obsługa oprogramowania.

4.1 Problemy z maskowaniem IP.

Niektóre protokoły nie bêdą obecnie działały z maskowaniem, ponieważ albo zakładają pewne fakty na temat numerów portów, albo kodują dane na temat adresów i portów w swoich strumieniach - te drugie potrzebują specyficznych proxies wbudowanych w kod maskowania, aby działały.

4.2 Wchodzące serwisy.

Maskowanie nie potrafi w ogóle obsługiwaæ takich serwisów. Jest kilka sposobów, aby takowe działały, ale są one zupełnie nie związane z maskowaniem i są czêścią standardowego działania firewall-i.

Jeśli nie wymagasz wysokiego poziomu bezpieczeñstwa, to możesz po prostu przekierowaæ porty. Są różne sposoby, aby to zrobiæ - ja używam zmodyfikowanego kodu programu redir (który mam nadziejê bêdzie dostêpny wkrótce z sunsite i jego kopii). Jeśli chcesz mieæ jakiś poziom autoryzacji połączeñ wchodzących, to możesz użyæ albo TCP wrappers albo Xinetd "powyżej" redir w wersji 0.7 lub nowszej, aby wpuszczaæ tylko konkretne adresy IP, albo użyj jakichś innych narzêdzi. TIS Firewall Toolkit jest dobrym miejscem, w którym możesz poszukaæ narzêdzi i informacji.

Wiêcej informacji znajdziesz na stronie z zasobami dla maskowania IP.

4.3 Obsługiwane oprogramowanie klienckie i uwagi o innych ustawieniach.

** Nastepującą listą nikt siê już nie zajmuje. Zajrzyj na tê stronê, aby dowiedzieæ siê które aplikacje działają poprzez maskowanie na Linux-ie. Wiêcej informacji także na stronie z zasobami dla maskowania IP. **

Ogólnie aplikacja, która używa TCP/UDP powinna działaæ. Jeśli masz jakieś sugestie, wskazówki lub pytania, na temat aplikacji z maskowaniem IP, odwiedź tê stronê prowadzoną przez Lee Nevo.

Oprogramowanie, które działa.

Ogólne:

HTTP

wszystkie obsługiwane platformy, surfowanie po sieci

POP & SMTP

wszystkie obsługiwane platformy, klienci e-mail

Telnet

wszystkie obsługiwane platformy, zdalne logowanie

FTP

wszystkie obsługiwane platformy, z modułem ip_masq_ftp.o (nie wszystkie adresy działają z pewnymi klientami; np. do niektórych nie można siê dostaæ przy pomocy ws_ftp32, ale działa z Netscape)

Archie

wszystkie obsługiwane platformy, szukanie plików (nie wszytkie wersje oprogramowania są obsługiwane)

NNTP (USENET)

wszystkie obsługiwane platformy, klient USENET NEWS

VRML

Windows (przypuszczalnie wszystkie obsługiwane platformy), surfowanie po wirtualnej rzeczywistości.

traceroute

głównie platformy na UNIX-ie, niektóre wersje mogą nie działaæ

ping

wszystkie platformy, z łatą ICMP

wszystko oparte o IRC

wszystkie obsługiwane platformy, z modułami ip_masq_irc.o

klient Gopher

wszystkie obsługiwane platformy

klient WAIS

wszystkie obsługiwane platformy

Klienci Multimedialni:

Real Audio Player

Windows, network streaming audio z załadowanym modułem ip_masq_raudio

True Speech PLayer 1.1b

Windows, network streaming audio

Internet Wave Player

Windows, network streaming audio

Worlds Chat 0.9a

Windows, program Client-Server 3D do pogawêdek

Alpha Worlds

Windows, program Client-Server 3D do pogawêdek

Internet Phone 3.2

Windows, komunikacja audio Peer-to-peer, można siê z tobą porozumieæ tylko jeśli zainicjowałeś połączenie, ale nie można zadzwoniæ do ciebie

Powwow

Windows, komunikacja na bazie tablic (ogłoszeniowych), można siê z tobą porozumieæ jeśli zainicjowałeś połączenie; nie można siê do ciebie dodzwoniæ

CU-SeeMe

, wszystkie obsługiwane platformy, z załadowanymi modułami cuseeme; szczegóły znajdziesz na stronie z zasobami dla maskowania IP.

VDOLive

Windows, z łatą vdolive

Uwaga: Niektóre programy, jak IPhone i Powwow mogą działaæ nawet jeśli to nie ty zaincjowałeś połączenie poprzez użycie pakietu ipautofw. Zobacz w rozdziale 4.6.

Inni klienci:

NCSA Telnet 2.3 08

DOS, pakiet zawierający telnet, ftp, ping, itp.

PC-anywhere for Windows 2.0

MS-Windows, zdalna kontrola PC poprzez TCP/IP, działa tylko jeśli jest klientem a nie hostem.

Socket Watch

używa ntp - protokół czasu w sieci

pakiet net-acct w Linux-ie

Linux, pakiet do zarządzania i monitorowania sieci.

Oprogramowanie nie działające.

Intel Internet Phone Beta 2

Łączy siê, ale głos wêdruje tylko w jedną stronê (na zewnątrz)

Intel Streaming media Viewer beta 1

Nie może połączyæ siê z serwerem

Netscape CoolTalk

Nie może połączyæ siê z drugą stroną

talk, ntalk

nie bêdą działaæ - wymagają napisania proxy dla jądra

WebPhone

W tej chwili nie może działaæ (robi złe założenia na temat adresów)

X

Nietestowane, ale sądze, że nie może działaæ o ile ktoś stworzy proxy dla X, który jest prawdopodobnie osobnym programem dla kodu maskowania. Jednym ze sposobów, aby to działało jest użycie ssh jako połączenia i użycie wewnêtrznego proxy X.

Przetestowane platformy/systemy operacyjne jako INNE maszyny.

4.4 Administracja Firewall-em IP (ipfwadm)

Rozdział ten pogłêbia wiedzê na temat stosowania polecenia ipfwadm.

Poniżej jest ustawienie dla system z maskowaniem/firewalling-iem, z łączem PPP i statycznymi adresami PPP. Zaufanym interfejsem jest 192.168.255.1, interfejs PPP został zmieniony, aby chroniæ winnych :). Każdy wchodzący i wychodzący interfejs jest podany osobno, aby wychwyciæ spoofing IP jak i zatkany (stuffed) routing i/lub maskowanie. Wszystko co nie jest wyraźnie dozwolone jest zabronione!

#!/bin/sh
#
# /etc/rc.d/rc.firewall, define the firewall configuration, invoked from
# rc.local.
#

PATH=/sbin:/bin:/usr/sbin:/usr/bin

# testowanie, poczekaj trochê, potem wyczyśæ wszystkie regułki.
# odkomentuj poniższe linie jeśli chcesz wyłączyæ firewall
# automatycznie po 10. minutach.
# (sleep 600; \
# ipfwadm -I -f; \
# ipfwadm -I -p accept; \
# ipfwadm -O -f; \
# ipfwadm -O -p accept; \
# ipfwadm -F -f; \
# ipfwadm -F -p accept; \
# ) &

# Wchodzące, wyczyśæ i ustaw domyślną regułkê na zabronione. Właściwie
# domyślna regułka jest nieodpowiednia, ponieważ zrobiliśmy inną: nie
# wpuszczaj nikogo i loguj wszystko.
ipfwadm -I -f
ipfwadm -I -p deny
# interfejs i maszyny lokalne mogą siê dostaæ wszêdzie
ipfwadm -I -a accept -V 192.168.255.1 -S 192.168.0.0/16 -D 0.0.0.0/0
# interfejs odległy, twierdzący, że jest od nas, spoofing IP, nie
# wpuszczaj
ipfwadm -I -a deny -V twój.stały.adres.PPP -S 192.168.0.0/16 -D 0.0.0.0/0 -o
# interfejs odległy, jakiekolwiek źródło, jeśli celem jest stały adres
# PPP, to wpuśæ
ipfwadm -I -a accept -V twój.stały.adres.PPP -S 0.0.0.0/0 -D twój.stały.adres.PPP/32
# interfejs loopback (lo) jest w porządku
ipfwadm -I -a accept -V 127.0.0.1 -S 0.0.0.0/0 -D 0.0.0.0/0
# wychwyæ wszystko, każdy inny ruch wchodzący jest zabroniony i
# logowany, szkoda, że nie ma opcji logowania, ale to robi to samo.
ipfwadm -I -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o

# Wychodzące, wyczyśæ i ustaw domyślną regułkê na zabronione. Właściwie
# domyślna regułka jest nieodpowiednia, ponieważ zrobiliśmy inną: nie
# wpuszczaj nikogo i loguj wszystko.
ipfwadm -O -f
ipfwadm -O -p deny
# interfejs lokalny, wszystko z zewnątrz do nas jest w porządku
ipfwadm -O -a accept -V 192.168.255.1 -S 0.0.0.0/0 -D 192.168.0.0/16
# wychodzące do lokalnej sieci na zdalnym interfejsie, stuffed
# routing, odrzuæ
ipfwadm -O -a deny -V twój.statyczny.adres.PPP -S 0.0.0.0/0 -D 192.168.0.0/16 -o
# wychodzące z lokalnej sieci na zdalnym interfejsie, stuffed
# masquerading, odrzuæ
ipfwadm -O -a deny -V twój.statyczny.adres.PPP -S 192.168.0.0/16 -D 0.0.0.0/0 -o
# wychodzące z lokalnej sieci na zdalnym interfejsie, stuffed
# masquerading, odrzuæ
ipfwadm -O -a deny -V twój.statyczny.adres.PPP -S 0.0.0.0/0 -D 192.168.0.0/16 -o
# wszystko inne wychodzące na zdalnym interfejsie jest w porządku
ipfwadm -O -a accept -V twój.statyczny.adres.PPP -S twój.statyczny.adres.PPP/32 -D 0.0.0.0/0
# interfejs lokalny (lo) jest w porządku
ipfwadm -O -a accept -V 127.0.0.1 -S 0.0.0.0/0 -D 0.0.0.0/0
# wychwyæ wszystko, każdy inny ruch wychodzący jest zabroniony i
# logowany, szkoda, że nie ma opcji logowania, ale to robi to samo.
ipfwadm -O -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o

# Przekazywanie, wyczyśæ i ustaw domyślną regułkê na zabronione. Właściwie
# domyślna regułka jest nieodpowiednia, ponieważ zrobiliśmy inną: nie
# wpuszczaj nikogo i loguj wszystko.
ipfwadm -F -f
ipfwadm -F -p deny
# maskuj z lokalnej sieci na lokalnym interfejsie dokądkolwiek
ipfwadm -F -a masquerade -W ppp0 -S 192.168.0.0/16 -D 0.0.0.0/0
# wychwyæ wszystko, każdy inny ruch jest zabroniony i
# logowany, szkoda, że nie ma opcji logowania, ale to robi to samo.
ipfwadm -F -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o

Możesz blokowaæ ruch do poszczególnego adresu przy pomocy opcji -I, -O i -F. Pamiêtaj, że regułki są skanowane od góry w dół i -a oznacza "dodaj" do już istniejących regułek, tak wiêc wszelkie szczegółowe regułki muszą pojawiæ siê przed zasadami ogólnymi. Na przykład (nietestowane):

Użycie opcji -I. Przypuszczalnie najszybsze rozwiązanie, ale zatrzymuje tylko lokalne maszyny, firewall jako taki, ma nadal dostêp do zabronionych adresów. Oczywiście możesz dopuściæ taką kombinacjê.

... początek regułek -I ...
# odrzuæ i loguj lokalny interfejs i lokalne maszyny próbujące dostaæ
# siê do 204.50.10.13
ipfwadm -I -a reject -V 192.168.255.1 -S 192.168.0.0/16 -D 204.50.10.13/32 -o
# lokalny interfejs i maszyny dokądkowiek jest w porządku
ipfwadm -I -a accept -V 192.168.255.1 -S 192.168.0.0/16 -D 0.0.0.0/0
... koniec regułek -I ...

Użycie opcji -O. Najwolniejsze ponieważ pakiety najpierw przechodzą przez maskowanie, ale ta regułka zatrzymuje nawet firewall przed dostêpem do zabronionych adresów.

... początek regułek -O ...
# odrzuæ i zaloguj wychodzące do 204.50.10.13
ipfwadm -O -a reject -V twój.statyczny.adres.PPP -S twój.statyczny.adres.PPP/32 -D 204.50.10.13/32 -o
# wszystko inne wychodzące na odległym interfejsie jest w porządku.
ipfwadm -O -a accept -V twój.statyczny.adres.PPP -S twój.statyczny.adres.PPP/32 -D 0.0.0.0/0
... koniec regułek -O ...

Użycie opcji -F. Prawdopodobnie wolniejsze niż -I i wciąż zatrzymuje tylko maszyny zamaskowane (tj. wewnêtrzne), firewall ma nadal dostêp do zabronionych adresów.

... początek regułek -F ...
# odrzuæ i zaloguj  z lokalnej sieci na interfejsie PPP do
# 204.50.10.13
ipfwadm -F -a reject -W ppp0 -S 192.168.0.0/16 -D 204.50.10.13/32 -o
# maskuj z lokalnej sieci na lokalnym interfejsie dokądkolwiek
ipfwadm -F -a masquerade -W ppp0 -S 192.168.0.0/16 -D 0.0.0.0/0
... koniec regułek -F ...

Nie ma potrzeby na specjalną regułkê, aby pozwoliæ na ruch z 192.168.0.0/16 do 204.50.11.0; jest to zapewnione przez regułki ogólne.

Jest wiêcej niż jeden sposób ujêcia interfejsów w powyższych regułkach. Na przykład zamiast -V 192.168.255.1 możesz wpisaæ -W eth0; zamiast -V twój.statyczny.adres.PPP możesz użyæ -W ppp0. Prywatny wybór i dokumentacja, to wiêcej niż cokolwiek innego.

4.5 Maskowanie IP i dzwonienie na żądanie.

  1. Jeśli chciałbyś tak ustawiæ swoją sieæ, aby połączyæ siê z Internetem automatycznie, to narzêdzie diald - dzwonienie na żądanie - bêdzie swietnym pakietem.
  2. Aby ustawiæ diald, zajrzyj na stronê Ustawianie Diald dla linux-a.
  3. [Od tłumacza] Możesz tez zajrzeæ do Diald mini HOWTO (dostêpne w j. polskim).
  4. Jak już ustawisz diald i maskowanie IP, możesz podejśæ do którejkolwiek z maszyn klienckich i zainicjowaæ połączenie WWW, telnet lub FTP.
  5. Diald wychwyci nadchodzące żądanie, zadzwoni do prowajdera i ustawi połączenie.
  6. Przy pierwszym połączeniu pojawi siê przerwa. Jest to nieuniknione jeśli używasz analogowych modemów. Czas, który jest potrzebny do ustawienia połączenia modemów i PPP, spowoduje, że twój program kliencki stwierdzi rozłączenie. Można tego uniknąæ jeśli używasz modemów ISDN. Wszystko co musisz zrobiæ, to przerwaæ bieżący proces na kliencie i ponowiæ go.

4.6 Pakiet do przekazywania IPautofw.

IPautofw jest programem do ogólnie pojêtego przekazywania pakietów TCP i UDP w Linux-ie. Żeby użyæ pakietu, który wymaga transmisji UDP trzeba załadowaæ specyficzny moduł ip_masq - ip_masq_raudio, ip_masq_cuseeme, itd. Ipautofw odgrywa bardziej ogólną rolê; bêdzie on przekazywał każdy rodzaj ruchu włącznie z tym, którego nie przepuszczą moduły specyficzne dla danej aplikacji. Jeśli zarządza siê tym programem niepoprawnie można stworzyæ dziurê w bezpieczeñstwie.

5. Różności.

5.1 Zdobywanie pomocy.

** Proszê SPRÓBUJ NIE wysyłaæ do mnie listów na temat problemów z maskowaniem IP. Z powodu ilości własnych zajêæ nie mogê obiecaæ, że odpowiem na wszystkie listy nie związane ze stroną WWW. Zamiast tego ślij proszê takie listy na listê dyskusyjną o maskowaniu IP (sądzê, że jest to najlepsze źródło pomocy). Przepraszam za to, ale nie chcê abyś czekał tygodniami na odpowiedź.

5.2 Podziêkowania.

5.3 Odwołania.