Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS...

22
Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

Transcript of Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS...

Page 1: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

Servizi di Rete e Unix

Stage estivo 2005Laboratorio Nazionale Frascati

Roberto Reale (ITIS CANNIZZARO, Colleferro)

Francesco Ronchi (ITIS E. Fermi, Roma)

Page 2: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

Una rete è un insieme di macchine collegate fra loro, in modo da formare un sistema e per permettere lo scambio di informazioni

Possiamo distinguere le reti in base alla loro:

• ESTENSIONEo LAN Local Area Network, rete localeo MAN Metropolitan Area Network, rete metropolitanao WAN Wide Area Network, rete geografica

• TOPOLOGIASTELLA ANELLO BUS

I dati per viaggiare nella rete, vengono confezionati in pacchetti, attraverso i quali si definiscono il mittente ed il destinatario dei dati trasmessi.

Il confezionamento e le dimensioni dei pacchetti dipendono dal tipo di rete utilizzata.

I pacchetti di dati vengono trasmessi e ricevuti in base a delle regole definite da un:

PROTOCOLLO DI COMUNICAZIONE

Page 3: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

Il MODELLO ISO-OSI Scompone la gestione della rete in 7 livelli:

LIVELLO DEFINIZIONE CONTESTO

7 ApplicazioneInterfaccia di comunicazione con i programmi

(Application program interface).

6 PresentazioneFormattazione e trasformazione dei dati a

vario titolo, compresa la cifratura e decifratura.

5 SessioneInstaurazione, mantenimento e conclusione

delle sessioni di comunicazione.

4 TrasportoInvio e ricezione di dati in modo da controllare

e, possibilmente, correggere gli errori.

3 ReteDefinizione dei pacchetti, dell'indirizzamento e dell'instradamento in modo astratto rispetto al

tipo fisico di comunicazione.

2 Collegamento dati (data link)

Definizione delle trame (frame) e dell'indirizzamento in funzione del tipo fisico di

comunicazione.

1 FisicoTrasmissione dei dati lungo il supporto fisico di

comunicazione.

INTERCONNESSIONE TRA RETIQuando si vogliono unire due reti per formarne una sola più grande, si devono utilizzare dei nodi speciali connessi simultaneamente a entrambe le reti da collegare. A seconda del livello su cui si interviene per fare questo collegamento si parla di:• Ripetitore (1° livello)• Bridge (2° livello)• Router (3° livello)• Gateway (4° livello)

Page 4: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

TCP/IPTCP/IPIl TCP/IP rappresenta un sistema di protocolli di comunicazione basati su IP, cioè il protocollo IP si colloca al 3° livello del modello ISO-OSI, mentre TCP si colloca al di sopra di questo e utilizza IP a livello inferiore, come si può vedere nel seguente schema che mostra l’abbinamento ISO-OSI e TCP/IP:

ARP ARP Address resolution protocolAddress resolution protocolLa chiamata ARP viene usata quando un protocollo di livello 3 (rete), vuole contattare un nodo

situato nella rete fisica locale, non conoscendo l’indirizzo Ethernet.Questa richiesta viene ascoltata da tutte le interfacce connesse a quella rete fisica in modo da

trovare quale macchina, ossia quale indirizzo Ethernet corrisponde all’indirizzo richiesto.

Page 5: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

INDIRIZZI IPINDIRIZZI IPGli indirizzi IP tradizionali (IPv4), sono composti da una sequenza di 32 bit, suddivisi in 4

gruppetti di 8 bit, rappresentati in modo decimale separati da un punto. ES: 1.2.3.4

Gli indirizzi IP vengono divisi in:

5 classi, dalla lettera A alla E

Indirizzi speciali (loopback), indirizzo che corrisponde a se stesso. Es: 127.0.0.1

Indirizzi riservati alle reti private

Protocolli TCP, UDP, ICMPProtocolli TCP, UDP, ICMPTCPTCP:Instaura un collegamento tra due utenti, rende affidabile il trasferimento dati e il flusso di dati che si trasferiscono può viaggiare in entrambe le direzioni (full-duplex).

UDPUDP:Usa l’IP per trasportare messaggi da una macchina ad un’altra, risulta più veloce dell’ TCP, ma decisamente meno affidabile!

ICMPICMP:Protocollo attraverso il quale i router e gli utenti comunicano per sondare eventuali problemi o comportamenti anomali verificatisi in rete.

Page 6: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

DNS (Domain Name System)DNS (Domain Name System)La gestione diretta degli indirizzi IP è piuttosto faticosa dal punto di vista umano.

Per questo motivo si preferisce associare un nome agli indirizzi numerici.Il sistema utilizzato è il DNS, ovvero il sistema dei nomi di dominio.

Come si può vedere nel seguente schema, nella rete internet, gli indirizzi sono organizzati ad albero in domini, sottodomini, fino ad arrivare ad identificare il nodo desiderato.

Page 7: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

FirewallFirewallUn firewall è un componente attivo che seleziona e collega due o più tronconi di rete.

Interponendolo tra una rete esterna (internet) e una interna (lan), il firewall risulta il posto migliore ove imporre delle logiche di traffico per i pacchetti in transito e/o eseguire:• controllo• modifica• monitoraggio

Tipologie di firewall

Firewall Funzione

Packet FilterSi limita a valutare gli header di ciascun

pacchetto.

StatefulRiconosce pacchetti TCP malevoli che non fanno

parte di alcuna connessione.

InspectionScambia informazioni circa le connessioni da stabilire all’interno del corpo del pacchetto.

Content Filtering Analizza il contenuto dei pacchetti in transito.

Esistono firewall Hardware e Software

Page 8: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

DHCP DHCP (Dinamic Host Configuration Protocol) (Dinamic Host Configuration Protocol)

Il DHCP è un protocollo di rete che permette ai dispositivi che ne facciano richiesta, di essere automaticamente configurati per entrare a far parte della LAN. Tramite questo protocollo, non è

necessario specificare manualmente nessun parametro di rete, in quanto il DHCP-server fornisce tutte le informazioni necessarie al client nel momento stesso in cui questo effettua il boot.

Ovviamente si tratta di una soluzione molto comoda per tutti coloro che usano computer portatili in quanto tutte le volte che si muovono da una LAN all'altra, non devono manualmente specificare nulla: basta che inseriscano la presa di rete in una porta attiva, e il DHCP-server farà il resto.

Page 9: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

WWWWWW(World Wide Web)(World Wide Web)

Il www, creato al CERN di Ginevra nel 1994, rappresenta la rete mondiale di strutturazione dell’informazione e delle risorse in modalità ipertestuale.

Utilizza il protocollo HTTP e, tramite il linguaggio HTML (Hyper Text Markup Language), permette la visualizzazione di immagini, filmati e suoni.

A fianco si puo` vedere il risultato di una pagina Html compresa da piu` immagini,

testi e filmati.

Page 10: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

Il Sistema Operativo UnixIl Sistema Operativo Unix

Page 11: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

Unix e avvio____________________________________________________________________________________________________________________________________________

Unix è un Sistema Operativo (come per es. Windows) usato principalmentein ambito scientifico, per offrire servizi a più persone. E’ piu’ stabile, robusto, flessibile e quindi piu’ affidabile.

Una volta installato il S.O. viene avviato utillizzando:

• Boot loader: programma o codice che si occupa di caricare il S.O.• Kernel: nocciolo del S.O.

Il boot loader viene salvato nel primo settore dell’hard disk al momento dell’installazione.Esso poi si prende cura di caricare il kernel in memoria centrale. Il kernel viene definito il nocciolo del S.O. poiché i programmi utilizzano il kernel per le loro attività evitando così di agire direttamente con la CPU.

Una volta caricato in m.c., il kernel monta (mount) il file system principale (root) e infine avvia la procedura di inizializzazione (init).

Tutto questo procedimento viene chiamato fase di bootstrap

Page 12: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

Il termine “root” e la multiutenza____________________________________________________________________________________________________________________________________________

Negli ambienti Unix bisogna fare attenzione al termine root. Infatti esso

assume molteplici significati:

• directory root: directory radice;• file system root: file system principale di un gruppo che poi si unisce insieme;

• utente root: amministratore;

• dominio root: dominio principale;• finestra root: finestra principale (“desktop”);

Di solito i sistemi Unix sono multiutente. Perciò gli utenti vanno distinti tra

l’amministratore del sistema (superuser) e gli altri utenti.

Inoltre i vari utenti vengono associati a uno più gruppi.

Page 13: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

File System____________________________________________________________________________________________________________________________________________

Il file system è il modo con cui sono organizzati i dati all’interno di un disco o di una partizione.

Quando un sistema Unix viene avviato, si attiva il file system principale, o root, quindi possono

essere collegati a questo altri file system a partire da una directory o sottodirectory di quella

principale.

Ciò significa che, nei sistemi Unix, per accedere a un CD appena introdotto, occorre dire al

sistema di collegare il file system del CD in modo che lo si possa usare come parte dell’unico file

system. Per rimuovere il CD bisogna prima interrompere questo collegamento.

Page 14: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

Permessi di accesso____________________________________________________________________________________________________________________________

_

Si distinguono tre tipi di accesso ai file: • r – lettura• w – scrittura• x – esecuzione

Per ogni file, ogni utente può ricadere in una di queste tre categorie: proprietario, gruppo proprietario o utente diverso. Perciò per ognuna di queste categorie ogni file avrà degli accessi diversi.Generalmente i permessi si esprimono con una stringa di 9 caratteri.I primi tre caratteri sono riservati al proprietario, i secondi tre al gruppo proprietario e gli ultimi tre agli altri utenti.

Esempio

rwxrw-r-- email.txt

Proprietario: accede in lettura, scrittura e esecuzioneGruppo proprietario: accede in lettura, scrittura ma NON in esecuzioneAltri utenti: può accedere solamente in lettura

Page 15: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

Iptables____________________________________________________________________________________________________________________________________________

Si può affermare con relativa precisione che in Linux esiste un firewall interno che si chiama Iptables.

Componenti fondamentali di Iptables sono le regole. In effetti bisogna scrivere una serie di regole per poter filtrare i pacchetti che arrivano alla macchina. Ecco un esempio:

Esempio

iptables –A INPUT –-protocol tcp --source 192.168.0.1 –-destination-port 22 –j DROP

• INPUT – controlla le connessioni verso il nostro computer• OUTPUT – controlla le connessioni in uscita dal nostro computer• FORWARD – controlla le connessioni che passano attraverso il nostro computer

DROP – taglia le connessioni definite dalla regola ACCEPT – accetta le connessioni definite dalla regola

Page 16: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

DNS,DHCP e HTTP Server____________________________________________________________________________________________________________________________________________

Una macchina Unix può essere configurata, anche contemporaneamente, come:

• DNS (Domain Name System)• DHCP Server (Dynamic Host Configuration Protocol)• HTTP Server• etc...

Questi meccanismi sono “nascosti” quando noi usiamo, ad esempio, internet.

All’apparenza la navigazione su internet sembra facile ed immediata. In realtà è molto più

complessa poichè dietro alla visualizzazione delle pagine web e alla comunicazione con i

server ci sono questi servizi elencati sopra.

Page 17: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

Configurare il DNS____________________________________________________________________________________________________________________________________________

Il DNS è il servizio che traduce un determinato nome di dominio richiesto, nell’indirizzo IP corrispondente e viceversa. Un server DNS ovviamente avrà, all’interno, salvati alcuni domini a cui corrisponderanno determinati indirizzi IP. Quando nel browser viene scritto un certo dominio (es. www.google.it ) il DNS a cui verrà indirizzata la richiesta controllerà se “conosce” quel dominio. Se lo “conosce”, “leggerà” l’IP corrispondente e indirizzerà il client verso quell’IP. Segue un esempio di configurazione DNS provata durante lo stage.

Page 18: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

Configurare il DNS______________________________________________________________________________________________________________________________

Page 19: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

Configurare il DHCP Server____________________________________________________________________________________________________________________________________________

Il DHCP, come dice il nome, è un protocollo che assegna dinamicamente gli indirizzi IP a

chi li richiede o a chi serve. Infatti in un DHCP Server si può definire un range di indirizzi

IP. Ogni qualvolta un host si connette alla rete, il DHCP Server gli assegnerà un IP

compreso in quel range dinamicamente, oppure volendo anche staticamente.

Segue un esempio di una configurazione DHCP Server provata durante lo stage.

Page 20: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

Configurare il DHCP Server____________________________________________________________________________________________________________________________________________

Page 21: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

Configurare l’HTTP Server____________________________________________________________________________________________________________________________________________

L’HTTP Server, che viene anche detto Web Server, e’ un servizio che fornisce pagine

web, documentazioni, filmati etc...

Il Web Server ha al suo interno delle directory nelle quali sono salvate le pagine HTML

(Hyper Text Markup Language) create dal programmatore che vengono poi inviate a

chiunque si colleghi ad esso.

Si possono creare piu’ Web Server su una stessa macchina ed essi prendono il nome di

Virtual Hosts. Ogni Virtual Host avra’ un proprio dominio che potra’ essere contattato da

qualsiasi client attraverso un normale browser.

Segue un esempio di configurazione di Apache (il Web Server piu’ diffuso ad oggi) per

piu’ Virtual Hosts provata durante lo stage.

Page 22: Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)

Configurare l’HTTP Server____________________________________________________________________________________________________________________________________________