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.
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.
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
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.
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
Pakiety są przetwarzane w każdym łańcuchu w poszczególnych tablicach.
Reguły ściany ogniowej mają wiele celów (miejsc przeznaczenia):
--to-source ipaddr[-ipaddr][:port-port]
--to-ports port[-port]
--to-destination ipaddr[-ipaddr][:port-port]
--to-ports port[-port]
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
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.
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/.
[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:
[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 :)
Debian Reference
1.07-6, środa, 23 czerwiec 2004, 21:21:03 UTCosamu@debian.orgfenio@o2.pl