Sophie

Sophie

distrib > Mandriva > 8.1 > i586 > by-pkgid > 1d876fa8c1caf5809b8232d098efff65 > files > 43

howto-text-pl-8.1-1mdk.noarch.rpm

  Bridge+Firewall
  Autor: Peter Breuer, ptb@it.uc3m.es
  v1.1, 23 Grudnia 1996
  WWeerrssjjaa ppoollsskkaa:: BBaarrttoosszz MMaarruusszzeewwsskkii BB..MMaarruusszzeewwsskkii@@jjttzz..oorrgg..ppll
  v1.01, 26 Lipca 1997


  W oryginalnym dokumencie na temat Bridge'a opisane s± inne sposoby
  podej¶cia. Jest to Bridge mini-HOWTO
  <http://www.jtz.org.pl/tlumaczenia.html> napisane przez Chrisa Cole'a
  <chris@polymer.uakron.edu>. Wersja, na której bazowa³em to 1.03 z 23
  Sierpnia 1996.  Orygina³ tego dokumentu znajduje siê na ftp.icm.edu.pl
  w katalogu /pub/Linux/sunsite/docs/HOWTO/mini. Dokument ten jest
  napisany w standardzie ISO-8859-2.
  ______________________________________________________________________

  Spis tre¶ci


  1. Co, jak i dlaczego ?

     1.1 Co.
     1.2 Dlaczego.
     1.3 Jak.

  2. Bridge.

     2.1 Oprogramowanie.
     2.2 Najpierw poczytaj.
     2.3 Konfiguracja startu systemu.
     2.4 Konfiguracja j±dra.
     2.5 Adresy sieciowe.
     2.6 Ruting sieci.
     2.7 Konfiguracja karty.
     2.8 Dodatkowy ruting.
     2.9 Konfiguracja Bridge'a.
     2.10 Wypróbuj.
     2.11 Sprawdzenia.

  3. Firewall.

     3.1 Oprogramowanie i czytanie.
     3.2 Sprawdzenie wstêpne.
     3.3 Zasady domy¶lne.
     3.4 Dziury na adres.
     3.5 Dziury na protokó³.
     3.6 Sprawdzenia.

  4. Od t³umacza.



  ______________________________________________________________________

  11..  CCoo,, jjaakk ii ddllaacczzeeggoo ??



  11..11..  CCoo..


  Bridge jest to inteligentne po³±czenie pomiêdzy dwoma kartami
  sieciowymi. Firewall jest to inteligentny izolator.



  11..22..  DDllaacczzeeggoo..


  Mo¿esz chcieæ bridge'a je¶li masz kilka komputerów:


  ·  ¿eby zaoszczêdziæ pieni±dze na hubie je¶li akurat masz dodatkow±
     kartê ethernet-ow±,

  ·  ¿eby oszczêdziæ sobie nauki jak robiæ IP-forwarding i inne triki
     je¶li masz dwie karty w swoim komputerze,

  ·  ¿eby oszczêdziæ sobie pracy je¶li co¶ siê w przysz³o¶ci zmieni.

  "Kilka komputerów" to mo¿e byæ np. trzy je¶li maj± byæ rutowane,
  bridge'owane albo po prostu od czasu do czasu zmieniaj± swoje miejsce
  pobytu. Mo¿esz tak¿e chcieæ mieæ bridge tylko dla zabawy, ¿eby siê
  dowiedzieæ co on robi - ja w³a¶nie dlatego sobie go postawi³em.

  Je¶li naprawdê chcesz go postawiæ z pierwszego powodu, to poczytaj
  lepiej NET-3-HOWTO <http://www.ippt.gov.pl/~ppogorze/Linux/JTZ/> albo
  Serial-HOWTO <ftp://ftp.icm.edu.pl/pub/Linux/sunsite/docs/HOWTO/> a
  znajdziesz tam lepsze obej¶cia.

  Firewall jest ci potrzebny je¶li:


  ·  chronisz swoj± sieæ przed dostêpem z zewn±trz albo

  ·  chcesz zabroniæ wyj¶cia poza twoj± sieæ z jej ¶rodka

  Ja tu potrzebowa³em tego drugiego. Przepisy na naszym uniwersytecie
  zabrania³y nam graæ rolê dostawcy Internet-u dla studentów.


  11..33..  JJaakk..


  Zacz±³em bridge'owaæ dwie karty sieciowe w maszynie z firewallem a
  skoñczy³em na firewall-owaniu wraz z bridge'owaniem bez usuwania
  jednej z funkcji. Wydaje siê to dzia³aæ znacznie bardziej wydajnie ni¿
  ka¿da z konfiguracji osobno. Mogê na przyk³ad wy³±czyæ firewall a
  bridge dalej dzia³a albo odwrotnie je¶li chcê byæ bardziej bezpieczny.

  Stawia³bym na to, ¿e kod bridge'a jest tu¿ nad fizycznym poziomem
  urz±dzenia a kod firewalla jest o jeden poziom wy¿ej, tak ¿e
  po³aczenie bridge'a z firewallem dzia³a tak jakby to by³a jedno¶æ a
  nie jakby dzia³a³y równolegle.


    -> wej. bridge'a -> wej. firewalla -> j±dro -> wyj. firewalla -> wyj. bridge'a



  Nie ma innego sposobu na wyt³umaczenie dlaczego maszyna mo¿e byæ
  "konduktorem" i izolatorem w tym samym czasie. W ka¿dym razie wydaje
  siê to dzia³aæ razem bardzo dobrze. Oto co ja robiê ...


  22..  BBrriiddggee..






  22..11..  OOpprrooggrraammoowwaanniiee..


  Zdob±d¼ konfigurator do bridge'a BRCFG.tgz
  <ftp://shadow.cabi.net:/pub/Linux/>.


  22..22..  NNaajjppiieerrww ppoocczzyyttaajj..


  Przeczytaj Multiple-Ethernet
  <ftp://ftp.icm.edu.pl:/pub/Linux/sunsite/docs/HOWTO/mini>, ¿eby siê
  dowiedzieæ jak rozpoznaæ i skonfigurowaæ wiêcej kart sieciowych.

  Wiêcej szczegó³ów na temat magii startowania, które mo¿esz potrzebowaæ
  jest w BootPrompt-HOWTO
  <http://www.jtz.org.pl/~bart/tlumaczenie.html>.

  Mo¿e obêdzie siê bez NET-3-HOWTO
  <http://www.ippt.gov.pl/~ppogorze/Linux/JTZ>. Jest to dobry i d³ugi
  dokument i bêdziesz musia³ wybraæ sobie to czego potrzebujesz.


  22..33..  KKoonnffiigguurraaccjjaa ssttaarrttuu ssyysstteemmuu..


  Po przeczytaniu powy¿szego dowiesz siê, ¿e musisz skompilowaæ j±dro,
  ¿eby rozpozna³o drugie urz±dzenie ethernet-owe podczas startu oraz, ¿e
  musisz dodaæ liniê do pliku /etc/lilo.conf i uruchomiæ _l_i_l_o:


          append = "ether=0,0,eth1"



  Zauwa¿, ¿e jest tu _e_t_h_1. _e_t_h_0 jest pierwsz± kart± a _e_t_h_1 jest drug±
  kart±. Zawsze mo¿esz podaæ parametry podczas startu kiedy lilo ich
  oczekuje. Oto przyk³ad dla trzech kart:


          linux ether=0,0,eth1 ether=0,0,eth2



  Ja u¿ywam loadlin.exe, aby uruchomiæ Linux-a:


          loadlin.exe c:\vmlinuz root=/dev/hda3 ro ether=0,0,eth1 ether=0,0,eth2



  Zauwa¿, ¿e to zmusza j±dro do szukania podczas startu. Nie bêdzie to
  mia³o miejsca je¶li za³adujesz sterowniki ethernet-owe jako modu³y (ze
  wzglêdów bezpieczeñstwa poniewa¿ kolejno¶æ szukania nie mo¿e byæ
  okre¶lona). Wiêc je¶li u¿ywasz modu³ów, to bêdziesz musia³ dodaæ
  parametry okre¶laj±ce IRQ i port w pliku /etc/conf.modules - to jest
  mój przyk³ad:


               alias eth0 3c509
               alias eth1 de620
               options 3c509 irq=5 io=0x210
               options de620 irq=7 bnc=1



  Mo¿esz sprawdziæ czy u¿ywasz modu³ów przez _p_s _-_a_u_x i zobaczenie czy
  jest proces _k_e_r_n_e_l_d i czy w katalogu /lib/modules/`uname -r`  s± pliki
  *.o. (w miejsce _u_n_a_m_e _-_r wstaw wynik tego polecenia). Je¶li masz
  proces _k_e_r_n_e_l_d albo w podanym katalogu s± pliki *.o, to wyedytuj plik
  /etc/conf.modules i przeczytaj uwa¿nie stronê podrêcznika systemowego
  na temat _d_e_p_m_o_d.

  Zauwa¿ te¿, ¿e do niedawna (2.0.25) sterownik 3c509 nie móg³ byæ u¿yty
  jako modu³ dla wiêcej ni¿ jednej karty. Widzia³em gdzie¶ ³atê, która
  naprawia tê niedogodno¶æ. Mo¿e on byæ w j±drze kiedy to czytasz.


  22..44..  KKoonnffiigguurraaccjjaa jj±±ddrraa..


  Skompiluj j±dro z w³±czon± opcj± bridge.


   CONFIG_BRIDGE=y



  Ja skompilowa³em tak¿e z w³±czonymi opcjami firewalling, IP-
  forwarding, IP-masquerading i reszt±. Ale tylko je¶li chcesz mieæ
  tak¿e firewall.


  CONFIG_FIREWALL=y
  CONFIG_NET_ALIAS=y
  CONFIG_INET=y
  CONFIG_IP_FORWARD=y
  CONFIG_IP_MULTICAST=y
  CONFIG_IP_FIREWALL=y
  CONFIG_IP_FIREWALL_VERBOSE=y
  CONFIG_IP_MASQUERADE=y



  Nie potrzebujesz tego wszystkiego. To czego potrzebujesz, to
  standardowa konfiguracja sieci:


  CONFIG_NET=y



  i nie s±dzê, ¿eby¶ siê musia³ przejmowaæ innymi opcjami zwi±zanymi z
  sieci±. Wszystkie opcje, których w³a¶ciwie nie wkompilowa³em w j±dro
  mam dostêpne jako modu³y i mogê je dodaæ pó¼niej.

  Zainstaluj nowe j±dro, uruchom _l_i_l_o i zresetuj z nowym j±drem. W tym
  momencie nic siê nie powinno zmieniæ.


  22..55..  AAddrreessyy ssiieecciioowwee..


  Chris twierdzi, ¿e bridge nie powinien mieæ adresu IP, ale to nie jest
  to ustawienie opisane tutaj.

  Bêdziesz chcia³ u¿ywaæ tej maszyny do ³±czenia siê z sieci± wiêc
  potrzebujesz adresu i musisz siê upewniæ, ¿e masz skonfigurowane
  poprawnie urz±dzenie "loopback", tak ¿eby twoje oprogramowanie mog³o
  komunikowaæ siê z miejscami, z którymi spodziewa siê, ¿e bêdzie siê
  mog³o porozumieæ. Je¶li nie bêdzie tego urz±dzenia, to serwis nazw
  albo inny serwis sieciowy mo¿e nie dzia³aæ. Przeczytaj NET-3-HOWTO
  <http://www.ippt.gov.pl/~ppogorze/Linux/JTZ/>, ale twoja standardowa
  konfiguracja powinna ju¿ to za ciebie zrobiæ:


     ifconfig lo 127.0.0.1
     route add -net 127.0.0.0



  Bêdziesz musia³ nadaæ adres obojgu kartom. Ja dopasowa³em swój
  /etc/rc.d/rc.inet1 w Slackware 3.x, aby ustawiæ moje dwie karty. A ty
  powiniene¶ tak¿e poszukaæ gdzie jest konfiguracja sieci u ciebie i
  podwoiæ instrukcje. Za³ó¿my, ¿e masz ju¿ adres: 192.168.2.100 (jest to
  prywatny zarezerwowany adres sieciowy, ale niewa¿ne - nikomu nie
  zaszkodzi je¶li u¿yjesz tego adresu przez pomy³kê) wtedy masz ju¿
  pewnie liniê:


    ifconfig eth0 192.168.2.100 netmask 255.255.255.0 metric 1



  w swojej konfiguracji. Pierwsze co pewnie bêdziesz chcia³ zrobiæ to
  podzieliæ przestrzeñ adresow± na pó³, tak ¿e mo¿esz potem te dwie
  po³owy bridge'owaæ. Wiêc dodaj liniê. która zredukuje maskê tak, ¿e
  bêdzie ona adresowaæ mniejsz± ilo¶æ maszyn:


    ifconfig eth0 netmask 255.255.255.128



  Spróbuj tego te¿. Powoduje to obciêcie przestrzeni adresowej do
  zakresu od .0 do .127.

  Teraz mo¿esz ustawiæ swoj± drug± kartê w drugiej po³owie adresów.
  Upewnij siê, ¿e nikt jeszcze takiego adresu nie ma. Dla symetrii ja
  ustawi³em j± na 228 (128+100=228). Ka¿dy adres bêdzie siê tak
  zachowywa³ dopóki nie znajdzie siê w masce tej pierwszej karty - a
  nawet wtedy, no mo¿e. Unikaj adresów specjalnych takich jak .0, .1,
  .128 o ile naprawdê wiesz co robisz.


    ifconfig eth1 192.168.2.228 netmask 255.255.255.128 metric 1



  To powoduje zmniejszenie zakresu adresów drugiej karty do .128 do
  .255.


  22..66..  RRuuttiinngg ssiieeccii..


  Powy¿sze mo¿e byæ wystarczaj±c± konfiguracj± dla dzia³aj±cego
  bridge'a, ale ja bêdê mia³ tak¿e firewall i chcê kontrolowaæ fizyczne
  przeznaczenie niektórych pakietów. Nawet wtedy trzeba siê pilnowaæ
  przed spoofingiem.

  Mam ma³± sieæ maszyn do³±czonych do hub-a na eth0, wiêc konfigurujê
  tam sieæ:


    route add -net 192.168.2.128 netmask 255.255.255.128 dev eth0


  128 by³oby 0 gdybym mia³ pe³n± klasê C. "dev eth0" nie jest tu
  potrzebne poniewa¿ adres karty zalicza siê do tej sieci, ale mo¿e byæ
  potrzebne dla ciebie.

  Na drugiej karcie mam liniê id±c± prosto do du¿ego rutera, któremu
  ufam.


                                              client 129
           __                                        |     __
  client 1   \    .0                    .128         |   /   net 1
  client 2 --- Hub - eth0 - Kernel - eth1 - Hub - Router --- net 2
  client 3 __/       .100            .228         .2 |   \__ net 3
                                                     |
                                              client 254



  Do³±czam adres tego rutera do tej karty jako statyczny poniewa¿
  inaczej zalicza³by siê on do maski tej pierwszej karty i j±dro ¼le
  kierowa³oby pakiety do tego du¿ego rutera.


    route add 192.168.2.2 dev eth1



  Ja go nie potrzebujê poniewa¿ nie mam wiêcej maszyn w tej po³ówce
  przestrzeni adresowej, ale deklarujê sieæ tak¿e na tej drugiej karcie


    route add -net 192.168.2.128 netmask 255.255.255.128 dev eth1



  Muszê tak¿e wys³aæ wszystkie nie lokalne pakiety w ¶wiat, wiêc
  informujê j±dro, ¿eby wysy³a³o je do du¿ego rutera:


    route add default gw 192.168.2.2




  22..77..  KKoonnffiigguurraaccjjaa kkaarrttyy..


  To tyle odno¶nie standardowego ustawiania sieci, ale my mamy bridge
  wiêc musimy na obydwu (?) kartach s³uchaæ pakietów, które nie s±
  przeznaczone dla nas. Nastêpuj±ce dwie linie powinny siê znale¼æ w
  pliku konfiguruj±cym sieæ:


    ifconfig promisc eth0
    ifconfig promisc eth1



  Na stronie podrêcznika systemowego napisane jest, ¿e allmulti=promisc,
  ale u mnie to nie dzia³a³o.


  22..88..  DDooddaattkkoowwyy rruuttiinngg..



  Jedno co zauwa¿y³em, to to, ¿e musia³em przynajmniej drug± kartê
  ustawiæ w tryb, w którym odpowiada³aby ona du¿emu ruterowi jakie
  maszyny chowam w swojej sieci.


    ifconfig arp eth1



  Na wszelki wypadek zrobi³em to samo dla pierwszej karty.


    ifconfig arp eth0.




  22..99..  KKoonnffiigguurraaccjjaa BBrriiddggee''aa..


  Umie¶æ w³±czanie bridge'owania w swoim pliku konfiguracyjnym:


      brcfg -enable



  Powiniene¶ to próbowaæ w czasie rzeczywistym ca³y czas oczywi¶cie!
  Konfigurator bridge'a poda parê liczb. Mo¿esz poeksperymentowaæ
  w³±czaj±c i wy³±czaj±c porty - jeden za ka¿dym razem.


     brcfg -port 0 -disable/-enable
     brcfg -port 1 -disable/-enable



  Polecenie _b_r_c_f_g poka¿e ci raport w ka¿dej chwili. Zobaczysz, ¿e bridge
  s³ucha, dowiaduje  siê i potem przekazuje pakiety. (Nie rozumiem
  dlaczego kod powtarza te same adresy sprzêtowe dla obu moich kart, ale
  niewa¿ne ... HOWTO Chrisa mówi, ¿e to dobrze)


  22..1100..  WWyypprróóbbuujj..


  Je¶li ca³y czas wszystko u ciebie dzia³a, to wypróbuj swoj±
  konfiguracjê w rzeczywisto¶ci - wy³±cz obie karty i uruchom swój plik
  konfiguracyjny:


      ifconfig eth0 down
      ifconfig eth1 down
      /etc/rc.d/rc.inet1



  Je¶li masz szczê¶cie, to ró¿ne podsystemy (nfs, ypbind, itp) nie
  zauwa¿± tej zmiany. Nie próbuj tego o ile nie siedzisz przy
  klawiaturze.

  Je¶li chcesz byæ bardziej ostro¿ny ni¿ teraz, powiniene¶ wy³±czyæ tyle
  demonów ile siê da i odmontowaæ katalogi nfs. Najgorszym co mo¿e siê
  staæ, to to, ¿e bêdziesz musia³ zrestartowaæ komputer w trybie jednego
  u¿ytkownika (parametr "single" dla lilo lub loadlin) i zmieniæ
  wszystko na stan taki jaki by³ przed zmian± konfiguracji.
  22..1111..  SSpprraawwddzzeenniiaa..


  Sprawd¼ czy na ka¿dym interfejsie jest inny ruch:


          tcpdump -i eth0    (w jednym oknie)
          tcpdump -i eth1    (w drugim oknie)



  Powiniene¶ siê przyzwyczaiæ do u¿ywania _t_c_p_d_u_m_p do szukania przyczyn
  niektórych zdarzeñ, które nie powinny mieæ miejsca a maj±.

  Na przyk³ad szukanie pakietów, które przesz³y przez bridge do drugiej
  karty z wewnêtrznej sieci. W tym przyk³adzie szukam pakietów z maszyny
  o adresie .22:


         tcpdump -i eth1 -e host 192.168.2.22



  Potem wy¶lij ping-a z maszyny .22 do rutera. Powiniene¶ zobaczyæ
  raport o tym pakiecie.

  W tym momencie powiniene¶ mieæ w pe³ni dzia³aj±cy bridge z dwoma
  adresami. Sprawd¼ czy mo¿esz je pingowaæ z zewn±trz i z wewn±trz sieci
  oraz, ¿e mo¿esz siê ³±czyæ z jednej sieci do drugiej i z zewn±trz.


  33..  FFiirreewwaallll..



  33..11..  OOpprrooggrraammoowwaanniiee ii cczzyyttaanniiee..


  Powiniene¶ przeczytaæ Firewall-HOWTO
  <ftp://ftp.icm.edu.pl:/pub/Linux/sunsite/docs/HOWTO/>.

  Dowiesz siê stamt±d sk±d wzi±æ _i_p_f_w_a_d_m je¶li jeszcze go nie masz. S±
  jeszcze inne narzêdzia, które mo¿esz ¶ci±gn±æ, ale ja nie zrobi³em nic
  dalej bez _i_p_f_w_a_d_m. Jest on do¶æ przyjazny i niskopoziomowy ! Widzisz
  dok³adnie co siê dzieje.


  33..22..  SSpprraawwddzzeenniiee wwssttêêppnnee..


  Wkompilowa³e¶ IP-forwarding i -masquerading w j±dro, wiêc mo¿esz
  sprawdziæ czy firewall jest w swoim domy¶lnym (akceptuj±cym) stanie
  poleceniami:


         ipfwadm -I -l
         ipfwadm -O -l
         ipfwadm -F -l



  I tak odpowiednio wy¶wietlane s± zasady dotycz±ce wchodz±cych,
  wychodz±cych i przekazywanych (masquerading) pakietów. _-_l oznacza
  "list".


  Mo¿liwe, ¿e wkompilowa³e¶ tak¿e zliczanie (accounting):


         ipfwadm -A -l



  Powiniene¶ zobaczyæ, ¿e nie ma zdefiniowanych ¿adnych zasad i ¿e
  domy¶lnym stanem jest akceptacja wszystkich pakietów. Mo¿esz wróciæ do
  tego stanu w ka¿dej chwili pisz±c:


         ipfwadm -I -f
         ipfwadm -O -f
         ipfwadm -F -f



  _-_f oznacza "flush". Mo¿liwe, ¿e musisz tego u¿yæ.


  33..33..  ZZaassaaddyy ddoommyy¶¶llnnee..


  Chcê po prostu odci±æ resztê ¶wiata od swojej sieci wewnêtrznej i nic
  wiêcej, tak wiêc ostatni± (domy¶ln±) zasad± bêdzie ignorowanie
  wszelkich pakietów pochodz±cych z wnêtrza sieci i zaadresowanych na
  zewn±trz. Umie¶ci³em wszystkie te zasady (w takiej kolejno¶ci) w
  /etc/rc.d/rc.firewall i wykonujê ten skrypt z rc.local podczas startu.


    ipfwadm -I -a reject -S 192.168.2.0/255.255.255.128 -D 0.0.0.0/0.0.0.0



  _-_S oznacza ¼ród³owy (source) adres/maskê. _-_D to adres/maska
  przeznaczenia (destination).

  Ten format dla ipfwadm-a jest trochê d³ugi. Program ten jest
  inteligentny je¶li chodzi o nazwy sieciowe i niektóre popularne
  skróty. Zajrzyj do podrêcznika systemowego.

  Przypuszczalnie bardziej wygodnie jest okre¶laæ niektóre lub wszystkie
  zasady dla wychodz±cej po³owy firewall-a u¿ywaj±c opcji _-_O zamiast _-_I,
  ale ja okre¶lê je dla czê¶ci wchodz±cej.


  33..44..  DDzziiuurryy nnaa aaddrreess..


  Przed zasadami domy¶lnymi muszê umie¶ciæ kilka zasad, które s³u¿± jako
  wyj±tek od ogólnego zabronienia dostêpu do serwisów zewnêtrznych dla
  klientów wewnêtrznych.

  Chcê traktowaæ adres firewall-a w sieci wewnêtrznej specjalnie.
  Zabroniê logowania siê na tê maszynê o ile kto¶ nie ma specjalnego
  pozwolenia, ale jak ju¿ siê tam zaloguj±, to powinni mieæ mo¿liwo¶æ
  kontaktu ze ¶wiatem.


    ipfwadm -I -i accept -S 192.168.2.100/255.255.255.255 \
                         -D 0.0.0.0/0.0.0.0




  Chcê tak¿e, aby klienci wewn±trz sieci mogli siê komunikowaæ z
  firewall-em. Mo¿e mog± go zmusiæ, aby wypu¶ci³ ich na zewn±trz !


    ipfwadm -I -i accept -S 192.168.2.0/255.255.255.128 \
                         -D 192.168.2.100/255.255.255.255



  W tym momencie sprawd¼ czy mo¿esz siê dostaæ do klientów wewn±trz
  sieci z zewn±trz poprzez telnet i nie mo¿esz siê wydostaæ. Oznacza to,
  ¿e mo¿esz siê kontaktowaæ, ale klienci nie mog± ci odpowiedzieæ.
  Powiniene¶ móc siê dostaæ wszystkimi drogami je¶li u¿ywasz firewall-a
  jako maszyny przej¶ciowej. Spróbuj tak¿e _r_l_o_g_i_n i _p_i_n_g z uruchomionym
  _t_c_p_d_u_m_p na jednej z kart. Powiniene¶ umieæ odpowiednio wykorzystaæ to
  co robisz.


  33..55..  DDzziiuurryy nnaa pprroottookkóó³³..


  W nastêpnym kroku polu¼ni³em trochê zasady protokó³ po protokole.
  Chcê, na przyk³ad, wpuszczaæ ping-i, ¿eby dostaæ odpowied¼.


    ipfwadm -I -i accept -P icmp -S 192.168.2.0/255.255.255.128 \
                                 -D 0.0.0.0/0.0.0.0



  _-_P _i_c_m_p to magiczne zaklêcie dla konkretnego protoko³u.

  Dopóki trzymam ftp-proxy pozwalam tak¿e na odwo³ania ftp na zewn±trz
  przez konkretne porty. Te docelowe porty na odleg³ej maszynie to:  20,
  21, 115


    ipfwadm -I -i accept -P tcp -S 192.168.2.0/255.255.255.128 \
                                 -D 0.0.0.0/0.0.0.0 20 21 115



  Bez dzia³aj±cego serwera nazw nie móg³bym mieæ dzia³aj±cego sendmail-
  a. Zamiast ustawiæ serwer nazw na firewall-u, pozwoli³em mu
  przepuszczaæ zapytania skierowane do najbli¿szego serwera nazw i
  umie¶ci³em jego adres w plikach /etc/resolv.conf u klientów -
  _n_a_m_e_s_e_r_v_e_r _1_2_3_._4_5_6_._7_8_9_._3_1 - w osobnej linijce.


    ipfwadm -I -i accept -P tcp -S 192.168.2.0/255.255.255.128 \
                                 -D 123.456.789.31/255.255.255.255 54



  To, którego portu u¿ywa dany serwis mo¿esz dowiedzieæ siê z programu
  _t_c_p_d_u_m_p. Po prostu uruchom dany serwis przez ftp, albo telnet na danym
  kliencie i szukaj go na portach wej¶ciowych albo wyj¶ciowych na danym
  kliencie:


    tcpdump -i eth1 -e host client04



  Plik /etc/services jest drugim wa¿nym ¼ród³em.

  Aby pozwoliæ na dostêp poprzez telnet do firewall-a z zewn±trz, musisz
  pozwoliæ klientom na wo³anie na konkretnym porcie. Rozumiem dlaczego
  jest to potrzebne dla ftp - z powodu serwera, który ustawia strumieñ
  danych na koñcu - ale nie jestem pewien dlaczego telnet tak¿e tego
  potrzebuje.


    ipfwadm -I -i accept -P tcp -S 192.168.2.0/255.255.255.128 ftp telnet \
                                 -D 0.0.0.0/0.0.0.0



  S± problemy z pewnymi demonami, które sprawdzaj± nazwê firewall-a,
  ¿eby zdecydowaæ jaki jest ich adres sieciowy. _r_p_c_._y_p_p_a_s_s_w_d_d to jeden,
  z którym mia³em problemy. Nalega³ na rozsy³anie informacji, ¿e jest on
  poza firewall-em (na drugiej karcie). To znaczy, ¿e klient wewn±trz
  nie mo¿e siê z nim porozumieæ.

  Zamiast uruchamiania IP-aliasing-u, albo zmiany kodu demona,
  odwzorowa³em nazwê dla karty wewnêtrznej u klientów w ich plikach
  /etc/hosts.


  33..66..  SSpprraawwddzzeenniiaa..


  Teraz chcesz sprawdziæ czy wci±¿ mo¿esz po³±czyæ siê telnet-em,
  rlogin-em lub ping-owaæ z zewn±trz. Z wewn±trz powiniene¶ móc ping-
  owaæ na zewn±trz. Powiniene¶ móc tak¿e po³±czyæ siê telnet-em z
  firewall-em z wewn±trz a pó¼niej móc robiæ wszystko.

  To tyle. W tym momencie mo¿esz siê pouczyæ o rpc/Yellow Pages i
  interakcji z plikiem hase³. Sieæ chroniona firewall-em powinna dzia³aæ
  tak, aby nie pozwalaæ nieuprzywilejowanym u¿ytkownikom na logowanie
  siê na firewall-u i przez to na wychodzenie na zewn±trz.. A to ju¿
  historia na inne HOWTO.


  44..  OOdd tt³³uummaacczzaa..


  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 /HOWTO.

  Przet³umaczone przeze mnie dokumenty znajduj± siê tak¿e na mojej
  stronie WWW. <http://www.jtz.org.pl/bartek/tlumaczenie.html> S± tam
  te¿ odwo³ania do Polskiej Strony T³umaczeniowej.

  Kontakt z nasz± grup±, grup± t³umaczy mo¿esz uzyskaæ poprzez listê
  dyskusyjn± jtz@ippt.gov.pl. Je¶li chcesz siê na ni± zapisaæ, to wy¶lij
  list o tre¶ci subscribe jtz Imiê Nazwisko na adres
  majordomo@ippt.gov.pl