Progresso lezioni

T24 finita L05 finita

Index

Laboratorio

user - resu

  • Router mai utilizzato
  • Cavo dritto tra macchina e switch
  • Cavo incrociato tra due macchine o tra due switch
  • Ora come ora le macchine si configurano automaticamente

ifconfig: leggere e scrivere configurazione di rete ifconfig eth0: mostra le info dell’interfaccia ethernet

ip addr show dev eth0

ifconfig eth0 192.168.1.1: setta l’indirizzo ip dell’interfaccia eth0 ifconfig eth0 0: deconfigura l’interfaccia

Per evitare configurazioni sbagliate, è meglio esplicitare la netmask quando si configura con ifconfig. ifconfig eth0 192.168.1.2/24

Destination host unreachable: errore standard di livello 2, quando nessuno risponde ad una richiesta broadcast ARP.

Ping

Ping invia una ARP request in broadcast per capire quale è l’indirizzo MAC connesso a 192.168.1.2, e l’host con quell’indirizzo risponde con una risposta unicast ARP reply. Poi iniziano a scambiarsi pacchetti ICMP echo request e ICMP echo reply.

arping -i eth0 192.168.1.1 arping -B cerca di risolvere l’indirizzo di broadcast (255.255.255.255)

Con arping posso capire se l’host che raggiungo con ping sia o meno nello stesso mio dominio di broadcast.

tcpdump: sniffing traffico di rete. Entra di default in modalitĂ  promiscua, quindi si vede tutto il traffico tcpdump -i eth0

arp mostra la tabella ARP

VDE - switch Per vedere la tabella ARP hash hash/print hash/showinfo

/etc/hostname contiene il nome dell’host, ma viene applicato al riavvio Oppure usare il comando hostname [nuovo nome]

Per fare ping m2, si può creare una corrispondenza statica tra il nome degli host e l’indirizzo ip. Basta modificare /etc/hosts La conversione tra nome e indirizzo viene fatta localmente dall’host. Il nome dell’host non viene mandato da nessuna parte.

/etc/nsswitch.conf configura come gestire il cambio del nome → indirizzo. Di default prima viene consultato il file e poi il dns.

/etc/network/interfaces auto eth0: serve per attivare la interfaccia a tempo di boot iface eth0 inet static iface: voglio configurare l’interfaccia eth0 inet: ipv4 static: configurazione statica

prima di eseguire ifup, meglio eseguire ifconfig eth0 0 ifup eth0: ricarica l’interfaccia di rete ifdown eth0: disabilita le configurazioni di rete impostate con ifup

Per fare il refresh di un’interfaccia da remoto, si usa ifdown eth0 && ifup eth0


L’indirizzo ip viene in qualche modo associato alla macchina, quindi multiple schede di rete in una macchina risponsono alle richieste ARP verso uno di quegli indirizzi ip ⇒ isposte doppie in arping

quando la hash table dello switch è vuota, e si invia una arping request ad un indirizzo che l’host di partenza ha già nella tabella arp, lo switch invia il pacchetto iniziale echo request a tutte le porte, perché non sa a che porta passarlo, dal momento che la sua tabella è vuota.

Con hub le altre macchine riescono a vedere tutto il traffico che passa, perchè hub non ha idea della relazione porte/ip

Bridge

unisce due domini di broadcast

Usato per collegare macchine virtuali ad una rete fisica

Per creare un bridge, si usa un host. brctl: bridge control

brctl addbr nome brctl delbr nome - per eliminare un bridge le interfacce di rete devono essere spente brctl addif nome eth1: aggiunge interfaccia al bridge brctl delif nome eth1 brctl show nome

ifconfig br0 up per abilitare il bridge

Il bridge si comporta come uno switch!

auto br0

iface br0 inet static
	bridge_ports <port1> <port2> ...
	address (0.0.0.0 o indirizzo ip per l'interfaccia br0)

/etc/init.d/networking restart

CIDR Classless Inter-Domain Routing

Classe C: i primi 3 byte identificano la rete, l’ultimo l’host

Netmask 255.255.255.0 - oppure in maniera compressa 192.168.1.0**/24**

Per evitare configurazioni sbagliate, è meglio esplicitare la netmask quando si configura con ifconfig.

ifconfig eth0 192.168.1.2/24

Tabella di routing

route: mostra la tabella di routing

ping sa che un indirizzo è nella rete locale, e quindi invia una richiesta arp, perché prima legge la tabella di routing. Leggo che nella tabella c’è la rete che voglio contattare, capisco che posso contattarla a livello 2 (perchè gateway è 0.0.0.0) tramite l’interfaccia eth0, e allora mando la richiesta arp

se provo a contattare 2.3.4.5, l’host non prova nemmeno a contattare la destinazione, perchè è completamente sconosciuto nella tabella di routing.

Network unreachable: errore di livello 3 Host unreachable: errore di livello host-to-network


Video L06

La differenza tra un host e un host dedicato a router è che un router, se arrivano dei pacchetti non dedicati a lui, non li scarta MA LI INOLTRA. La prima cosa da fare è ABILITARE ip forwarding

sysctl net.ipv4.ip_forward. Se è 0 è disattivato, mentre se è 1 è attivo

sysctl -w net.ipv4.ip_forward=1 setta a 1 il valore di ip_forward

Per renderla permanente, si modifica il file /etc/sysctl.conf Per attivare le modifiche: sysctl -p /etc/sysctl.conf

Dato che ogni host deve conoscere il first hop router, bisogna istruire i vari host. Per farlo basta aggiungere una regola di routing tramite il comando route.

route add -host 192.168.2.1 gw 192.168.1.254

Se in route add si ottiene network is unreachable, è perché il gateway non è conosciuto nella tabella di routing. A questo punto, si riesce a parlare con 192.168.2.1, ma non si ricevono risposte perché l’altro host non ha la regola di route per parlare con 192.168.1.1. ==Quindi bisogna usare route add su tutti gli host!==

La prima richiesta di h1, è una richiesta ARP per capire come parlare con il gateway. Una volta che si ha l’indirizzo MAC del gateway, si ha una comunicazione a livello 3 con h3. Sarà una comunicazione a livello 2 con il gateway.

Per rendere la configurazione di routing permanente, si fa:

  • pulire eventuali regole aggiunte in modalitĂ  temporanea
  • disattivare l’interfaccia, così da non avere conflitti
  • post-up route add -host... dopo address in /etc/network/interfaces. Esistono anche post-down, pre-up e pre-down Non serve impostare pre-down per eliminare la regola di routing, perchĂ© in automatico quando l’interfaccia va down elimina tutte le regole che comprendono quella rete, anche come gateway.

23 items under this folder.