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