[ powrót ] [ Spis treści ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ dalej ]

Debian Reference
Część 10 - Tworzenie bramy sieciowej z systemem Debian


Debian oferuje oprogramowanie ogólnego przeznaczenia do uruchomienia 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 Netfilter, gdzie jest opisanych wiele problemów z konfiguracją sieci.


10.1 Konfiguracja sieci


10.1.1 Konfiguracja stacji sieciowej przeznaczonej na bramę

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.

     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

Debian używa pliku /etc/network/interfaces do konfiguracji IP.

Na przykład, jeśli eth0 łączy Cię z Internetem z wykorzystaniem adresu IP pobieranego przez DHCP, a eth1 łączy Cię z siecią lokalną (LAN), plik /etc/network/interfaces wygląda następująco (w przypadku Woodiego lub nowszej dystrybucji):

     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

Wprowadź poniższe polecenie, by uaktualnić konfigurację sieciową używając nowego pliku /etc/network/interfaces:

     # /etc/init.d/networking restart

Pamiętaj: Plik /etc/network/interfaces z Woodiego (i późniejszych wersji) nie jest kompatybilny z podobnym plikiem z Potato. (Taka sama sytuacja może zaistnieć między Woody a Sarge.)

Jeśli system używa karty sieciowej PCMCIA, należy skonfigurować sieć w pliku /etc/pcmcia/network.opts (dotyczy tylko Potato). W Woodym ten problem został rozwiązany.

Jeśli nie jesteś pewien, przyjrzyj się wynikowi poniższych poleceń:

     # ifconfig
     # cat /proc/pci
     # cat /proc/interrupts
     # dmesg|more

Wiele nowych usług ADSL korzysta do połączeń z PPPoE. Instalator Woodiego nie posiada menu dla PPPoE ale ma wszelkie potrzebne do tego pakietu, np. pppoe i pppoeconf. By łatwo skonfigurować połączenie podczas procesu instalacji uruchom pppoeconf. Czasami przy połączeniu DSL (PPPoE) trzeba zainteresować się tematem MTU. Szczegółowe informacje znajdują się w LDP DSL-HOWTO.

Jeśli masz problemy z niektórymi stronami, zobacz Dziwne kłopoty z dostępem do witryn WWW., Rozdział 3.7.5.


10.1.2 Lista „do zrobienia” konfiguracji sieci

Typowy zestaw programów:

     # apt-get install nfs samba dhcpd dhcp-client bind squid procmail fetchmail 
     # apt-get install ssh cvs

Następnie przyjrzyj się następującym plikom:

     /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)

bind tworzy lokalny serwer buforujący DNS i zmienia adres serwera DNS na localhost. Przyjrzyj się plikowi /etc/resolv.conf:

     nameserver 127.0.0.1
     search lan.aokiconsulting.com

10.2 Konfiguracja Netfilter

Projekt netfilter/iptables jest podsystemem ściany ogniowej dla Linuksa 2.4 i nowszych. Udaj się na stronę Netfilter, gdzie opisano i wyjaśniono wiele zagadnień dotyczących konfiguracji sieciowej.


10.2.1 Netfilter - podstawy

Netfilter przetwarza pakiety przy użyciu pięciu wbudowanych łańcuchów: PREROUTING, INPUT, FORWARD, OUTPUT i POSTROUTING.

                     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

10.2.2 Tablice Netfilter

Pakiety są przetwarzane w każdym łańcuchu w poszczególnych tablicach.


10.2.3 Cele Netfilter

Reguły ściany ogniowej mają wiele celów (miejsc przeznaczenia):


10.2.4 Polecenia Netfiltera

Podstawowe polecenia iptables:

     iptables -N łańcuch                   # tworzy łańcuch
     
     iptables -A łańcuch \                 # dodaje regułkę do łańcuch
              -t tablica \                 # w tablica (filter, nat, mangle)
              -p protokół \                # tcp, udp, icmp lub all
              -s adres-źródłowy[/maska] \
              --sport port[:port] \        # port źródłowy, jeśli -p jest tcp lub udp
              -d adres-docelowy[/maska] \
              --dport port[:port] \        # port docelowy, jeśli -p jest tcp lub udp
              -j cel \                     # co zrobić, jeśli regułka pasuje
              -i interfejs-wejściowy \     # dla INPUT,  FORWARD, PREROUTING
              -o interfejs-wyjściowy       # dla FORWARD, OUTPUT, POSTROUTING

10.2.5 Maskarada IP

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.

     # apt-get install ipmasq

Zastosuj przykładowe reguły, by zwiększyć zabezpieczenia ipmasq. Przeczytaj /usr/share/doc/ipmasq/examples/stronger/README. W przypadku debianowego kernel-image-2.4 upewnij się, że załadowałeś odpowiednie moduły. Opis potrzebnej konfiguracji jest w Obsługa sieci, Rozdział 7.2.3.

W przypadku debianowego kernel-image-2.2, modyfikuj plik Z92timeouts.rul w katalogu /etc/masq/rules tak, jak pokazano poniżej, by zapewnić dłuższe połączenia ze zdalnymi serwerami (dobre dla dużych listów elektronicznych, itp.):

     # 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

Również jeśli sieć jest osiągalna przez kartę PCMCIA, ipmasq musi być wystartowane z pliku /etc/pcmcia/network.opts. Przeczytaj plik /usr/share/doc/ipmasq/ipmasq.txt.gz.


10.2.6 Przekierowanie połączeń SMTP (2.4)

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.

Dodając poniższą regułkę iptables na bramce sieciowej przekierujesz połączenia SMTP do komputera pełniącego funkcję bramki.

     # 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

Jeśli oczekujesz dokładniejszych zestawów regułek, rozważ zainstalowanie pakietu ipmasq i dodanie M30redirect.def do katalogu /etc/ipmasq/rules/.


10.3 Zarządzanie wieloma połączeniami z siecią

[FIXME] Routing rozszerzony (policy routing) (autor: Phil Brutsche pbrutsch@tux.creighton.edu): Zobacz iproute manual, jeśli interesują Cię szczegóły. Kształtowanie ruchu (tc, ang. Traffic control) może być równie interesujące.

Środowisko:

     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.

Magiczne zaklęcia:

  1. ip rule add from 192.168.1.2 lookup 1
  2. ip rule add from 10.0.0.2 lookup 2
  3. ip route add to default via 10.0.0.1 metric 0
  4. ip route add to default via 192.168.1.1 metric 1
  5. ip route add table 1 to 192.168.1.0/24 via eth0
  6. ip route add table 1 to 10.0.0.2/24 via eth1
  7. ip route add table 1 to default via 192.168.1.1
  8. ip route add table 2 to 192.168.1.0/24 via eth0
  9. ip route add table 2 to 10.0.0.2/24 via eth1
  10. ip route add table 2 to default via 10.0.0.2

[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 :)


[ powrót ] [ Spis treści ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ dalej ]

Debian Reference

1.06-17, sobota, 31 styczeń 2004, 07:56:05 UTC

Osamu Aoki osamu@debian.org
Koordynator tłumaczenia: Bartosz Feński aka fEnIo fenio@o2.pl
Autorzy, Rozdział A.1