Configurazione IP di un host Unix - interfacce Configurazione IP di
Transcript
Configurazione IP di un host Unix - interfacce Configurazione IP di
Configurazione IP di un host Unix - interfacce Sono specificate da sigle come eth0, eth1, tr0, sl0, … Si configurano con il comando ifconfig: ifconfig <if> [addr] [netmask <mask>] [broadcast <braddr>] [up|down] Esempi ifconfig eth1 3.3.3.129 netmask 255.255.255.192 broadcast 3.3.3.191 Per sapere come è configurata un’interfaccia: ifconfig eth0 Per disattivare un’interfaccia: ifconfig eth0 down Configurazione IP di un host Unix - routing Le tabelle di routing devono descrivere le reti locali a cui l’host è connesso e specificare i gateway per le destinazioni esterne a tali reti. Il comando usato per manipolare le tabelle è route: route [add|del] -net <net> [netmask Nm] [gw Gw] Esempi – reti locali: il kernel riconosce che l’host ha delle interfacce che vi possono accedere direttamente route add –net 3.3.3.128 netmask 255.255.255.192 (rete accessibile da eth1 dell’esempio precedente) – reti remote, cioè non connesse ad interfacce locali route add –net 10.0.0.0 netmask 255.0.0.0 gw 3.3.3.170 (li gateway deve essere accessibile su una retel locale) – default route add default gw 3.3.3.166 (default è semplicemente un alias per “-net 0.0.0.0 netmask 0.0.0.0”) Per leggere la routing table: route Per eliminare una route è sufficiente sostituire “add” con “del”. Verifica di base della connettività IP Il controllo dei percorsi dei pacchetti IP è svolto per mezzo del protocollo ICMP (Internet Control Message Protocol). A livello utente sono molto utilizzati i comandi ping e traceroute che fanno uso di ICMP per diagnosticare il funzionamento della rete: • ping - È utilizzato per verificare la raggiungibilità di un host. Invia un messaggio ECHO_REQUEST all’host, che risponde con un messaggio ECHO_RESPONSE. - Può essere utilizzato specificando come destinazione un indirizzo locale per verificare il corretto funzionamento dello stack TCP/IP - Può essere utilizzato per stimare grossolanamente il throughput di una connessione: l’opzione “-s” permette infatti di specificare la dimensione del payload • Traceroute - È utilizzato per visualizzare il percorso dei pacchetti. - Invia una serie di pacchetti UDP con TTL (time to live) crescenti verso la destinazione. Si ricordi che il TTL viene decrementato di un’unità ad ogni attraversamento di router, e che quando un router pone TTL=0 scarta il pacchetto inviando al mittente un messaggio ICMP “TTL exceeded” - Ogni pacchetto può, secondo lo standard IP, fare strade diverse! - Alternative: o Opzione per inviare pacchetti ICMP anziché UDP (firewall) o Opzione “record route” di ping (limite di dimensione) Traceroute proxy.ing.unibo.it 137.204.61.135 TTL =1 TTL =2 TTL =3 TTL =4 [proxy@proxy proxy]$ /usr/sbin/traceroute www.unibo.it 137.204.56.0/21Æ almr06_ing.ing.unibo.it 137.204.58.254 192.12.77.? Å192.12.77.0/24 192.12.77.3 137.204.1.? 137.204.1.0/24Æ almr22.unibo.it 137.204.1.10 137.204.24.? Å137.204.24.0/2 www.unibo.it 137.204.24.226 traceroute to (137.204.24.226), 30 packets 1 2 3 4 cesias.alma.unibo.it hops max, 40 byte almr06_ing (137.204.58.254) 1.578 ms 192.12.77.3 (192.12.77.3) 4.246 ms almr22.unibo.it (137.204.1.10) 3.504 ms cesias.alma.unibo.it (137.204.24.226) 3.108 ms [proxy@proxy proxy]$ Servizi essenziali: risoluzione dei nomi Il componente di sistema che permette di ricavare l’indirizzo IP associato ad un nome di host e viceversa fa parte della librerie essenziali e si chiama resolver - Come per tutti i servizi di mappatura di nomi simbolici, il primo livello di configurazione è affidato al file /etc/nsswitch.conf Esempio di entry: hosts: files dns - “files” nel caso del dns significa /etc/hosts - “dns” significa utilizzare l’architettura DNS, il cui client è configurato in /etc/resolv.conf Esempio: search ing.unibo.it nameserver 137.204.58.4 nameserver 137.204.59.1 unibo.it - Per interrogare il risolutore dei nomi DNS si possono utilizzare i client host <nome> (restituisce l’IP corrispondente) dig [categoria] <dominio> (categoria ad esempio può essere MX, NS, …) Servizi essenziali: sincronizzazione L’accurata regolazione dell’orologio di sistema è importantissima - per il buon funzionamento di protocolli di autenticazione - per il monitoraggio locale delle attività, registrate nei file di log - per il confronto di serie temporali di eventi tra host diversi Può essere svolta essenzialmente in due modi - avviando il demone ntpd al boot e mantenendolo sempre attivo - lanciando periodicamente il comando ntpdate meno preciso ma più pratico in caso di connettività non costante Entrambi implementano il Network Time Protocol (NTP) versione 4. I file di configurazione del demone sono: /etc/ntp.conf /var/lib/ntp/drift /etc/ntp/keys Esempio delle direttive essenziali di ntp.conf: restrict default nomodify notrap noquery restrict 127.0.0.1 restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap server 0.pool.ntp.org peer other.host.localdomain server 127.127.1.0 # local clock fudge 127.127.1.0 stratum 10