Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałBratomił Skurzyński Został zmieniony 10 lat temu
1
Administracja systemami operacyjnymi wiosna 2014
Wykład 2 Sieć i usługi sieciowe w Linux/UNIX dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki
2
Informacje wstępne By system Unix mógł korzystać z inter-sieci, jego interfejsy sieciowe muszą być obsługiwane przez jądro oraz poprawnie skonfigurowane Komputer z może posiadać wiele interfejsów, każdy z innym adresem IP. Interfejsy mogą być różnego typu, włączając: Loopback: lo Ethernet: eth0, eth1, ... Wi-Fi: wifi0, wifi1, ... Token Ring: tr0, tr1, ... PPP: ppp0, ppp1, ... Każdy interfejs sieciowy podłączony bezpośrednio do internetu (albo sieci bazującej na IP) jest identyfikowany za pomocą unikalnego 32 bitowego adresu IP.
3
Adresy sieci internetowych
Dawniej, sieci IP były pogrupowane w klasy, których część sieciowa adresu była długa na 8, 16 lub 24 bity. Adresy IP maska podsieci długość Klasa A = /8 Klasa B = /16 Klasa C = /24 W każdej klasie istnieją zakresy adresów zarezerwowanych do użycia w sieciach lokalnych (LAN). Istnieje gwarancja, że te adresy nie będą w konflikcie z innymi adresami w internecie. adres sieci długość ilość Klasa A x.x.x / Klasa B x.x x.x / Klasa C x x / Pierwszy adres w każdej sieci jest równocześnie adresem tej sieci. Ostatni adres jest adresem rozgłoszeniowym (broadcast). Wszystkie inne adresy mogą być przydzielane komputerom w sieci. Najczęściej pierwszy lub ostatni adres jest przydzielany routerowi.
4
Tablica routingu Tablica routingu zawiera informacje jądra na temat tego jak przesyłać pakiety na ich miejsce przeznaczenia. Poniżej - przykładowa tablica routingu z komputera znajdującego się w sieci lokalnej o adresie x/24. Adres (również w tej sieci) jest interfejsem routera dla sieci korporacyjnej x.x/16, Adres (również w tej sieci) jest interfejsem routera dla internetu. #route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface * U lo * U eth0 UG eth0 default UG eth0 Ruch do sieci 127.x.x.x będzie przesyłany poprzez lo, interfejs zwrotny. Ruch do komputerów z sieci lokalnej będzie przesyłany przez eth0. Ruch do sieci korporacyjnej będzie przesyłany przez bramkę również przez et Ruch do internetu będzie kierowany przez bramkę również przez eth0.
5
Konfiguracja interfejsu
Narzędzia z pakietu net-tools ifconfig route Pakiet iproute ip Wyświetlenie aktualnego stanu routingu. # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface * U eth0 default UG eth0
6
Konfiguracja interfejsu
Wyświetlenie stanu interfejsów sieciowych # ifconfig eth0 Link encap:Ethernet HWaddr 08:00:46:7A:02:B0 inet addr: Bcast: Mask: UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:23363 errors:0 dropped:0 overruns:0 frame:0 TX packets:21798 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes: (12.8 MiB) TX bytes: (19.3 MiB) Interrupt:9 lo Link encap:Local Loopback inet addr: Mask: UP LOOPBACK RUNNING MTU: Metric:1 RX packets: errors:0 dropped:0 overruns:0 frame:0 TX packets: errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes: (21.6 MiB) TX bytes: (21.6 MiB) ZADANIE: zmienić adres IP interfejsu eth0 z na oraz ustawić eth0 by przesyłane były przez niego dane do sieci poprzez
7
Konfiguracja interfejsu
ZADANIE: zmienić adres IP interfejsu eth0 z na oraz ustawić eth0 by przesyłane były przez niego dane do sieci poprzez Krok 1 – wyłączenie interfejsu #ifconfig eth0 inet down #ifconfig Brak informacji o eth0 #route Brak wpisów w tablicy routingu Krok 2 – ustawienie nowego adresu IP #ifconfig eth0 inet up netmask broadcast Krok 3 – Wpis do tablicy routingu # route add -net netmask gw dev eth0
8
Konfiguracja interfejsu
Program ip wyświetla składnię swoich poleceń gdy jest uruchamiany z argumentem help. #ip link help Usage: ip link set DEVICE { up | down | arp { on | off } | dynamic { on | off } | multicast { on | off } | txqueuelen PACKETS | name NEWNAME | address LLADDR | broadcast LLADDR | mtu MTU } ip link show [ DEVICE ] Przykłady użycia ip: #ip link show #ip route list #ip link set eth0 down #ip addr del dev eth0 local #ip addr add dev eth0 local /16 broadcast #ip link set eth0 up #ip route add dev eth0 to /8 src via
9
Konfiguracja interfejsu
Zmiany w konfiguracji sieci znikają po restarcie komputera. Zmiany należy zapisywać w pliku /etc/network/interfaces Przykładowa zawartość auto lo iface lo inet loopback auto eth0 iface eth0 inet static address netmask network broadcast gateway iface lo inet loopback - podnosi urządzenie loopbacka auto eth0 - automatycznie podnosi kartę eth0 przy starcie systemu iface eth0 inet static - określa początek konfiguracji sesji dla danej karty sieciowej - static - sami podajemy ustawienia sieci - dhcp - serwer dhcp przydziela nam adres Resetowanie ustawień sieci # /etc/init.d/networking restart
10
Konfiguracja interfejsu
Przykładowa zawartość pliku /etc/network/interfaces do pracy z serwerem DHCP auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp Polecenie odświeżające adres IP z serwera DHCP # dhclient eth0 Możliwość uruchomienia dodatkowego skryptu podczas uruchamiania lub wyłączania interfejsu auto eth0 iface eth0 inet dhcp up /sciezka/do/skryptu_on down /scieska/do/skryptu_off
11
Konfiguracja interfejsu
Tworzenie aliasu (dwa różne adresy IP na jednej karcie sieciowej) Załóżmy, że komputer jest w sieci x/24. Teraz chcemy podłączyć go do Internetu używając tej samej karty i adresu publicznego dostarczanego przez DHCP iface eth0 inet static address netmask network broadcast iface eth0:0 inet dhcp Interfejs eth0:0 jest interfejsem wirtualnym. Jego rodzicem jest eth0.
12
Konfiguracja interfejsu
Konfiguracja interfejsu bezprzewodowego Wi-Fi iface eth0 inet dhcp wireless-essid myessid wireless-key e Konfiguracja interfejsu PPPoE (modem szerokopasmowy) Wymaga zainstalowania usługi pppoeconf apt-get install pppoeconf Edycja pliku /etc/network/interfaces iface eth0 inet ppp provider mojisp
13
Nazwa hosta Linux często potrzebuje identyfikacji poprzez nazwę.
Do tych celów hostname jest zarządzany przez jądro. Skrypt startowy /etc/init.d/hostname.sh ustawia nazwę komputera podczas uruchamiania systemu (używając polecenia hostname) i przetrzymuje ją w /etc/hostname. Ten plik powinien zawierać tylko nazwę komputera, a nie jego pełną nazwę domenową. # hostname debian Nazwa pocztowa (mailname) – używana przez programy związane z pocztą elektroniczną Plik /etc/mailname zawiera tę nazwę zakończoną nową linią. Nazwa pocztowa jest zazwyczaj jedną z pełnych domenowych nazw komputera (fully qualified domain name). # cat /etc/mailname debian.lodz.mm.pl
14
Usługa rozpoznawania nazw DNS
DNS jest systemem typu klient-serwer, który zamienia nazwy na podstawie danych z serwerów nazw tak by nazwa była powiązana z adresem IP i innymi właściwościami komputera. Wyświetlenie pierwszej pełnej nazwy domenowej znalezionej dla lokalnego komputera przez program rozwiązujący nazwy: $ hostname --fqdn debian.lodz.mm.pl Resolver zajmuje się odszukiwaniem informacji o tym jaki adres IP jest powiązany z konkretną nazwą domeny To w jaki sposób resolver rozwiązuje nazwy jest zdefiniowane w linii hosts pliku konfiguracyjnego /etc/nsswitch.conf. Ta linia zawiera usługi, które powinny być użyte do rozwiązania nazwy: np. dns, files, nis, nisplus. Dopóki używana jest usługa files, zachowanie resolvera definiuje również plik konfiguracyjny /etc/hosts. # cat /etc/nsswitch.conf . . . hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
15
Usługa rozpoznawania nazw DNS
zachowanie resolvera definiuje również plik konfiguracyjny /etc/resolv.conf # cat /etc/resolv.conf nameserver: nameserver: Plik może zawierać m. in. listę adresów IP serwerów nazw z którymi będzie nawiązywany kontakt w celu rozwiązania nazwy. Lista ta może być modyfikowana w czasie działania systemu automatycznie przez dhclient. Włączenie buforowania rozwiązanych nazw # dnsmasq
16
Usługi sieciowe w Linuksie
Serwery sieciowe najczęściej instalowane są jako usługi systemu operacyjnego (demony). Lista skryptów uruchamiających usługi znajduje się w katalogu /etc/init.d/ Polecenie startujace usługę # /etc/init.d/nazwa_usługi start Skrypty startowe usług często pozwalają także na sprawdzenie statusu usługi # /etc/init.d/nazwa_usługi status Zatrzymanie usługi # /etc/init.d/nazwa_usługi stop Ponowne uruchomienie usługi # /etc/init.d/nazwa_usługi restart
17
Usługi sieciowe w Linuksie – WWW
Najpopularniejszym serwerem WWW jest Apache, dostępny dla wielu platform i rozprowadzany w pakietach httpd. Serwer Apache bardzo często jest wykorzystywany do wyświetlania stron WWW napisanych w języku PHP, także z wykorzystaniem serwera baz danych MySQL. Instalacja: #apt-get install apache2 php5 php-pear mysql-server-5.0 php5-mysql Uruchomienie serwera WWW: #/etc/init.d/apache2 restart Uruchomienie serwera MySQL: #/etc/init.d/mysql restart
18
WWW – parametry Parametry konfiguracyjne serwera Apache znajdują się pliku tekstowym /etc/httpd/conf/httpd.conf Parametry konfiguracyjne PHP znajdują się w pliku /etc/php5/apache2/php.ini Strony internetowe znajdują się w katalogu /var/www
19
FTP Konta użytkowników FTP
FTP – protokół służący do transmisji tekstu i plików binarnych w Internecie. Działa na bazie protokołu TCP/IP, wykorzystując do transmisji danych port 20, natomiast do kontroli transmisji port 21. Protokół ten działa na podstawie architektury klient-serwer. Użytkownik łączy się z serwerem FTP za pomocą klienta FTP. Dostępny jest wbudowany klient FTP pracujący w trybie tekstowym, operacje wykonuje się, wpisując odpowiednie polecenia. Klienta FTP zawierają także przeglądarki internetowe oraz menedżery plików, np. Midnight Commander. Konta użytkowników FTP Dostęp do zasobów serwera można otrzymać, jeżeli użytkownik posiada na tym serwerze konto lokalne. Większość serwerów FTP oferuje również dostęp publiczny – tzw. anonimowy Po zalogowaniu się na konto anonimowe użytkownik jest przenoszony do katalogu głównego usługi FTP. (/var/ftp) Po zalogowaniu się na konto lokalne na serwerze użytkownik jest przenoszony do katalogu domowego (/home/użytkownik)
20
Polecenia klienta FTP Komendy, których można użyć po uruchomieniu klienta FTP open adres_serwera - połączenie z serwerem lcd katalog - ustawienie lokalnego katalogu roboczego pwd - wyświetlenie bieżącego katalogu na serwerze ls - wyświetlenie listy plików get nazwa_pliku - pobranie pliku z serwera mget plik1 plik2 … - pobranie kilku plików z serwera put nazwa_pliku - wysłanie pliku na serwer mput plik1 plik2 … - wysłanie kilku plików na serwer delete nazwa_pliku - usunięcie pliku z serwera mdelete plik1 plik2 … - usunięcie kilku plików z serwera disconnect - rozłączenie się z serwerem quit - wyjście z programu
21
Serwer proFTPd Instalacja pakietów Uruchamianie / wyłączanie serwera
apt-get install proftpd Uruchamianie / wyłączanie serwera # /etc/init.d/proftpd start # /etc/init.d/proftpd stop # /etc/init.d/proftpd reload Plik konfiguracyjny serwera /etc/proftpd/proftpd.conf
22
Usługa telnet Telnet pozwala uzyskać dostęp do konsoli tekstowej (shella) zdalnego serwera i wykonywać na nim polecenia wszystkie polecenia. Dane w sesjach telnetu są przesyłane bez szyfrowania, co naraża użytkownika na przechwycenie i podsłuchanie transmisji. Dlatego nie należy przesyłać telnetem haseł i innych poufnych danych. Ze względu na bezpieczeństwo za pomocą telnetu nie można zalogować się na konto użytkownika root. Telnet jest usługą działającą w architekturze klient-serwer. Klient jest dołączony do każdego systemu operacyjnego. Oprogramowanie serwera nie jest instalowane w domyślnej konfiguracji i nie będziemy go instalować. # apt-get install telnetd # /etc/init.d/inetd restart
23
Usługa SSH Aby wykorzystać możliwość zdalnego logowania, zachowując przy tym bezpieczeństwo haseł, został stworzony protokół ssh (Secure Shell). Protokół ssh umożliwia połączenie się użytkownika ze zdalnym systemem, tak jak w przypadku telnetu, ale sesja jest szyfrowana.
24
Usługa SSH Protokół ssh opiera się na kryptografii klucza publicznego.
Do korzystania z ssh potrzebne są dwa klucze: publiczny oraz prywatny. Klucz publiczny jest powszechnie dostępny, klucz prywatny musi być dobrze chroniony. Każda kombinacja klucz prywatny/klucz publiczny jest niepowtarzalna. Klucz prywatny nie jest przesyłany przez sieć. Gdy dane są zaszyfrowane za pomocą klucza publicznego, odszyfrować je można tylko za pomocą klucza prywatnego tego użytkownika (ssh regularnie zmienia swój prywatny klucz, tak aby dane były inaczej szyfrowane co kilka minut). Protokół ssh pracuje w architekturze klient-serwer. W celu nawiązania połączenia z serwerem za pomocą ssh należy wpisać polecenie ssh Przykładowo polecenie ssh spowoduje nawiązanie połączenia za pomocą protokołu ssh z komputerem o adresie i zalogowanie użytkownika root (po poprawnym wpisaniu hasła). Podczas pierwszego nawiązania połączenia między komputerami jest generowana para kluczy zgodnie z algorytmem szyfrowania RSA.
25
Konfiguracja SSH w Linuksie
Instalacja # apt-get install ssh Zmiana konfiguracji /etc/ssh/sshd_config Aby zabezpieczyć dodatkowo nasz komputer polecam zmianę parametru „Port” na inną najlepiej z zakresu od 2000 W celu edycji banera powitalnego (treść wyświetlana przy zalogowaniu) edytujemy plik: /etc/issue.net Aby przeładować usługę ssh, po zmianie ustawień możemy posłużyć się poleceniem # /etc/init.d/ssh restart
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.