Następna strona Poprzednia strona Spis treści

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.


Następna strona Poprzednia strona Spis treści