Str. 1 Ćwiczenie 3 Sieć TCP/IP konfiguracja karty sieciowej Cel ćwiczenia: Zapoznanie się z metodą instalacji karty sieciowej w systemie Linux, podstawową konfiguracją sieci TCP/IP w systemie Linux. Przed przystąpieniem do ćwiczenia uczeń powinien: - umieć poruszać się w środowisku tekstowym systemu Linux, - umieć zarządzać plikami i folderami, - edytować piki. Po wykonaniu ćwiczenia uczeń będzie umiał: - zainstalować kartę sieciową w systemie Linux, - ręcznie skonfigurować parametry TCP/IP interfejsu sieciowego, - ustawić interfejs sieciowy, do korzystania z serwera DHCP. Uwagi o realizacji ćwiczenia: Ćwiczenie podzielone jest na rozdziały. Rozdział zbudowany jest z opisu teoretycznego omawiającego wybrane zagadnienie i zadania do wykonania. Zadania umieszczone są w ramkach.
Str. 2 3.1 Konfiguracja sieci Treść rozdziału 3.1 pochodzi z opracowania PLD Linux Distribution Podręcznik użytkownika, administratora i twórcy (Rozdział Konfiguracja systemu Konfiguracja sieci oraz Udev - dynamiczna obsługa sprzętu), rozpowszechnianego na zasadzie licencji GNU Free Documentation License. 3.1.a Sprawdzamy jaką mamy kartę sieciową Na szczęście większość dostępnych na rynku kart sieciowych jest oparta na układach firm Realtek, 3Com bądź Intel. Wszystkie kernele z serii 2.2.x, 2.4.x i 2.6.x, dostępne w postaci gotowych pakietów rpm, posiadają skompilowane moduły do tych kart sieciowych. Przejdźmy do sedna sprawy. Jak teraz sprawdzić, jaką mam kartę sieciową? Możesz skorzystać z pakietu pciutils. Wystarczy wpisać polecenie lspci. Wśród różnych urządzeń znajdziemy również naszą sieciówkę. lspci grep Ethernet 00:0e.0 Ethernet controller: Realtek Semiconductor RTL-139/8139C/8139C+ Wśród wielu informacji zwróć uwagę na fragment "RTL-8139/8139C/8139C+". Jest to wskazówka przydatna przy szukaniu odpowiedniego modułu. Opcjonalnie, jeżeli nie chcemy instalować pakietu pciutils, a potrzebujemy zidentyfikować naszą kartę sieciową wydajmy takie oto polecenie: dmesg grep -i eth eth0: Identified 8139 chip type 'RTL-8139C' 3.1.b Udev - dynamiczna obsługa sprzętu Statyczne zarządzanie modułami kernela i urządzeniami w /dev było skomplikowane, uciążliwe i wymagało praw administratora, stąd narodziła się idea systemu, który zautomatyzuje te czynności. Tak oto powstał udev, współczesne wersje udeva (następcy DevFS) mają wbudowaną obsługę hotpluga i coldpluga. Dzięki temu mogą automatycznie ładować potrzebne moduły, ma to sens wyłącznie w przypadku modularnego kernela, jaki jest dostępny w CentOS. Poza nielicznymi wypadkami nie będzie już konieczne dopisywanie nazw modułów do pliku /etc/modules, ani ich ręczne ładowanie za pomocą programu modprobe. Poniższe wywołanie programu dmesg pokazuje jakie karty zostały wykryte i jakie mają nazwy w systemie. dmesg grep -i eth 3.1.c Konfiguracja karty sieciowej ifcfg-eth0. Pierwsza karta sieciowa będzie widoczna w systemie jako eth0. Wyedytuj więc plik vim /etc/sysconfig/network-scripts/ifcfg-eth0
Str. 3 Aby karta działała poprawnie powinieneś mieć tam podobne ustawienia: DEVICE=eth0 Opcja ta określa symbol urządzenia widocznego w systemie. IPADDR=12.34.56.78 NETMASK=255.255.255.0 Ta opcja określa adres karty sieciowej oraz maskę podsieci. ONBOOT="yes" Ustaw na "yes" jeśli chcesz, aby interfejs podnosił się razem z systemem. BOOTPROTO="none" Ta opcja pozwala dokonać wyboru, w jaki sposób karta sieciowa ma otrzymywać adres. Powyższy wpis sprawia, że system pobiera wszystkie ustawienia z posiadanych plików konfiguracyjnych. Wykorzystuje się jeszcze BOOTPROTO="dhcp", które wymusza pobranie przez kartę ustawień z serwera DHCP. Aby zadziałało to ustawienie, potrzebny nam będzie pakiet dhcp-client lub dhcpcd. 3.1.d Konfiguracja sieci Musimy teraz otworzyć naszej karcie sieciowej "okno na świat" i pokazać pewne ważne dla niej adresy, pod które musi trafić. W tym celu udajmy się do pliku network. vim /etc/sysconfig/network Przechodzimy do konfiguracji. NETWORKING=yes Ustawiamy na "yes" jeżeli chcemy komunikować się z siecią. HOSTNAME="k211-xx" Tutaj ustawiamy nazwę naszego komputera. Spore pole do popisu dla Twojej inwencji twórczej. GATEWAY="12.34.56.12" GATEWAYDEV="eth0" Dwie ważne opcje. Pierwsza określa adres IP naszej bramki umożliwiającej nam komunikację ze światem. Druga zaś urządzenie, które będzie się z nią komunikować. Zakładam, że to stacja robocza, więc nie potrzebujemy forwardingu. Gdy nasz komputer ma pełnić rolę routera wówczas w /etc/sysctl.conf ustawiamy net.ipv4.ip_forward = 1 Pozostaje nam jeszcze tylko jeden plik: /etc/resolv.conf. Wyedytujmy go sobie. vim /etc/resolv.conf Co w nim powinno się znajdować? Tak naprawdę wystarczy jeden wpis. Jeżeli posiadasz w swojej sieci serwer DNS, wystarczy, że wpiszesz coś takiego: nameserver 212.160.198.2
Str. 4 Powyższy adres jest adresem mojego serwera DNS. Jeżeli nie posiadasz takiego serwera, zrób następujący wpis: nameserver 80.50.50.50 nameserver 80.50.50.100 Te adresy są adresami serwerów DNS TPSA. Generalnie wystarczy tylko adres primary DNS, ale drugi też nie zaszkodzi. Jeżeli jesteśmy podłączeni do innego operatora to wtedy od niego musimy otrzymać odpowiednie adresy serwerów DNS. Warto również w tym pliku umieścić wpis: domain ckp.pl Zamiast ckp.pl należy wpisać nazwę Twojej domeny, jeżeli takową posiadasz lub localdomain. Warto również wyedytować plik hosts: vim /etc/hosts Zrób w nim wpis w formie: IP host.domena host np.: 12.34.56.78 localhost.localdomain localhost Oczywiście, jeżeli posiadasz swoją domenę, zamiast localdomain wpisz jej nazwę, również jeśli ustawiłeś własny HOSTNAME wpisz go zamiast localhost. Oto przykład takiego wpisu: 12.34.45.78 k211-xx.ckp.pl k2111-xx Wydawać się może, że to mało istotny szczegół, a jednak, jak się okazuje, nie do końca. Niektóre demony wymagają takich wpisów do poprawnego funkcjonowania. Jako przykład warto wymienić tu dhcpd. Plik ten służy również do szybszej identyfikacji komputerów w sieci, bez konieczności odwoływania się do serwera DNS. 3.1.e Happy End (?);-) Wygląda na to, że przebrnęliśmy przez cały ten proces. Pozostało nam tylko jedno - uruchomienie naszej sieciówki. Wykonajmy takie polecenie: /etc/rc.d/init.d/network restart Ustawianie parametrów sieci [ ZROBIONE ] Podnoszenie interfejsu eth0 [ ZROBIONE ] Hm., wygląda na to, że nam się udało :-) 3.1.f ifconfig Polecenie ifconfig używane jest do konfigurowania interfejsów sieciowych. Za jego pomocą można także wyświetlić konfigurację wszystkich lub wybranego interfejsu sieciowego. ifconfig eth0 eth0 Link encap:ethernet HWaddr 00:30:6E:06:89:6F inet addr:10.0.10.2 Bcast:10.0.10.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:14253603 errors:0 dropped:0 overruns:0 frame:0 TX packets:87219069 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:2884214903 (2750.6 Mb) TX bytes:3318208707 (3164.4 Mb) Interrupt:9 Base address:0x8000
Str. 5 Zadanie 3.1 Instalacja karty sieciowej i konfiguracja sieci 1. W maszynie wirtualne ustaw 3 karty sieciowe: Karta 1: Mostkowana karta sieciowa Karta 2: Mostkowana karta sieciowa Karta 3: NAT 2. Dla eth0 przypisz adres 10.0.10.xx maska 255.255.255.0, gdzie xx to numer twojego komputera. 3. Wykonaj restart sieci (/etc/rc.d/init.d/network restart). 4. Sprawdź za pomocą pinga czy możesz połączyć się z adresem 10.0.10.254. 5. Dla eth1 przypisz adres 192.168.0.xx maska 255.255.255.0, gdzie xx to numer twojego komputera. 6. Wykonaj restart sieci. 7. Sprawdź (za pomocą polecenia ping) czy możesz połączyć się z innym komputerem pracującym w podsieci 192.168.0.0. 8. Ustaw nazwę komputera na k211-xx, gdzie xx to numer twojego komputera. 9. Ustaw domenę na ckp.pl. 10. Do /etc/hosts wpisz swoją nową nazwę (samą nazwę hosta oraz nazwę hosta z domeną). 11. Bramę ustaw na 10.0.10.254. 12. DNSa ustaw na 10.0.10.254. 13. Wykonaj restart serwera. 14. Sprawdź za pomocą pinga czy możesz wyjść poza bramę twojej sieci np. ping wp.pl. 15. Karcie eth1 przypisz drugi adres 172.16.0.xx maska 255.255.255.0, gdzie xx to numer twojego komputera. 16. Wykonaj restart sieci. 17. Sprawdź czy możesz połączyć się z innymi komputerem, twojej nowej podsieci. 18. Ustaw tak, aby interfejs eth2 był konfigurowany przez DHCP. 19. Wyłącz interfejs eth0 (ONBOOT="no"). 20. Wykonaj restart sieci. 21. Sprawdź jaki adres otrzymał interfejs eth2. 22. Sprawdź za pomocą pinga czy możesz wyjść poza bramę twojej sieci np. ping wp.pl. 23. Zezwól na przekazywanie pakietów.
Opracowanie: mgr inż. Tomasz Chudzikiewicz Str. 6 09.10.2012 Wrocław