Artykuł

flickr.com/photos/87054972@N00/501320935 flickr.com/photos/87054972@N00/501320935
gru 14 2008
0

Konfiguracja interfejsów sieciowych w systemie Linux

Sieci komputerowe są niezwykle ważnym zagadnieniem w informatyce. Pozwalają użytkownikom na swobodną wymianę plików między komputerami i dostęp do globalnego medium informacyjnego jakim jest Internet. We współczesnych systemach komputerowych dostęp do tych dóbr jest bardzo uproszczony. Jeśli tylko posiadamy odpowiednią infrastrukturę, jest wysoce prawdopodobne, że konfiguracja interfejsów sieciowych zostanie przeprowadzona automatycznie przez system. Dlaczego więc ten artykuł skoro wszystko może stać automatycznie? A no właśnie może. Artykuł opisuje sytuację alternatywną, ponad to opiera się on tekstowe narzędzia do konfiguracji sieci, których obsługę wypada znać, tak gdyby co. Przy pisaniu artykułu założyłem, że czytelnicy posiadają podstawową wiedzę na temat systemu Linux i orientują się w podstawowych zagadnieniach związanych z siecią komputerową. Dystrybucją Linuksa na której testowano polecenia był Knoppix. Aczkolwiek nie powinno być problemów, również nigdzie indziej.

Konfiguracja interfejsów

Niniejszy akapit dotyczy konfiguracji interfejsów, na poszczególnych komputerach w lokalnej sieci komputerowej. Interfejs eth0, jest domyślnym oznaczaniem dla pierwszej karty sieciowej w naszym systemie. Kolejny karty otrzymują kolejne numerki (eth1, eth2, ..., ethn).

Konfiguracja manualna

Aby przeprowadzić manualną konfigurację interfejsu należy się posłużyć poleceniem ifconfig. Przykładowa struktura polecenia przedstawiona została na listingu poniżej:

ifconfig eth0 10.10.51.xxx netmask 255.255.255.0

Co się tutaj stało? Dla interfejsu eth0, ustawiliśmy adres IP 10.10.51.xxx (gdzie xxx to kolejny wolny numer adresu z zakresu 1-255). Ponadto atrybutem netmask ustawiliśmy maskę sieciową, która wskazuje na adres 255.255.255.0. W kolejnym kroku należy ustawić bramę domyślną i dopisać adres DNS do pliku konfiguracyjnego. Czynności te wykonujemy 2 poleceniami przedstawionymi poniżej:

route add default gw 10.10.50.1
echo nameserver 208.67.222.222 >> /etc/resolv.conf

Pierwszym poleceniem dodajemy do reguł trasowania pakietów bramę domyślną (z ang. Gateway) o adresie 10.10.50.1. Drugie polecenie ustawia adres serwera DNS (DNS jest odpowiedzialny za translację adresów logicznych na adresy domen). W przykładzie skorzystałem z adresu 208.67.222.222, który jest adresem Open Dns. Tzn. może korzystać z niego każdy i to za darmo.

Konfiguracja automatyczna

Jeśli w naszej sieci lokalnej znajduje się serwer DHCP, możemy wtedy dokonać automatycznej konfiguracji. Musimy posłużyć się usługą pump, którą możemy aktywować poleceniem:

pump –i eth0

Dzięki temu zdefiniowaliśmy połączenie sieciowe na domyślnej (pierwszej) karcie sieciowej. Ustawienia usługi pump przechowywane są w pliku: /etc/pump.conf, który jest plikiem konfiguracyjnym usługi.

Konfiguracja serwera DHCP

Ważnym elementem każdej sieci komputerowej jest serwer DHCP, który dba o przydzielanie adresów IP poszczególnym użytkownikom. W linuksie mamy specjalną usługę, która odpowiada za serwer DHCP. Nazywa się ona nieco myląco dhcp3. Konfiguracji usługi dokonujemy poprzez edycję pliku konfiguracyjnego dhcpd.conf (znajdziemy go w katalogu /etc/dhcp3/).

Kluczową rzeczą, którą należy zmienić w tym pliku to definicja podsieci. Dlatego szukamy w pliku dhcpd.conf sekcję subnet i modyfikujemy ją. Jeśli taka sekcja nie istnieje to tworzymy ją. Przykładowa podsieć zdefiniowana została na listingu poniżej:

subnet 10.10.50.0 netmask 255.255.255.0 { 
	range 10.10.51.100 10.10.51.250; 
	option routers 10.10.50.1; 
	option domain-name-servers  208.67.222.222; 
}

Wnikliwi czytelnicy zauważą, że pojawiają się tutaj niemal wszystkie adresy, o których była mowa przy okazji ręcznej konfiguracji sieci na lokalnej maszynie. Przejdźmy do analizy tego zapisu.
- W linii 1 definiujemy adres podsieci (adres zerowy) i jej maskę. Znakiem nawiasu klamrowego otwieramy szczegółową konfigurację.
- W linii 2 rozpoczynamy definiowanie detali naszej podsieci. Podajemy zakres adresów IP jakie mogą zostać przydzielone użytkownikom (w naszym wypadku jest to pula 150 adresów).
- W linii 3 definiujemy adres do bramy domyślnej.
- W linii 4 podajemy adres do serwera DNS.
- W linii 5 zamykamy konfigurację podsieci znakiem klamrowym.
Ważne jest aby każda linia wewnątrz nawiasów klamrowych (która dotyczy określonej opcji), zakończona była średnikiem. Wymienione powyżej opcję pozwalają na domyślną konfigurację serwera DHCP.

W sposób przedstawiony powyżej, każdy z komputerów, który przyłączy się do naszej sieci otrzyma za każdym razem losowy (pierwszy wolny obecnie) adres IP. Czasem jednak chcemy narzucić stałe adresy poszczególnym maszynom. Możemy to oczywiście uczynić w pliku dhcpd.conf. Dla każdego komputera definiujemy odrębną sekcję:

host nazwa_komputera { 
	hardware Ethernet XX:XX:XX:XX:XX:XX; 
	fixed-address 10.10.51.XXX; 
}

- W linii pierwszej definiujemy nazwę określonej maszyny i otwieramy klamrą konfigurację szczegółową.
- W linii drugiej podajemy adres MAC karty sieciowej określonego komputera.
- W linii trzeciej definiujemy stały adres IP dla tego komputera.
- W linii czwartej zamykamy nawiasem klamrowym konfigurację określonego komputera.

Po zakończonej konfiguracji uruchamiamy serwer poleceniem:

/etc/init.d/dhcp3-server start

Możemy teraz skonfigurować interfejsy sieciowe na poszczególnych maszynach przy użyciu polecenia pump, omówionego powyżej.

Uwagi ogólne dotyczące artykułu

Wszelkie adresy sieciowe, które pojawią się w artykule należy zmienić pod kątem swojej sieci. Przytoczone tutaj adresy mają charakter losowy i proszę nie stosować ich w swojej sieci.

Pomoc dla każdego polecenia/usługi możemy uzyskać przy pomocy man:

man nazwa_polecenia(usługi)

Większość usług uruchamiamy/restartujemy/zatrzymujemy w podobny sposób:

/etc/init.d/nazwa_usługi akcja

Gdzie słowo akcja, należy zastąpić odpowiednią komendą(start, restart, stop)

Pliki konfiguracyjne poszczególnych usług z reguły znajdują się w katalogu /etc/nazwa_uslugi.

Data ostatniej modyfikacji: 11.02.2014, 08:51.

Podoba Ci się ten wpis? Powiedz o tym innym!

Send to Kindle

Komentarze

blog comments powered by Disqus