Lo scopo di questa esperienza è di familiarizzare con il routing e l’importanza della netmask nella definizione di quali pc la rete sa di potere raggiungere. In particolare il comando fondamentale è:
- route
- ifconfig
- ipl: un comando di Argo che da una visione molto sintetica del routing
- i comandi ifup & ifdown
- il comando ipcalc (sulla vostra macchina: apt-get install ipcalc)
- tcpdump per vedere su quali interfacce passano le richieste icmp (ping)
Questa esperienza usa
- un firewall che usa una connessione tap che via l’host principale (la vostra macchina) vi permette la connessione ad internet.
- un server che deve essere connesso ad internet tramite il firewall ma che nelle condizioni iniziali non riesce neppure a contattare il firewall. In realtà non usiamo la macchina pdc che occuperebbe inutilmente memoria ed attiverebbe servizi inutili. Utilizzaremo ancora una immagine debian etch.
Il file principale su cui dovete concentrarvi è /etc/network/interfaces che contiene la configurazione delle interfacce di rete. Vedi la pagina sul sito reteisi. Questa volta però dovere porre attenzione a:
- il fatto che le interfacce vengano fatte partire in automatico al boot (vedi parametro auto in)
- la netmask ed il network. Firewall e server hanno la medesima netmask, ma non il medesimo network.
per potere poi raggiungere via ssh questa macchina, impostate una password con passwd
verificate che il firewall va in internet
verificate che l’interfaccia eth1 del firewall è down (usare ifconfig o ipl che mostra le interfacce down con le quadre ed il colore blu)
attivate l’interfaccia eth1: ifup eth1 del fw. Notate che ipl mostra /25 come maschera, cercate di capire nel file :file:interfaces dove questo viene definito.
verificate che il pdc non riesce a pingare il firewall:
pdc:~# ipl lo: 127.0.0.1/8 [eth0]: pdc:~# ping 192.168.10.254 connect: Network is unreachableunreachable è riferito alla rete, non all’host!!!
verificate che effettivamente l’interfaccia sia configurata:
pdc:~# ipl lo: 127.0.0.1/8 eth0: 192.168.10.1/25 pdc:~# ping 192.168.10.254 connect: Network is unreachable la rete del firewall è ancora irraggiungibilese dal firewall cercate di raggiungere il pdc ottenete una cosa lievemente differente:
fw:~# ipl lo: 127.0.0.1/8 eth1: 192.168.10.254/25 eth0: 172.16.0.2/16 ==> GW 172.16.0.1 - main fw:~# ping 192.168.10.1 PING 192.168.10.1 (192.168.10.1) 56(84) bytes of data.il firewall non raggiunge il pdc ma non dice che la rete è irraggiungibile
Entrate dalla vostra macchina con ssh 172.16.0.2 (il firewalling è impostato in modo da permetterlo) e vi accorgerete che le richieste per il pdc finiscono nell’interfaccia errata:
fw:~# tcpdump -ni eth0 icmp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 12:04:02.525286 IP 172.16.0.2 > 192.168.10.1: ICMP echo request, id 64524, seq 18, length 64 12:04:03.527712 IP 172.16.0.2 > 192.168.10.1: ICMP echo request, id 64524, seq 19, length 64infatti esistendo una route di default ed essendo “sbagliata” la maschera dell’interfaccia interna, il firewall cerca il pdc nella interfaccia di default.
correggete la maschera sia sul pdc che sul fw e vedrete che tutto torna a funzionare. Potete sbizzarrirvi a vedere le varie combinazioni
abituatevi a guardare le rotte con il comando route -n (-n chiede che vengano mostrate con formato numerico, evitando la risoluzione in nomi che spesso manca)