Hello. Polish translation in attachment. regards fEnIo -- _ Bartosz Feński aka fEnIo | tlen/mailto:fenio@o2.pl | pgp:0x13fefc40 _|_|_ 32-050 Skawina - Głowackiego 3/15 - w. małopolskie - Polska (0 0) phone:+48501608340 | ICQ:46704720 | GG:726362 | IRC:fEnIo ooO--(_)--Ooo http://skawina.eu.org | JID:fenio@jabber.org | RLU:172001
<!-- CVS revision of this document "$Revision: 1.4 $" --> <chapt id="gateway"> Tworzenie bramy sieciowej z systemem &debian; <p> &debian; oferuje oprogramowanie ogólnego przeznaczenia do obsługi/ustawień bramki sieciowej, która obsługuje NAT, pocztę, DHCP, buforowanie DNS, buforowanie zapytań HTTP (proxy), CVS, NFS i zasoby Samba dla domowej sieci lokalnej. Przeczytaj <url id="&netfilterhome;" name="Netfilter">, gdzie jest opisanych wiele problemów z konfiguracją sieci. <sect>Konfiguracja sieci <p> <sect1 id="ip-class">Konfiguracja host dla bramy <p> Sieć lokalna używa adresów IP z puli prywatnych adresów sieciowych, po to, by zapobiec kolizjom adresów z tymi używanymi w Internecie. <example> Klasa A: 10.0.0.0 z maską 255.0.0.0 Klasa B: 172.16.0.0 - 172.31.0.0 z maską 255.255.0.0 Klasa C: 192.168.0.0 - 192.168.255.0 z maską 255.255.255.0 </example> <p> &debian; używa pliku <file>/etc/network/interfaces</file> do konfiguracji IP. <p> Na przykład, jeśli <file>eth0</file> łączy cię z Internetem z wykorzystaniem adresu IP pobieranego przez DHCP, a <file>eth1</file> łączy cię z siecią lokalną (LAN), plik <file>/etc/network/interfaces</file> wygląda następująco (w przypadku Woodiego lub nowszej dystrybucji): <example> auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.1.1 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 </example> Wprowadź poniższe polecenie, by uaktualnić konfigurację sieciową używając nowego pliku <file>/etc/network/interfaces</file>: <example> # /etc/init.d/networking restart </example> Pamiętaj: Plik <file>/etc/network/interfaces</file> z Woodiego (i późniejszych wersji) nie jest kompatybilny z podobnym plikiem z Potato. (Taka sama sytuacja może zaistnieć między Sarge i Woody.) <p> Jeśli system używa karty sieciowej PCMCIA, należy skonfigurować sieć w pliku <file>/etc/pcmcia/network.opts</file> (dotyczy tylko Potato). W Woodym ten problem został rozwiązany. <p> Jeśli nie jesteś pewien, przyjrzyj się wynikowi poniższych poleceń: <example> # ifconfig # cat /proc/pci # cat /proc/interrupts # dmesg|more </example> Czasami z łączami DSL (PPPoE) są problemy z MTU. Szczegółowe informacje znajdują się w LDP <url id="&dsl-howto;" name="DSL-HOWTO">. Jeśli masz problemy z niektórymi stronami, zobacz <ref id="killecn">. </sect1> <sect1 id="ip-check">Lista "do zrobienia" konfiguracji sieci <p> Typowy zestaw programów: <example> # apt-get install nfs samba dhcpd dhcp-client bind squid procmail fetchmail # apt-get install ssh cvs </example> <p> Następnie przyjrzyj się następującym plikom: <example> /etc/init.d/dhcpd (zmodyfikuj, by mieć tylko LAN = eth1) /etc/host.allow (ALL: 192.168.0.0/16 127.0.0.0/8) dla NFS /etc/exports (potrzebny dla NFS) /etc/bind/db.192.168.1 (dodaj) /etc/bind/db.lan (dodaj) /etc/bind/named.conf (zmodyfikuj) /etc/resolv.conf (zmodyfikuj) /etc/hosts /etc/dhcpd.conf (zmodyfikuj dla LAN = eth1) /etc/dhclient.conf (zmodyfikuj by wymusić lokalny DNS) /etc/samba/smb.conf /etc/exim/exim.conf /etc/mailname /etc/aliases /etc/squid.conf (dodaj adresy IP wszystkich dozwolonych hostów) </example> <prgn>bind</prgn> tworzy lokalny serwer buforujący DNS i zmienia adres serwera DNS na localhost. Przyjrzyj się plikowi <file>/etc/resolv.conf</file>: <example> nameserver 127.0.0.1 search lan.aokiconsulting.com </example> </sect1> <sect id="netfilter">Konfiguracja Netfilter <p> Projekt netfilter/iptables jest podsystemem ściany ogniowej dla Linuksa 2.4 i nowszych. Udaj się na stronę <url id="&netfilterhome;" name="Netfilter">, gdzie jest opisanych i wyjaśnionych wiele problemów konfiguracji sieciowej. <sect1 id="netfilter-basics">netfilter - podstawy <p> Netfilter przetwarza pakiety przy użyciu pięciu wbudowanych łańcuchów: PREROUTING, INPUT, FORWARD, OUTPUT i POSTROUTING. <example> decyzja routingu IN ------> PRE ---> ------> FORWARD -----> ----> POST -----> OUT interfejs ROUTING \ śledzenie / ROUTING interfejs DNAT | połączeń ^ SNAT REDIRECT | | MASQUERADE v | INPUT OUTPUT | filtrowanie ^ filtrowanie,DNAT v | \--> Lokalny Proces--/ program przestrzeni użytkownika </example> <sect1 id="netfilter-table">Tablice Netfilter <p> Pakiety są przetwarzane w każdym łańcuchu w poszczególnych tablicach. <list compact> <item>filter (filtrowanie pakietów, domyślna) <list compact> <item>INPUT (tylko dla pakietów wchodzących do hosta) <item>FORWARD (tylko dla pakietów przekazywanych przez hosta) <item>OUTPUT (tylko dla lokalnie generowanych pakietów). </list> <item>nat (network address translation - translacja adresów sieciowych) <list compact> <item>PREROUTING (do zmiany zawartości pakietów podczas gdy tylko wchodzą) <item>OUTPUT (do zmiany zawartości pakietów generowanych lokalnie, przed routingiem) <item>POSTROUTING (do zmiany zawartości pakietów, gdy wychodzą one z hosta) </list> <item>mangle (network address mangling, sprawne tylko w jądrach nowszych niż 2.4.18) <list compact> <item>wszystkie 5 wbudowane łańcuchy. </list> </list> <sect1 id="netfilter-target">Cele Netfilter <p> Reguły ogniomurka mają wiele celów (miejsc przeznaczenia): <list compact> <item>4 podstawowe cele: <list compact> <item>ACCEPT przepuszcza pakiet (zezwala na dostęp). <item>DROP po cichu odrzuca pakiet (nie informuje o tym nikogo). <item>QUEUE przekazuje pakiet programowi działającemu w przestrzeni użytkownika (jeśli jest to obsługiwane przez jądro). <item>RETURN zatrzymuje przetwarzanie danego łańcucha i wznawia przetwarzanie w następnej regułce poprzedniego (z którego nastąpiło wywołanie) łańcucha. </list> <item>rozszerzone cele: <list compact> <item>LOG włącza logowanie jądra. <item>REJECT zwraca informację o błędzie nadawcy i odrzuca pakiet. <item>SNAT zmienia adres źródłowy pakietu i jest używany tylko w łańcuchu POSTROUTING (tablica nat). <example compact> --to-source ipaddr[-ipaddr][:port-port] </example> <item>MASQUERADE działa tak samo jak SNAT, ale jest przeznaczona dla połączeń z dynamicznie przypisywanym numerem IP (połączenie wdzwaniane) (tablica nat). <example compact> --to-ports port[-port] </example> <item>DNAT zmienia adres docelowy pakietu, jest używany w łańcuchach PREROUTING i OUTPUT oraz w zdefiniowanych przez użytkownika łańcuchach, które są wywoływane z dwóch powyższych łańcuchów (tablica nat). <example compact> --to-destination ipaddr[-ipaddr][:port-port] </example> <item>REDIRECT zmienia adres docelowy tak, by pakiet otrzymał komputer, na którym działa ogniomurek (czyli ten komputer). <example compact> --to-ports port[-port] </example> </list> </list> <sect1 id="netfilter-command">Polecenia Netfilter-a <p> Podstawowe polecenia <prgn>iptables</prgn>: <example compact> iptables -N <var>łańcuch</var> # tworzy <var>łańcuch</var> iptables -A <var>łańcuch</var> \ # dodaje regułkę do <var>łańcuch</var> -t <var>tablica</var> \ # w <var>tablica</var> (filter, nat, mangle) -p <var>protokół</var> \ # tcp, udp, icmp lub all -s <var>adres-źródłowy[/maska]</var> \ --sport <var>port[:port]</var> \ # port źródłowy, jeśli -p jest tcp lub udp -d <var>adres-docelowy[/maska]</var> \ --dport <var>port[:port]</var> \ # port docelowy, jeśli -p jest tcp lub udp -j <var>cel</var> \ # co zrobić, jeśli regułka pasuje -i <var>interfejs-wejściowy</var> \ # dla INPUT, FORWARD, PREROUTING -o <var>interfejs-wyjściowy</var> # dla FORWARD, OUTPUT, POSTROUTING </example> <sect1 id="ip-masq">Maskarada IP <p> Komputery w sieci lokalnej mogą mieć dostęp do Internetu przez bramkę sieciową, na której działa maskarada IP (NAT) dzieląc pojedynczy, osiągalny z zewnątrz adres IP. <example> # apt-get install ipmasq </example> Zastosuj przykładowe reguły, by zwiększyć zabezpieczenia <prgn>ipmasq</prgn>. Przeczytaj <file>/usr/share/doc/ipmasq/examples/stronger/README</file>. W przypadku debianowego kernel-image-2.4 upewnij się, że załadowałeś odpowiednie moduły. Opis potrzebnej konfiguracji jest w <ref id="kernel-net">. <p> W przypadku debianowego kernel-image-2.2, modyfikuj plik <file>Z92timeouts.rul</file> w katalogu <file>/etc/masq/rules</file> tak, jak pokazano poniżej, by zapewnić dłuższe połączenia ze zdalnymi serwerami (dobre dla dużych emaili, itp.): <example> # tcp, tcp-fin, udp # 2hr, 10 sec, 160 sec - domyślnie # 1 day, 10 min, 10 min - przykład dłuższego czasu życia $IPCHAINS -M -S 86400 600 600 </example> Również jeśli sieć jest osiągalna przez kartę PCMCIA, <prgn>ipmasq</prgn> musi być wystartowane z pliku <file>/etc/pcmcia/network.opts</file>. Przeczytaj plik <file>/usr/share/doc/ipmasq/ipmasq.txt.gz</file>. </sect1> <sect1 id="ip-redirect">Przekierowanie połączeń SMTP (2.4) <p> Załóżmy, że masz notebooka, który jest tak skonfigurowany, że używa różnych środowisk sieciowych i chcesz używać swojego agenta (serwer) poczty bez potrzeby ciągłej zmiany jego konfiguracji. <p> Dodając poniższą regułkę <prgn>iptables</prgn> na bramce sieciowej przekierujesz połączenia SMTP do komputera pełniącego funkcję bramki. <example> # iptables -t nat -A PREROUTING -s 192.168.1.0/24 -j REDIRECT \ -p tcp --dport smtp --to-port 25 # smtp=25, INPUT is open </example> Jeśli oczekujesz dokładniejszych zestawów regułek, rozważ zainstalowanie pakietu <package>ipmasq</package> i dodanie <file><url id="&examples;" name="M30redirect.def"> do katalogu <file>/etc/ipmasq/rules/</file>. </sect> <sect>Zarządzanie wieloma połączeniami z siecią <p> [FIXME] Policy routing (by Phil Brutsche <email>pbrutsch@tux.creighton.edu</email>): Zobacz <url id="&iproute;" name="iproute manual">, jeśli interesują cię szczegóły. Kształtowanie ruchu (tc, ang. Traffic control) może być równie interesujące. <p> Środowisko: <example> eth0: 192.168.1.2/24; brama 192.168.1.1 eth1: 10.0.0.2/24; brama 10.0.0.1 Brak maskarady na tym komputerze. </example> Magiczne zaklęcia: <enumlist compact> <item>ip rule add from 192.168.1.2 lookup 1 <item>ip rule add from 10.0.0.2 lookup 2 <item>ip route add to default via 10.0.0.1 metric 0 <item>ip route add to default via 192.168.1.1 metric 1 <item>ip route add table 1 to 192.168.1.0/24 via eth0 <item>ip route add table 1 to 10.0.0.2/24 via eth1 <item>ip route add table 1 to default via 192.168.1.1 <item>ip route add table 2 to 192.168.1.0/24 via eth0 <item>ip route add table 2 to 10.0.0.2/24 via eth1 <item>ip route add table 2 to default via 10.0.0.2 </enumlist> <p> [FIXME] Nigdy tego nie robiłem. Jak ustawić połączenie wdzwaniane jako połączenie zapasowe szybkiego łącza, używając właściwości automatycznego łączenia na żądanie? Wyślij łatkę tutaj :) </sect> </chapt>
Attachment:
pgpS5wjjju1b2.pgp
Description: PGP signature