R10_05_SPR.PDF

(508 KB) Pobierz
Szablon dla tlumaczy
Rozdział 10.
Konfiguracja sieci LAN opartej na
systemie Debian GNU/Linux
Rozdział ten wyjaśnia, jak skonfigurować sieć lokalną (LAN) i serwer Samba, który pozwala klientom
systemów UNIX i MS Windows na korzystanie z zasobów (plików i drukarek) udostępnianych przez system
Linux. Objaśnia także, jak zarządzać siecią lokalną, a także jak zainstalować i skonfigurować klienty i serwery
Samby oraz administrować nimi. Integracja systemu Linux z istniejącą siecią LAN jest nie bardziej
skomplikowana niż konfiguracja własnej sieci LAN; rozdział ten tłumaczy, jak połączyć się z istniejącą siecią
LAN. Na końcu przedstawiona jest metoda używania narzędzi do archiwizacji i odtwarzania systemu, która
pozwala klientom tworzyć i stosować kopie zapasowe przechowywane na serwerze lokalnym.
Wstęp
Jedną z największych zalet systemu Debian GNU/Linux są jego potężne i wydajne właściwości sieciowe. Dobrą
stroną jest również to, że wszystko, co dotyczy sieci systemu Linux, jest otwarte i w pełni konfigurowalne. Nic
nie jest ukryte przed użytkownikiem, żadne parametry nie są wymuszane na użytkowniku. Wyzwaniem jest za to
skonfigurowanie sieci zgodnie z własnymi oczekiwaniami i wymogami sprecyzowanymi w dokumentach RFC.
Podstawowe zasady sieciowe nie różnią się wiele między systemami MS Windows i Linux. Rozdział ten
rozpoczyna przegląd sieci od dość szczegółowego opisu sieci lokalnych (LAN). W następnych dwóch
rozdziałach zaś przedstawione zostały takie zagadnienia dotyczące sieci, jak nawiązywanie połączenia z siecią
Internet poprzez PPP (dialup) oraz konfiguracja serwisów sieci WAN (Wide Area Network — sieć rozległa).
Ruch generowany w sieci przez współczesne komputery można porównać do tradycyjnej poczty. Żeby możliwe
było wysyłanie i odbieranie listów, listonosz musi wiedzieć, gdzie list dostarczyć oraz skąd odebrać. Zatem twój
dom musi posiadać jakiś rozpoznawalny „interfejs”, który nazywamy skrzynką pocztową. Listonosz musi znać
twoje sąsiedztwo bardzo dobrze, w innych miejscowościach działać będą inni listonosze równie dobrze znający
swój teren. Poczta jest przekazywana listonoszom za pośrednictwem urzędników pocztowych, których
odpowiednikiem w sieci komputerowej jest gateway (brama przekaźnikowa). Chociaż możesz sądzić, że cały ten
system poczty to jedna wielka sieć, łatwiej będzie ci go zrozumieć, jeśli wyobrazisz go sobie jako hierarchię
składającą się z podsieci, z których największymi są województwa, te zaś podzielone są na gminy, następnie
urzędy pocztowe, określane kodami pocztowymi — wszystko to, wraz z nazwą ulicy i numerem domu, składa
się na niepowtarzalny adres odbiorcy przesyłki.
Sieci komputerowe wręcz kopiują ten model. Prześledźmy na przykład operację wysyłania wiadomości e-mail
do dowolnego współpracownika lub znajomego. Tworzymy wiadomość i naciskamy Send (wyślij). Komputer
przesyła wiadomość do interfejsu sieciowego. Może być nim modem, za pomocą którego łączysz się ze swoim
usługodawcą internetowym (ISP) lub może to być karta sieciowa, która łączy komputer z siecią LAN (lub
Internet). W każdym przypadku z drugiej strony interfejsu znajduje się brama (gateway). Usługa ta potrafi
odczytać adres odbiorcy i zinterpretować wiadomość. Za pomocą tych informacji brama przekazuje e-mail do
innych bram, dopóki wiadomość nie dotrze do bramy połączonej z komputerem docelowym, która dostarcza e-
mail poprzez interfejs sieciowy komputera docelowego (modem lub kartę sieciową) do skrzynki pocztowej
odbiorcy.
Na podstawie wyżej przytoczonego przykładu łatwo już określić, jakie części sieci należy skonfigurować w
systemie Linux. Musisz znać adres swojego komputera. Zazwyczaj możesz mieć dwie nazwy określające adres
maszyny: jedna to hostname (nazwa hosta), a druga to numer IP, który nadaje adres twojej maszynie.
Aby przetłumaczyć nazwę hosta na numer IP lub odwrotnie, powinieneś znać adres serwera DNS (Domain
Name Server — serwer nazw domenowych). Jest to komputer, który dopasowuje adres IP komputera do jego
nazwy (hostname). Powinieneś również znać adres bramy, przez którą będzie przekazywany ruch sieciowy. W
końcu musisz umieć podnieść interfejs sieciowy twojego systemu i podać adres do tej bramy.
Wszystko to wydaje się bardzo skomplikowane, ale nie jest to bardziej złożone niż system tradycyjnej poczty, a
funkcjonuje w bardzo podobny sposób. Na szczęście Linux posiada wiele narzędzi, które pomagają
zautomatyzować konfigurację sieci. W tym rozdziale przyjrzymy się bliżej sieciom LAN, rozpoczynając od
konfiguracji takiej sieci.
Administracja siecią
Program instalacyjny systemu Debian GNU/Linux określa konfigurację sieciową, która jest używana podczas
pierwszego uruchomienia systemu. Jeśli jednak zmieni się konfiguracja sieci, nie musisz ponownie instalować
Linuksa. Jeśli poświęcisz trochę czasu i nauczysz się, gdzie Linux przechowuje informacje o konfiguracji sieci,
to zobaczysz, że przy użyciu prostego edytora możesz zmienić ustawienia sieci bez potrzeby ponownego
instalowania całego systemu. Czy to nie genialne?
Konfiguracja urządzeń sieciowych
Jeśli zmienisz swój dotychczasowy interfejs sieciowy na inny model, będziesz musiał uruchomić program
modconf , który umożliwia określenie sterownika dla nowego sprzętu. Aby uruchomić program modconf, zaloguj
się na konto użytkownika root i wydaj polecenie:
modconf
Poznałeś już ten program podczas instalacji systemu Linux, służył on wtedy do precyzowania sterowników do
urządzeń znajdujących się wewnątrz komputera. Jeśli jednak masz kłopoty z tym programem, przeczytaj
podrozdział „Konfiguracja modułów sterowników urządzeń” znajdujący się w rozdziale 3. „Instalacja Linuksa”.
Aby zmiany wprowadzone za pomocą programu modconf przyniosły pożądany efekt, należy zrestartować
system.
Podstawowe informacje o hoście
Podczas instalacji systemu Linux możesz określić nazwę hosta. Jeśli jednak zechcesz zmienić tę nazwę,
wystarczy, że za pomocą dowolnego edytora otworzysz plik /etc/hostname i wprowadzisz nową. Ponieważ plik
ten, jak większość plików konfiguracyjnych systemu Linux, posiada ograniczone prawa dostępu, musisz być
zalogowany na koncie użytkownika root , aby móc wprowadzić jakiekolwiek zmiany.
Format pliku /etc/hostname jest bardzo prosty. Zawiera on jeden wiersz, w którym znajduje się nazwa komputera
(systemu), np. debian1 . Jeśli zmieniasz nazwę systemu, pamiętaj, aby podać tylko nazwę komputera, a nie
pełną nazwę zawierającą nazwę domenową, np. debian1.home.org .
Specyfikacja serwera nazw
W trakcie instalacji systemu Linux możesz podać jeden lub kilka serwerów nazw. System wysyła zapytanie do
serwera nazw, kiedy musi określić adres sieciowy odpowiadający danemu komputerowi. Jeśli zmieni się
konfiguracja sieci, prawdopodobnie będziesz musiał podać nowy serwer nazw (lub kilka). Usługodawca
internetowy powinien podać właściwy adres serwera nazw.
Adres sieciowy serwera nazw znajduje się w pliku /etc/resolv.conf , który możesz edytować przy użyciu
dowolnego edytora tekstu, np. ae , jeśli oczywiście jesteś zalogowany jako użytkownik root . Format pliku nie
jest skomplikowany, choć nie jest już tak prosty jak format pliku /etc/hostname . Aby wprowadzić nazwę serwera
nazw, wpisz do pliku wiersz o składni:
nameserver xxx.xxx.xxx.xxx
gdzie xxx.xxx.xxx.xxx oznacza adres sieciowy (numer IP) serwera nazw, na przykład 192.168.10.10.
Można użyć trzech serwerów nazw; kiedy system będzie musiał określić adres jakiegoś hosta, wtedy spróbuje
połączyć się z serwerem nazw podanym w pierwszym wierszu. Jeśli serwer będzie niedostępny, system spróbuje
skontaktować się z następnym serwerem nazw (jeśli taki podałeś). Jeżeli to nie pomoże, połączy się z serwerem
określonym w trzecim wierszu (pod warunkiem, że wprowadziłeś trzy serwery nazw, a nie na przykład jeden).
Trasowanie i bramy
Jeśli komputer jest częścią sieci lokalnej podłączonej do Internetu, to generalnie nie wysyła pakietów danych
bezpośrednio do hostów internetowych. Zamiast tego dane trafiają do wyznaczonego komputera zwanego bramą
( gateway ), znajdującego się w sieci lokalnej. Na żądanie systemu gateway przesyła dane do Internetu. Poza tym
prowadzi jeszcze odwrotną usługę: przesyła dane z komputerów internetowych do komputera osobistego.
Uwaga
Jeśli masz komputer podłączony do Internetu za pomocą PPP, to usługa ta ustanawia konfigurację sieciową
dynamicznie — co to oznacza w praktyce, dowiesz się już w następnym rozdziale.
Informacje dotyczące konfiguracji sieci lokalnej są zawarte w pliku /etc/network/interfaces , który możesz łatwo
edytować za pomocą dowolnego edytora tekstu. Oto typowy przykład zawartości tego pliku:
#1# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
#2# The loopback interface
iface lo inet loopback
#3# The first network card - this entry was created during the Debian
#4#installation
#5# (network, broadcast and gateway are optional)
iface eth0 inet static
address 192.168.1.17
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.254
Wierszami, które mogą nas najbardziej interesować, są wiersze od szóstego do jedenastego. Pierwszy z nich
określa nazwę interfejsu sieciowego oraz jego parametry, pozostałe zaś posiadają następującą formę:
zmienna numer_ip
Wiersze te związują nazwę podawaną przez zmienną z adresem sieciowym oznaczonym przez numer_ip .
Zmienne, które znajdują się w tych czterech wierszach, są poleceniami konfigurującymi sieć.
Aby zmienić konfigurację sieci, musisz powiązać właściwy adres IP z odpowiednią zmienną. Możesz tego
dokonać, logując się na konto użytkownika root i modyfikując plik /etc/network/interfaces . Tabela 10.1
opisuje każdą zmienną. Administrator sieci powinien służyć informacjami o odpowiednich wartościach
(numerów IP).
Tabela 10.1. Zmienne konfiguracji sieci
Zmienna
Opis
21714054.001.png
address
Określa adres sieciowy systemu
netmask
Określa adres sieciowy sieci, poprzez oznaczenie, które bity z 32-bitowego adresu
sieciowego odnoszą się do sieci, a które do hosta. Wiele lokalnych sieci to tak zwane
sieci klasy C, które wymagają maski sieciowej 255.255.255.0
network
Oznacza adres sieciowy sieci lokalnej
broadcast
Oznacza adres używany do wysyłania wiadomości do każdego systemu w sieci lokalnej.
Zazwyczaj można określić ten adres na podstawie adresu sieci lokalnej i maski podsieci.
Jest to najwyższy z możliwych numerów IP w danej sieci lokalnej
gateway
Określa adres sieciowy bramy używanej przez system
Ścieżka poszukiwań nazwy hosta
System Linux może używać trzech metod do określenia adresu IP związanego z nazwą hosta:
wysłanie zapytania do serwera DNS (wcześniej konfigurujesz klienta DNS);
odczyt zawartości pliku /etc/hosts , zwanego też plikiem hostów, o którym przeczytasz w następnym
podrozdziale.
wysłanie zapytania do serwera NIS (Network Information System — system informacji sieciowej).
Jednakże dopóki system jest częścią wydzielonej sieci lokalnej, serwer NIS nie jest dostępny. Dlatego większość
systemów wysyła zapytanie do serwera nazw, a jeśli nie otrzyma odpowiedzi lub serwer jest niedostępny, czyta
zawartość pliku /etc/hosts . Alternatywnie, większość systemów może najpierw czytać zawartość pliku /etc/hosts ,
a jeśli plik jest pusty lub jego zawartość nie wystarcza do prawidłowego określenia adresu IP, wysyła zapytanie
do serwera DNS. Ta druga możliwość jest o wiele lepsza, ponieważ czytanie zawartości pliku /etc/hosts zajmuje
znacznie mniej czasu niż wysyłanie zapytań do serwera nazw.
Plik /etc/hosts.conf określa, która z tych trzech metod jest używana przez system lub w jakiej kolejności są one
używane. Możesz edytować ten plik, ale musisz być zalogowany jako root . Oto typowy przykład zawartości
tego pliku:
order hosts, bind
multi on
Wiersz pierwszy ( order hosts ) określa, że system powinien najpierw czytać zawartość pliku /etc/hosts , a
następnie wysyłać zapytanie do serwera DNS (opcja bind — od Berkeley Internet Name Daemon — nazwa
wczesnej wersji serwera DNS).
Drugi wiersz ( multi ) oznacza, że system przystąpi do rozwiązywania nazw hostów zaraz po przeczytaniu pliku
/etc/hosts . Jeżeli plik ten nie jest duży (tysiące lub setki tysięcy wpisów), powinieneś dodać opcję multi on w
tym pliku.
Pozostałe opcje konfiguracyjne sieci
Plik /etc/hosts pozwala systemowi na określenie numeru adresu sieciowego powiązanego z nazwą hosta bez
wysyłania przez system zapytań do serwera nazw (DNS). Nie tylko operacja odczytywania zawartości pliku
/etc/hosts jest mniej czasochłonna, ale w dodatku jest on zawsze dostępny — w przeciwieństwie do serwera
DNS (który może ulec awarii).
Wpisy w tym pliku dzielą się na dwie części:
adres IP,
nazwa hosta lub lista nazw hostów oddzielonych spacjami.
Domyślnie plik hostów zawiera wpis wiążący nazwę localhost z adresem IP o numerze 127.0.0.1. Nie ma
potrzeby, abyś umieszczał w tym pliku jakiekolwiek inne wpisy. Jednakże większość administratorów
21714054.002.png
umieszcza w nim co najmniej jeszcze jeden wiersz, który przypisuje nazwę lokalnego systemu do adresu
sieciowego. Oto typowa zawartość pliku /etc/hosts :
127.0.0.1 localhost
192.168.10.10 debian1.home.org debian1
Zauważ, że drugi wiersz wskazuje pełną nazwę właściwą hosta, złożoną z nazwy hosta, nazwy domeny i
ponownie po spacji nazwy hosta.
Plik /etc/networks zwany także plikiem sieci ( networks ) pełni funkcję podobną do pliku hostów. Plik /etc/hosts
przypisuje nazwy hostów do odpowiednich adresów sieciowych, a plik sieci wiąże nazwy sieciowe z adresami
sieciowymi. Domyślnie plik /etc/networks zawiera jeden wiersz, który przypisuje adres sieciowy lokalnej sieci o
nazwie localnet :
localnet 192.168.10.0
Generalnie nie ma potrzeby dodawania kolejnych wierszy do tego pliku. Jednakże możesz wprowadzić wpisy,
które będą umożliwiały dostęp do często używanych sieci, nawet jeśli serwer DNS będzie niedostępny.
Samba
Dostępna od czasów Microsoft Windows 3.11 usługa współdzielenia plików i drukarek to najważniejsza
właściwość systemów Windows. Na przykład wyposażenie każdego komputera dużej firmy w drukarkę laserową
byłoby przedsięwzięciem dość drogim. Dzielenie drukarek między użytkowników komputerów pozwala
zredukować koszty — usługa ta pozwala każdemu systemowi na korzystanie z jednej drukarki.
Podobnie ma się sprawa usługi współdzielenia plików, która pozwala komputerom połączonym w sieci na
udostępnianie sobie plików nawzajem. Umożliwia także szybkie i łatwe przenoszenie tych plików pomiędzy
systemami oraz unikanie zamieszania, które ma miejsce, kiedy wszyscy użytkownicy posiadają swoje własne —
prawdopodobnie nieaktualne lub niezgodne — kopie ważnych danych, do których w przeciwnym razie nie
mieliby dostępu.
Aby usługi dzielenia plików i drukarek działały, Microsoft Windows używa właściwości (protokołu) zwanej
SMB (Server Message Block). Ta właściwość jest czasami znana jako NetBIOS lub LanManager. Dzięki
Andrew Tridgellowi i innym programistom, systemy linuksowe również współpracują z SMB za pomocą
pakietu Samba. Podobnie jak SMB, Samba umożliwia:
Dzielenie plików i drukarek pomiędzy systemami: MS Windows, OS/2, Novell NetWare i różnymi
odmianami Uniksa.
Ustanowienie prostego serwera nazw do identyfikacji systemów znajdujących się w sieci lokalnej.
Archiwizację plików znajdujących się na komputerach lokalnych i przechowywanie kopii zapasowych
w systemie Linux oraz ich przywracanie.
Administrowanie użytkownikami i ich hasłami.
Samba dowiodła swojej stabilności i wysokiej wydajności w wielu organizacjach. Według badań, których
wyniki znajdziesz na stronie http://www.samba.org/pub/samba/survey/ssstats.html , Bank of America używa
Samby obsługującej około 15 000 użytkowników, a firma Hewelett-Packard używa Samby skonfigurowanej na
7 000 klientów.
Instalacja serwera Samba
Jeśli nigdy jeszcze nie instalowałeś i nie konfigurowałeś serwera sieciowego, Samba może być doskonała do
ćwiczeń — jej instalacja i konfiguracja jest w gruncie rzeczy bardzo prosta.
Samba zawiera program smbd , który działa jako demon, kilka programów narzędziowych, strony podręcznika
man, dodatkową dokumentację oraz plik konfiguracyjny /etc/smb.conf . W następnym podrozdziale opiszę, jak
skonfigurować serwer Samba za pomocą tego pliku.
Uwaga
Zgłoś jeśli naruszono regulamin