introduzionealnetworking · 2019. 9. 26. · andrea grazioso introduzione al networking corsi linux...
TRANSCRIPT
![Page 1: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/1.jpg)
Introduzione al NetworkingGuida introduttiva alla configurazione di rete e al firewalling in
ambiente GNU/Linux
Andrea [email protected]
Corsi GNU/Linux avanzati 2015 - Amministrazione di Sistema
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 1 / 46
![Page 2: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/2.jpg)
Sezione 1
1 IntroduzioneNetworking General
2 Stack di rete e configurazione
3 Analisi e Debugging
4 Firewalling
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 2 / 46
![Page 3: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/3.jpg)
Networking General
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 3 / 46
![Page 4: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/4.jpg)
Networking General
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 4 / 46
![Page 5: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/5.jpg)
Talk about what
Conoscere le basi della rete
Gestire un host da connettere alla rete
...possibilmente senza farci fare le scarpe dall’esterno (akaFirewalling)
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 5 / 46
![Page 6: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/6.jpg)
Talk about what
Conoscere le basi della rete
Gestire un host da connettere alla rete
...possibilmente senza farci fare le scarpe dall’esterno (akaFirewalling)
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 5 / 46
![Page 7: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/7.jpg)
Talk about what
Conoscere le basi della rete
Gestire un host da connettere alla rete
...possibilmente senza farci fare le scarpe dall’esterno (akaFirewalling)
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 5 / 46
![Page 8: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/8.jpg)
Disclaimer: Ambienti di Test
Netkit The poor man’s system to experiment computernetworking
Utilizza macchine virtuali basate su User Mode Linux
Nuova versione (moar features)
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 6 / 46
![Page 9: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/9.jpg)
Disclaimer: Ambienti di Test
Netkit The poor man’s system to experiment computernetworking
Utilizza macchine virtuali basate su User Mode Linux
Nuova versione (moar features)
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 6 / 46
![Page 10: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/10.jpg)
Disclaimer: Ambienti di Test
Netkit The poor man’s system to experiment computernetworking
Utilizza macchine virtuali basate su User Mode Linux
Nuova versione (moar features)
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 6 / 46
![Page 11: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/11.jpg)
Sezione 2
1 IntroduzioneNetworking General
2 Stack di rete e configurazione
3 Analisi e Debugging
4 Firewalling
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 7 / 46
![Page 12: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/12.jpg)
ISO/OSI STACK
Le comunicazioni di rete sono organizzate in protocolliOrganizzati mediante stack
Dai livelli bassi (livello fisico) si sale verso l’alto (livello utente)
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 8 / 46
![Page 13: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/13.jpg)
ISO/OSI STACK
Le comunicazioni di rete sono organizzate in protocolliOrganizzati mediante stack
Dai livelli bassi (livello fisico) si sale verso l’alto (livello utente)
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 8 / 46
![Page 14: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/14.jpg)
ISO/OSI STACK
Le comunicazioni di rete sono organizzate in protocolliOrganizzati mediante stack
Dai livelli bassi (livello fisico) si sale verso l’alto (livello utente)
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 8 / 46
![Page 15: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/15.jpg)
Stack
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 9 / 46
![Page 16: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/16.jpg)
Layer 1: Physical
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 10 / 46
![Page 17: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/17.jpg)
Layer 1: Physical
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 11 / 46
![Page 18: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/18.jpg)
Layer 2: Data Link - MAC
Il secondo layer della scala gerarchica è EthernetPermette alle schede di rete di comunicare dei datiGestisce le eventuali collisioni
Una scheda di rete è identificata da un indirizzo univoco Ethernet(MAC1 Address) identificato da 6-byte
Organisationally UniqueIdentifier (OUI)
Network Interface Controller(NIC) Specific
3 bytes 3 bytes
most
sig
nifi
cant
least sig
nifi
cant
1Medium Access ControlAndrea Grazioso Introduzione al Networking Corsi Linux 2015 12 / 46
![Page 19: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/19.jpg)
Layer 2: Data Link - MAC
Il secondo layer della scala gerarchica è EthernetPermette alle schede di rete di comunicare dei datiGestisce le eventuali collisioni
Una scheda di rete è identificata da un indirizzo univoco Ethernet(MAC1 Address) identificato da 6-byte
Organisationally UniqueIdentifier (OUI)
Network Interface Controller(NIC) Specific
3 bytes 3 bytes
most
sig
nifi
cant
least sig
nifi
cant
1Medium Access ControlAndrea Grazioso Introduzione al Networking Corsi Linux 2015 12 / 46
![Page 20: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/20.jpg)
Layer 2: Data Link - MAC
Il secondo layer della scala gerarchica è EthernetPermette alle schede di rete di comunicare dei datiGestisce le eventuali collisioni
Una scheda di rete è identificata da un indirizzo univoco Ethernet(MAC1 Address) identificato da 6-byte
Organisationally UniqueIdentifier (OUI)
Network Interface Controller(NIC) Specific
3 bytes 3 bytes
most
sig
nifi
cant
least sig
nifi
cant
1Medium Access ControlAndrea Grazioso Introduzione al Networking Corsi Linux 2015 12 / 46
![Page 21: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/21.jpg)
Layer 2: Data Link - MAC
Il secondo layer della scala gerarchica è EthernetPermette alle schede di rete di comunicare dei datiGestisce le eventuali collisioni
Una scheda di rete è identificata da un indirizzo univoco Ethernet(MAC1 Address) identificato da 6-byte
Organisationally UniqueIdentifier (OUI)
Network Interface Controller(NIC) Specific
3 bytes 3 bytes
most
sig
nifi
cant
least sig
nifi
cant
1Medium Access ControlAndrea Grazioso Introduzione al Networking Corsi Linux 2015 12 / 46
![Page 22: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/22.jpg)
Layer 3: Network - IP
Il layer di IP permette ai nostri pacchetti di essere spediticorrettamente verso la destinazione (purtroppo senza sani e salvi)
I pacchetti IPv4 sono instradati lungo la rete e arrivano all’host...
...oppure muoiono provandoci
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 13 / 46
![Page 23: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/23.jpg)
Layer 3: Network - IP
Il layer di IP permette ai nostri pacchetti di essere spediticorrettamente verso la destinazione (purtroppo senza sani e salvi)
I pacchetti IPv4 sono instradati lungo la rete e arrivano all’host...
...oppure muoiono provandoci
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 13 / 46
![Page 24: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/24.jpg)
Layer 3: Network - IP
Il layer di IP permette ai nostri pacchetti di essere spediticorrettamente verso la destinazione (purtroppo senza sani e salvi)
I pacchetti IPv4 sono instradati lungo la rete e arrivano all’host...
...oppure muoiono provandoci
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 13 / 46
![Page 25: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/25.jpg)
Layer 4: Trasport - TCP/IP
TCP sopperisce alla «semplicità» del protocollo IP introducendoulteriori servizi e funzionalità:
Permette di avere conferma della ricezione di un pacchetto e in casodi perdita si occupa del reinvio
Inoltre TCP permette connessioni multiple tra due stessi host permezzo di porte (0-65535)
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 14 / 46
![Page 26: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/26.jpg)
Layer 4: Trasport - TCP/IP
TCP sopperisce alla «semplicità» del protocollo IP introducendoulteriori servizi e funzionalità:
Permette di avere conferma della ricezione di un pacchetto e in casodi perdita si occupa del reinvio
Inoltre TCP permette connessioni multiple tra due stessi host permezzo di porte (0-65535)
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 14 / 46
![Page 27: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/27.jpg)
Layer 4: Trasport - TCP/IP
TCP sopperisce alla «semplicità» del protocollo IP introducendoulteriori servizi e funzionalità:
Permette di avere conferma della ricezione di un pacchetto e in casodi perdita si occupa del reinvio
Inoltre TCP permette connessioni multiple tra due stessi host permezzo di porte (0-65535)
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 14 / 46
![Page 28: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/28.jpg)
Network Administration/Level Debugging
Tutto lo stack di rete su linux è basato sulle interfacceReali, cioè quelle realmente esistenti nella nostra macchina (eth0,wlan0)
Virtuali, generate via software per emulare quelle vere (tun, tap,virtual devices)
Bridge, unione (virtuale) di più interfacce
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 15 / 46
![Page 29: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/29.jpg)
Network Administration/Level Debugging
Tutto lo stack di rete su linux è basato sulle interfacceReali, cioè quelle realmente esistenti nella nostra macchina (eth0,wlan0)
Virtuali, generate via software per emulare quelle vere (tun, tap,virtual devices)
Bridge, unione (virtuale) di più interfacce
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 15 / 46
![Page 30: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/30.jpg)
Network Administration/Level Debugging
Tutto lo stack di rete su linux è basato sulle interfacceReali, cioè quelle realmente esistenti nella nostra macchina (eth0,wlan0)
Virtuali, generate via software per emulare quelle vere (tun, tap,virtual devices)
Bridge, unione (virtuale) di più interfacce
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 15 / 46
![Page 31: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/31.jpg)
Network Administration/Level Debugging
Tutto lo stack di rete su linux è basato sulle interfacceReali, cioè quelle realmente esistenti nella nostra macchina (eth0,wlan0)
Virtuali, generate via software per emulare quelle vere (tun, tap,virtual devices)
Bridge, unione (virtuale) di più interfacce
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 15 / 46
![Page 32: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/32.jpg)
Nel dettaglio: iproute2
Per il debugging/configurazione delle interfacce, e più in generaledei livelli 2, 3 si usa la suite iproute2
Il nuovo tool ip sostituisce i vecchi tool (net-tools2) per operaresulle schede di rete
Performance migliori per l’utilizzo di netlink
Comandi più semplici
ip [options] object command
Feature di rete più recenti meglio implementate in un nuovo e unicotool
2ifconfig, route, netstat, e i tool presenti nel pacchetto net-tools sono a tutti glieffetti deprecati
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 16 / 46
![Page 33: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/33.jpg)
Nel dettaglio: iproute2
Per il debugging/configurazione delle interfacce, e più in generaledei livelli 2, 3 si usa la suite iproute2
Il nuovo tool ip sostituisce i vecchi tool (net-tools2) per operaresulle schede di rete
Performance migliori per l’utilizzo di netlink
Comandi più semplici
ip [options] object command
Feature di rete più recenti meglio implementate in un nuovo e unicotool
2ifconfig, route, netstat, e i tool presenti nel pacchetto net-tools sono a tutti glieffetti deprecati
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 16 / 46
![Page 34: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/34.jpg)
Nel dettaglio: iproute2
Per il debugging/configurazione delle interfacce, e più in generaledei livelli 2, 3 si usa la suite iproute2
Il nuovo tool ip sostituisce i vecchi tool (net-tools2) per operaresulle schede di rete
Performance migliori per l’utilizzo di netlink
Comandi più semplici
ip [options] object command
Feature di rete più recenti meglio implementate in un nuovo e unicotool
2ifconfig, route, netstat, e i tool presenti nel pacchetto net-tools sono a tutti glieffetti deprecati
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 16 / 46
![Page 35: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/35.jpg)
Nel dettaglio: iproute2
Per il debugging/configurazione delle interfacce, e più in generaledei livelli 2, 3 si usa la suite iproute2
Il nuovo tool ip sostituisce i vecchi tool (net-tools2) per operaresulle schede di rete
Performance migliori per l’utilizzo di netlink
Comandi più semplici
ip [options] object command
Feature di rete più recenti meglio implementate in un nuovo e unicotool
2ifconfig, route, netstat, e i tool presenti nel pacchetto net-tools sono a tutti glieffetti deprecati
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 16 / 46
![Page 36: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/36.jpg)
Nel dettaglio: iproute2
Per il debugging/configurazione delle interfacce, e più in generaledei livelli 2, 3 si usa la suite iproute2
Il nuovo tool ip sostituisce i vecchi tool (net-tools2) per operaresulle schede di rete
Performance migliori per l’utilizzo di netlink
Comandi più semplici
ip [options] object command
Feature di rete più recenti meglio implementate in un nuovo e unicotool
2ifconfig, route, netstat, e i tool presenti nel pacchetto net-tools sono a tutti glieffetti deprecati
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 16 / 46
![Page 37: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/37.jpg)
iproute2
Layer 2: linkip link show lista le interfacce con i loro MAC addressip link set dev «interface» «up/down» permette di accendere o spegnereun’ interfacciaip link set dev «interface» address «MAC» cambia il MAC address che ilsistema operativo riporta con uno da noi scelto
Layer 3: IPv4ip addr show lista tutte le interfacce con i relativi indirizzi IPip addr add «IPAddress»/ «VLSM» dev «interface» aggiunge unindirizzo IPv4 all’interfaccia specificataip addr del «IPAddress»/ «VLSM» dev «interface
Level4Il controllo del traffico usualmente viene svolto tramite Netfilter/Iptables
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 17 / 46
![Page 38: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/38.jpg)
iproute2
Layer 2: linkip link show lista le interfacce con i loro MAC addressip link set dev «interface» «up/down» permette di accendere o spegnereun’ interfacciaip link set dev «interface» address «MAC» cambia il MAC address che ilsistema operativo riporta con uno da noi scelto
Layer 3: IPv4ip addr show lista tutte le interfacce con i relativi indirizzi IPip addr add «IPAddress»/ «VLSM» dev «interface» aggiunge unindirizzo IPv4 all’interfaccia specificataip addr del «IPAddress»/ «VLSM» dev «interface
Level4Il controllo del traffico usualmente viene svolto tramite Netfilter/Iptables
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 17 / 46
![Page 39: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/39.jpg)
iproute2
Layer 2: linkip link show lista le interfacce con i loro MAC addressip link set dev «interface» «up/down» permette di accendere o spegnereun’ interfacciaip link set dev «interface» address «MAC» cambia il MAC address che ilsistema operativo riporta con uno da noi scelto
Layer 3: IPv4ip addr show lista tutte le interfacce con i relativi indirizzi IPip addr add «IPAddress»/ «VLSM» dev «interface» aggiunge unindirizzo IPv4 all’interfaccia specificataip addr del «IPAddress»/ «VLSM» dev «interface
Level4Il controllo del traffico usualmente viene svolto tramite Netfilter/Iptables
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 17 / 46
![Page 40: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/40.jpg)
alternativa: DHCP
invece di assegnare a mano gli ip alle relative interfacce è possibileconfigurarlo automaticamente
questa configurazione viene effettuata mediante DHCPutile se ci sono tanti host che si collegano e discollegano di continuopermette di gestire meglio gli ip della rete
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 18 / 46
![Page 41: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/41.jpg)
alternativa: DHCP
invece di assegnare a mano gli ip alle relative interfacce è possibileconfigurarlo automaticamente
questa configurazione viene effettuata mediante DHCPutile se ci sono tanti host che si collegano e discollegano di continuopermette di gestire meglio gli ip della rete
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 18 / 46
![Page 42: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/42.jpg)
alternativa: DHCP
la rete necessita di un DHCP server, che, su richiesta, rilascia unip per un certo lasso di tempo (lease)i client dhcp si trovano solitamente preinstallati (dhclient, dhcpcd)
per utilizzare dhcp su di un’interfaccia si usa«dhcp_client» «nome_interfaccia»
se correttamente configurato il dhcp provvederà a fornire tutte leinformazioni necessarie per il corretto funzionamento della rete (Ipaddress, default gateway, netmask, broadcast)Andrea Grazioso Introduzione al Networking Corsi Linux 2015 19 / 46
![Page 43: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/43.jpg)
alternativa: DHCP
la rete necessita di un DHCP server, che, su richiesta, rilascia unip per un certo lasso di tempo (lease)i client dhcp si trovano solitamente preinstallati (dhclient, dhcpcd)
per utilizzare dhcp su di un’interfaccia si usa«dhcp_client» «nome_interfaccia»
se correttamente configurato il dhcp provvederà a fornire tutte leinformazioni necessarie per il corretto funzionamento della rete (Ipaddress, default gateway, netmask, broadcast)Andrea Grazioso Introduzione al Networking Corsi Linux 2015 19 / 46
![Page 44: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/44.jpg)
alternativa: DHCP
la rete necessita di un DHCP server, che, su richiesta, rilascia unip per un certo lasso di tempo (lease)i client dhcp si trovano solitamente preinstallati (dhclient, dhcpcd)
per utilizzare dhcp su di un’interfaccia si usa«dhcp_client» «nome_interfaccia»
se correttamente configurato il dhcp provvederà a fornire tutte leinformazioni necessarie per il corretto funzionamento della rete (Ipaddress, default gateway, netmask, broadcast)Andrea Grazioso Introduzione al Networking Corsi Linux 2015 19 / 46
![Page 45: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/45.jpg)
alternativa: DHCP
la rete necessita di un DHCP server, che, su richiesta, rilascia unip per un certo lasso di tempo (lease)i client dhcp si trovano solitamente preinstallati (dhclient, dhcpcd)
per utilizzare dhcp su di un’interfaccia si usa«dhcp_client» «nome_interfaccia»
se correttamente configurato il dhcp provvederà a fornire tutte leinformazioni necessarie per il corretto funzionamento della rete (Ipaddress, default gateway, netmask, broadcast)Andrea Grazioso Introduzione al Networking Corsi Linux 2015 19 / 46
![Page 46: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/46.jpg)
Vicinato: rete, gateway e subnet
L’Indirizzo IP permette al nostro host di essere raggiunto daglialtri host connessi in rete
Il modo standard di indicare gli indirizzi IP è la forma decimalepuntata...
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 20 / 46
![Page 47: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/47.jpg)
Vicinato: rete, gateway e subnet
L’Indirizzo IP permette al nostro host di essere raggiunto daglialtri host connessi in rete
Il modo standard di indicare gli indirizzi IP è la forma decimalepuntata...
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 20 / 46
![Page 48: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/48.jpg)
gateway e subnet
...seguita dalla rispettiva subnet mask in formato VariableLenght Subnet Mask
Ci permette di identificare quale host è nella nostra stessa retelocale
Per gli host esterni dobbiamo mandare i pacchetti al gateway cheprovvederà ad instradarli al di fuori della rete per conto nostro3
3è scontato che il gateway deve risiedere nella nostra rete locale, altrimenti ci èimpossibile contattare la rete esterna
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 21 / 46
![Page 49: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/49.jpg)
gateway e subnet
...seguita dalla rispettiva subnet mask in formato VariableLenght Subnet Mask
Ci permette di identificare quale host è nella nostra stessa retelocale
Per gli host esterni dobbiamo mandare i pacchetti al gateway cheprovvederà ad instradarli al di fuori della rete per conto nostro3
3è scontato che il gateway deve risiedere nella nostra rete locale, altrimenti ci èimpossibile contattare la rete esterna
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 21 / 46
![Page 50: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/50.jpg)
gateway e subnet
...seguita dalla rispettiva subnet mask in formato VariableLenght Subnet Mask
Ci permette di identificare quale host è nella nostra stessa retelocale
Per gli host esterni dobbiamo mandare i pacchetti al gateway cheprovvederà ad instradarli al di fuori della rete per conto nostro3
3è scontato che il gateway deve risiedere nella nostra rete locale, altrimenti ci èimpossibile contattare la rete esterna
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 21 / 46
![Page 51: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/51.jpg)
DNS
Dato che ogni host è identificato da un indirizzo IP perraggiungerlo tramite nome abbiamo bisogno di un servizio chetraduca i nomi in indirizzi IPDNS (Domain Name Service) effettua questo servizio, per cui ènecessario che i name server siano definiti in /etc/resolv.conf
$ cat /etc/resolv.conf# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 192.168.0.1search local
In generale il gateway di default agisce da nameserver, maalternativamente si possono usare dei nameserver pubblici
Google Opendns
8.8.8.8 208.67.222.222
8.8.4.4 208.67.220.220
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46
![Page 52: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/52.jpg)
DNS
Dato che ogni host è identificato da un indirizzo IP perraggiungerlo tramite nome abbiamo bisogno di un servizio chetraduca i nomi in indirizzi IPDNS (Domain Name Service) effettua questo servizio, per cui ènecessario che i name server siano definiti in /etc/resolv.conf
$ cat /etc/resolv.conf# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 192.168.0.1search local
In generale il gateway di default agisce da nameserver, maalternativamente si possono usare dei nameserver pubblici
Google Opendns
8.8.8.8 208.67.222.222
8.8.4.4 208.67.220.220
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46
![Page 53: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/53.jpg)
DNS
Dato che ogni host è identificato da un indirizzo IP perraggiungerlo tramite nome abbiamo bisogno di un servizio chetraduca i nomi in indirizzi IPDNS (Domain Name Service) effettua questo servizio, per cui ènecessario che i name server siano definiti in /etc/resolv.conf
$ cat /etc/resolv.conf# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 192.168.0.1search local
In generale il gateway di default agisce da nameserver, maalternativamente si possono usare dei nameserver pubblici
Google Opendns
8.8.8.8 208.67.222.222
8.8.4.4 208.67.220.220
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46
![Page 54: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/54.jpg)
Recap
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 23 / 46
![Page 55: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/55.jpg)
Recap
Network Item Example
The system IP address 192.168.0.2
Netmask 255.255.255.0
Broadcast 192.168.0.255
Gateway 192.168.0.1
Nameserver(s) 195.130.130.5, 195.130.130.133
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 24 / 46
![Page 56: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/56.jpg)
Sezione 3
1 IntroduzioneNetworking General
2 Stack di rete e configurazione
3 Analisi e Debugging
4 Firewalling
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 25 / 46
![Page 57: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/57.jpg)
Debugging
Per diagnostica di rete si utilizza solitamente il comando pingroot@Hello:~# ping -c3 poul.orgPING poul.org (91.121.220.9) 56(84) bytes of data.64 bytes from poul.org (91.121.220.9): icmp_seq=1 ttl=59 time=6.83 ms64 bytes from poul.org (91.121.220.9): icmp_seq=2 ttl=59 time=6.72 ms64 bytes from poul.org (91.121.220.9): icmp_seq=3 ttl=59 time=6.68 ms--- poul.org ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 2002msrtt min/avg/max/mdev = 6.685/6.748/6.839/0.093 ms
Possiamo controllare la corretta risoluzione dei nomi utilizzando ilcomando host$ host poul.orgpoul.org has address 91.121.182.81poul.org has IPv6 address 2001:41d0:1:f751::1poul.org mail is handled by 1 poul.org.
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 26 / 46
![Page 58: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/58.jpg)
Debugging
Per diagnostica di rete si utilizza solitamente il comando pingroot@Hello:~# ping -c3 poul.orgPING poul.org (91.121.220.9) 56(84) bytes of data.64 bytes from poul.org (91.121.220.9): icmp_seq=1 ttl=59 time=6.83 ms64 bytes from poul.org (91.121.220.9): icmp_seq=2 ttl=59 time=6.72 ms64 bytes from poul.org (91.121.220.9): icmp_seq=3 ttl=59 time=6.68 ms--- poul.org ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 2002msrtt min/avg/max/mdev = 6.685/6.748/6.839/0.093 ms
Possiamo controllare la corretta risoluzione dei nomi utilizzando ilcomando host$ host poul.orgpoul.org has address 91.121.182.81poul.org has IPv6 address 2001:41d0:1:f751::1poul.org mail is handled by 1 poul.org.
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 26 / 46
![Page 59: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/59.jpg)
Analisi
SS (Socket Status) è un tool che consente di visualizzare tutte lecomunicazioni aperte all’interno del nostro host
Netcat è un client/server tcp/udp da linea di comando
$ nc [hostname] [port]
$ nc -l -p [port]
-l -p [porta] per restare in ascolto per connessioni sulla porta data
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 27 / 46
![Page 60: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/60.jpg)
Analisi
SS (Socket Status) è un tool che consente di visualizzare tutte lecomunicazioni aperte all’interno del nostro host
Netcat è un client/server tcp/udp da linea di comando
$ nc [hostname] [port]
$ nc -l -p [port]
-l -p [porta] per restare in ascolto per connessioni sulla porta data
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 27 / 46
![Page 61: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/61.jpg)
Sezione 4
1 IntroduzioneNetworking General
2 Stack di rete e configurazione
3 Analisi e Debugging
4 Firewalling
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 28 / 46
![Page 62: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/62.jpg)
Routing
Ogni host GNU/Linux è anche un routerPer permettere il “forwarding” di pacchetti ip dobbiamo abilitarloconecho “1” > /proc/sys/net/ipv4/ip_forward
Possiamo visualizzare le rotte configurate dal sistema$ ip route showdefault via 192.168.0.254 dev eth0192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.2 metric 2
E aggiungerne/rimuoverne$ ip route add 1.2.3.0/24 via 192.168.0.254 dev eth0$ ip route del 1.2.3.4 via 192.168.0.254 dev eth0
Altri host possono utilizzare noi come router (o gateway didefault) e noi provvederemo ad inoltrare il traffico in base allenostre regole di routingAndrea Grazioso Introduzione al Networking Corsi Linux 2015 29 / 46
![Page 63: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/63.jpg)
Routing
Ogni host GNU/Linux è anche un routerPer permettere il “forwarding” di pacchetti ip dobbiamo abilitarloconecho “1” > /proc/sys/net/ipv4/ip_forward
Possiamo visualizzare le rotte configurate dal sistema$ ip route showdefault via 192.168.0.254 dev eth0192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.2 metric 2
E aggiungerne/rimuoverne$ ip route add 1.2.3.0/24 via 192.168.0.254 dev eth0$ ip route del 1.2.3.4 via 192.168.0.254 dev eth0
Altri host possono utilizzare noi come router (o gateway didefault) e noi provvederemo ad inoltrare il traffico in base allenostre regole di routingAndrea Grazioso Introduzione al Networking Corsi Linux 2015 29 / 46
![Page 64: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/64.jpg)
Routing
Ogni host GNU/Linux è anche un routerPer permettere il “forwarding” di pacchetti ip dobbiamo abilitarloconecho “1” > /proc/sys/net/ipv4/ip_forward
Possiamo visualizzare le rotte configurate dal sistema$ ip route showdefault via 192.168.0.254 dev eth0192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.2 metric 2
E aggiungerne/rimuoverne$ ip route add 1.2.3.0/24 via 192.168.0.254 dev eth0$ ip route del 1.2.3.4 via 192.168.0.254 dev eth0
Altri host possono utilizzare noi come router (o gateway didefault) e noi provvederemo ad inoltrare il traffico in base allenostre regole di routingAndrea Grazioso Introduzione al Networking Corsi Linux 2015 29 / 46
![Page 65: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/65.jpg)
Routing
Ogni host GNU/Linux è anche un routerPer permettere il “forwarding” di pacchetti ip dobbiamo abilitarloconecho “1” > /proc/sys/net/ipv4/ip_forward
Possiamo visualizzare le rotte configurate dal sistema$ ip route showdefault via 192.168.0.254 dev eth0192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.2 metric 2
E aggiungerne/rimuoverne$ ip route add 1.2.3.0/24 via 192.168.0.254 dev eth0$ ip route del 1.2.3.4 via 192.168.0.254 dev eth0
Altri host possono utilizzare noi come router (o gateway didefault) e noi provvederemo ad inoltrare il traffico in base allenostre regole di routingAndrea Grazioso Introduzione al Networking Corsi Linux 2015 29 / 46
![Page 66: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/66.jpg)
Firewall
Un firewall è un “programma” che si occupa di decidere seaccettare o meno i pacchetti in transito su un host
Un firewall serve per:Evitare connessioni non autorizzate
Correggere eventuali pacchetti durante il filtraggio degli stessi
Applicare strategie di NATting agli host che sono dietro un firewallserver
“Blocchiamo” certi tipi di pacchetti in transito, in base a certeregole
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 30 / 46
![Page 67: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/67.jpg)
Firewall
Un firewall è un “programma” che si occupa di decidere seaccettare o meno i pacchetti in transito su un host
Un firewall serve per:Evitare connessioni non autorizzate
Correggere eventuali pacchetti durante il filtraggio degli stessi
Applicare strategie di NATting agli host che sono dietro un firewallserver
“Blocchiamo” certi tipi di pacchetti in transito, in base a certeregole
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 30 / 46
![Page 68: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/68.jpg)
Firewall
Un firewall è un “programma” che si occupa di decidere seaccettare o meno i pacchetti in transito su un host
Un firewall serve per:Evitare connessioni non autorizzate
Correggere eventuali pacchetti durante il filtraggio degli stessi
Applicare strategie di NATting agli host che sono dietro un firewallserver
“Blocchiamo” certi tipi di pacchetti in transito, in base a certeregole
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 30 / 46
![Page 69: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/69.jpg)
Firewall
Un firewall è un “programma” che si occupa di decidere seaccettare o meno i pacchetti in transito su un host
Un firewall serve per:Evitare connessioni non autorizzate
Correggere eventuali pacchetti durante il filtraggio degli stessi
Applicare strategie di NATting agli host che sono dietro un firewallserver
“Blocchiamo” certi tipi di pacchetti in transito, in base a certeregole
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 30 / 46
![Page 70: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/70.jpg)
Firewall
Un firewall è un “programma” che si occupa di decidere seaccettare o meno i pacchetti in transito su un host
Un firewall serve per:Evitare connessioni non autorizzate
Correggere eventuali pacchetti durante il filtraggio degli stessi
Applicare strategie di NATting agli host che sono dietro un firewallserver
“Blocchiamo” certi tipi di pacchetti in transito, in base a certeregole
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 30 / 46
![Page 71: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/71.jpg)
Firewalling
Il firewall deve essere l’unico punto di contatto della rete conl’esterno4
4Per evitare il problema di generare Single Point Of Failure è eventualmentepossibile utilizzare più firewall sincronizzati costantemente tra di loro:http://conntrack-tools.netfilter.org/
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 31 / 46
![Page 72: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/72.jpg)
Firewalling
Kernel Linux iptables
ip6tables
ebtables
netfilterfirewall di tipo stateful chepermette di tener traccia
delle connessioni che lo attraversano e del loro stato
Userspace
Tramite i tool in userspace gli utenti possono configurare il firewallper dare accesso selettivo al sistema, bloccando ad esempio alcuneporte TCP, o restringendo l’accesso a certi indirizzi IP 5
5A breve si migrerà ad un nuovo unico tool, chiamato nftables, che tuttavia nonmodifica la struttura delle tabelle e hooks che vedremo tra un attimo.
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 32 / 46
![Page 73: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/73.jpg)
Netfilter
L’infrastruttura di Netfilter è basata su 5 “hooks” presenti nelpercorso che i pacchetti devono compiere all’interno del sistema.
In ognuno di questi “punti” è possibilePermettere il passaggio del pacchetto (ACCEPT)
Scartare il pacchetto e interromperlo (DROP)Redirigere il pacchetto (REDIRECT)Modificare alcuni campi del pacchetto (MANGLED)
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 33 / 46
![Page 74: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/74.jpg)
Netfilter
L’infrastruttura di Netfilter è basata su 5 “hooks” presenti nelpercorso che i pacchetti devono compiere all’interno del sistema.
In ognuno di questi “punti” è possibilePermettere il passaggio del pacchetto (ACCEPT)
Scartare il pacchetto e interromperlo (DROP)Redirigere il pacchetto (REDIRECT)Modificare alcuni campi del pacchetto (MANGLED)
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 33 / 46
![Page 75: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/75.jpg)
Netfilter
L’infrastruttura di Netfilter è basata su 5 “hooks” presenti nelpercorso che i pacchetti devono compiere all’interno del sistema.
In ognuno di questi “punti” è possibilePermettere il passaggio del pacchetto (ACCEPT)
Scartare il pacchetto e interromperlo (DROP)Redirigere il pacchetto (REDIRECT)Modificare alcuni campi del pacchetto (MANGLED)
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 33 / 46
![Page 76: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/76.jpg)
Netfilter
Prerouting Forward Postrouting
Input Output
Diretto anoi?
Sì
No Decisionedi routing
Nostrohost
Scheda di rete Scheda di rete
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 34 / 46
![Page 77: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/77.jpg)
Netfilter
Gli “hooks” non possono essere utilizzati direttamente.
Le regole devono essere inserite all’interno di tabelle con dei puntidi aggancio agli hook: le chain
Le tabelle utilizzate sono: filter, mangle, nat e rawfilter è la tabella con le regole principali
mangle è la tabella dove risiedono le regole che modificano ipacchetti
nat è la tabella dove avvengono le operazioni che permettono il NAT
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 35 / 46
![Page 78: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/78.jpg)
Netfilter
Gli “hooks” non possono essere utilizzati direttamente.
Le regole devono essere inserite all’interno di tabelle con dei puntidi aggancio agli hook: le chain
Le tabelle utilizzate sono: filter, mangle, nat e rawfilter è la tabella con le regole principali
mangle è la tabella dove risiedono le regole che modificano ipacchetti
nat è la tabella dove avvengono le operazioni che permettono il NAT
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 35 / 46
![Page 79: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/79.jpg)
Netfilter
Gli “hooks” non possono essere utilizzati direttamente.
Le regole devono essere inserite all’interno di tabelle con dei puntidi aggancio agli hook: le chain
Le tabelle utilizzate sono: filter, mangle, nat e rawfilter è la tabella con le regole principali
mangle è la tabella dove risiedono le regole che modificano ipacchetti
nat è la tabella dove avvengono le operazioni che permettono il NAT
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 35 / 46
![Page 80: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/80.jpg)
Netfilter
Gli “hooks” non possono essere utilizzati direttamente.
Le regole devono essere inserite all’interno di tabelle con dei puntidi aggancio agli hook: le chain
Le tabelle utilizzate sono: filter, mangle, nat e rawfilter è la tabella con le regole principali
mangle è la tabella dove risiedono le regole che modificano ipacchetti
nat è la tabella dove avvengono le operazioni che permettono il NAT
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 35 / 46
![Page 81: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/81.jpg)
Netfilter
Gli “hooks” non possono essere utilizzati direttamente.
Le regole devono essere inserite all’interno di tabelle con dei puntidi aggancio agli hook: le chain
Le tabelle utilizzate sono: filter, mangle, nat e rawfilter è la tabella con le regole principali
mangle è la tabella dove risiedono le regole che modificano ipacchetti
nat è la tabella dove avvengono le operazioni che permettono il NAT
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 35 / 46
![Page 82: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/82.jpg)
Recap
il pacchetto segue il suo percorso
quando il pacchetto arriva in un hook si vanno a consultare levarie tabelle che hanno regole in quell’hook
il pacchetto entra nella chain di una tabella e lì vengonoconsultate tutte le regole presenti una dopo l’altra
se al termine delle verifiche, la decisione è “ACCEPT”, allora ilpacchetto prosegue il suo percorso verso la destinazione
passando nell’hook successivo
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 36 / 46
![Page 83: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/83.jpg)
Recap
il pacchetto segue il suo percorso
quando il pacchetto arriva in un hook si vanno a consultare levarie tabelle che hanno regole in quell’hook
il pacchetto entra nella chain di una tabella e lì vengonoconsultate tutte le regole presenti una dopo l’altra
se al termine delle verifiche, la decisione è “ACCEPT”, allora ilpacchetto prosegue il suo percorso verso la destinazione
passando nell’hook successivo
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 36 / 46
![Page 84: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/84.jpg)
Recap
il pacchetto segue il suo percorso
quando il pacchetto arriva in un hook si vanno a consultare levarie tabelle che hanno regole in quell’hook
il pacchetto entra nella chain di una tabella e lì vengonoconsultate tutte le regole presenti una dopo l’altra
se al termine delle verifiche, la decisione è “ACCEPT”, allora ilpacchetto prosegue il suo percorso verso la destinazione
passando nell’hook successivo
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 36 / 46
![Page 85: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/85.jpg)
Recap
il pacchetto segue il suo percorso
quando il pacchetto arriva in un hook si vanno a consultare levarie tabelle che hanno regole in quell’hook
il pacchetto entra nella chain di una tabella e lì vengonoconsultate tutte le regole presenti una dopo l’altra
se al termine delle verifiche, la decisione è “ACCEPT”, allora ilpacchetto prosegue il suo percorso verso la destinazione
passando nell’hook successivo
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 36 / 46
![Page 86: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/86.jpg)
Recap
il pacchetto segue il suo percorso
quando il pacchetto arriva in un hook si vanno a consultare levarie tabelle che hanno regole in quell’hook
il pacchetto entra nella chain di una tabella e lì vengonoconsultate tutte le regole presenti una dopo l’altra
se al termine delle verifiche, la decisione è “ACCEPT”, allora ilpacchetto prosegue il suo percorso verso la destinazione
passando nell’hook successivo
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 36 / 46
![Page 87: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/87.jpg)
Netfilter/Iptables
Questo sistema di packet filtering usa iptables come interfacciautente.
All’arrivo di un pacchetto nel sistema, esso viene preso in consegnada netfilter per accettarlo, scartarlo, eventualmentemanipolarlo seguendo le regole impostate tramite iptables.
Una regola ha due parti, un match e un target
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 37 / 46
![Page 88: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/88.jpg)
Netfilter/Iptables
Questo sistema di packet filtering usa iptables come interfacciautente.
All’arrivo di un pacchetto nel sistema, esso viene preso in consegnada netfilter per accettarlo, scartarlo, eventualmentemanipolarlo seguendo le regole impostate tramite iptables.
Una regola ha due parti, un match e un target
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 37 / 46
![Page 89: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/89.jpg)
Netfilter/Iptables
Questo sistema di packet filtering usa iptables come interfacciautente.
All’arrivo di un pacchetto nel sistema, esso viene preso in consegnada netfilter per accettarlo, scartarlo, eventualmentemanipolarlo seguendo le regole impostate tramite iptables.
Una regola ha due parti, un match e un target
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 37 / 46
![Page 90: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/90.jpg)
Iptables rulez
iptables -A INPUT --source 192.168.0.42 -j DROP
table/chain match target
-A significa che vogliamo aggiungere questa regola in coda allealtre nella chain INPUT–source indica che la regola vale solo per i pacchetti IPv4provenienti dall’ indirizzo sorgente 192.168.0.42-j DROP specifica che se le precedenti condizioni di match sonosoddisfatte, scartiamo il pacchetto che non proseguirà nelle altreregole
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 38 / 46
![Page 91: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/91.jpg)
Iptables rulez
iptables -A INPUT --source 192.168.0.42 -j DROP
table/chain match target
-A significa che vogliamo aggiungere questa regola in coda allealtre nella chain INPUT–source indica che la regola vale solo per i pacchetti IPv4provenienti dall’ indirizzo sorgente 192.168.0.42-j DROP specifica che se le precedenti condizioni di match sonosoddisfatte, scartiamo il pacchetto che non proseguirà nelle altreregole
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 38 / 46
![Page 92: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/92.jpg)
Forgive me otacon
IptablesIptables è il database di regole nonchè attuale firewall usato neisistemi GNU/Linux
Tradizionalmente si usa configurare iptables tramite linea dicomando.
Esistono vari frontend per alleggerire il compito dei sysadmin
UFWUncomplicated Firewall è un frontend per iptables indicato sia perdesktop che per server.Configurabile da linea di comandoDisponibile per varie distribuzioniPossiede un front-end grafico: Gufw
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 39 / 46
![Page 93: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/93.jpg)
Forgive me otacon
IptablesIptables è il database di regole nonchè attuale firewall usato neisistemi GNU/Linux
Tradizionalmente si usa configurare iptables tramite linea dicomando.
Esistono vari frontend per alleggerire il compito dei sysadmin
UFWUncomplicated Firewall è un frontend per iptables indicato sia perdesktop che per server.Configurabile da linea di comandoDisponibile per varie distribuzioniPossiede un front-end grafico: Gufw
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 39 / 46
![Page 94: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/94.jpg)
Forgive me otacon
IptablesIptables è il database di regole nonchè attuale firewall usato neisistemi GNU/Linux
Tradizionalmente si usa configurare iptables tramite linea dicomando.
Esistono vari frontend per alleggerire il compito dei sysadmin
UFWUncomplicated Firewall è un frontend per iptables indicato sia perdesktop che per server.Configurabile da linea di comandoDisponibile per varie distribuzioniPossiede un front-end grafico: Gufw
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 39 / 46
![Page 95: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/95.jpg)
Forgive me otacon
IptablesIptables è il database di regole nonchè attuale firewall usato neisistemi GNU/Linux
Tradizionalmente si usa configurare iptables tramite linea dicomando.
Esistono vari frontend per alleggerire il compito dei sysadmin
UFWUncomplicated Firewall è un frontend per iptables indicato sia perdesktop che per server.Configurabile da linea di comandoDisponibile per varie distribuzioniPossiede un front-end grafico: Gufw
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 39 / 46
![Page 96: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/96.jpg)
Forgive me otacon
IptablesIptables è il database di regole nonchè attuale firewall usato neisistemi GNU/Linux
Tradizionalmente si usa configurare iptables tramite linea dicomando.
Esistono vari frontend per alleggerire il compito dei sysadmin
UFWUncomplicated Firewall è un frontend per iptables indicato sia perdesktop che per server.Configurabile da linea di comandoDisponibile per varie distribuzioniPossiede un front-end grafico: Gufw
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 39 / 46
![Page 97: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/97.jpg)
Forgive me otacon
IptablesIptables è il database di regole nonchè attuale firewall usato neisistemi GNU/Linux
Tradizionalmente si usa configurare iptables tramite linea dicomando.
Esistono vari frontend per alleggerire il compito dei sysadmin
UFWUncomplicated Firewall è un frontend per iptables indicato sia perdesktop che per server.Configurabile da linea di comandoDisponibile per varie distribuzioniPossiede un front-end grafico: Gufw
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 39 / 46
![Page 98: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/98.jpg)
UFW: basic
All’avvio si configura autometicamente con un set base i regole chebloccano i pacchetti in ingresso
Accendere e spegneresudo ufw enable attiva ufw con il set di regole in /etc/ufw/.rulessudo ufw disablesudo ufw status verbosea
aControllare lo stato di ufw permette di verificare se è abilitato o meno ela lista di regole correntemente applicate
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 40 / 46
![Page 99: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/99.jpg)
UFW: basic
All’avvio si configura autometicamente con un set base i regole chebloccano i pacchetti in ingresso
Accendere e spegneresudo ufw enable attiva ufw con il set di regole in /etc/ufw/.rulessudo ufw disablesudo ufw status verbosea
aControllare lo stato di ufw permette di verificare se è abilitato o meno ela lista di regole correntemente applicate
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 40 / 46
![Page 100: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/100.jpg)
UFW: rules
rulessudo ufw show raw mostra le regole attualmente in usosudo ufw allow «port»/ «protocola» permette di aggungere unanuova regolasudo ufw deny «port»/ «protocol»sudo ufw delete «port»/ «protocol»
aopzionale
Hint le regole possono essere modificate manualmente dal file diconfigurazione6
6/etc/ufw/.rulesAndrea Grazioso Introduzione al Networking Corsi Linux 2015 41 / 46
![Page 101: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/101.jpg)
UFW: services
Con UFW è possibile permettere o bloccare l’accesso utilizzandodirettamente i nomi dei servizi7
Servicessudo ufw allow «service name» Abilitare i servizi (esempio sudoallow ssh)sudo ufw deny «service name»
Loggingsudo ufw logging on abilita di logsudo ufw logging off disabilita i log
7Per ottenere una lista dei servizi basta usare
less /etc/services
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 42 / 46
![Page 102: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/102.jpg)
Qualche cenno in più
Sintassi avanzatasudo ufw allow from «ip»/ «netmask»sudo ufw allow from «target» to «destination» port «port number»proto «protocol name»sudo ufw deny from «ip address» to «protocol» port «portnumber»
Lavorare sulle posizionisudo ufw status numberedsudo ufw delete 1sudo ufw insert 1 allow from <ip address>
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 43 / 46
![Page 103: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/103.jpg)
Qualche cenno in più
Fate molta attenzione se state configurando una macchina remotaquando impostate le regole!
Ad esempio se siete connessi in ssh e avviate ufw non doveterimuovere la regola per permettere l’input tramite porta 22
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 44 / 46
![Page 104: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/104.jpg)
Qualche cenno in più
Fate molta attenzione se state configurando una macchina remotaquando impostate le regole!
Ad esempio se siete connessi in ssh e avviate ufw non doveterimuovere la regola per permettere l’input tramite porta 22
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 44 / 46
![Page 105: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/105.jpg)
Qualche cenno in più
Fate molta attenzione se state configurando una macchina remotaquando impostate le regole!
Ad esempio se siete connessi in ssh e avviate ufw non doveterimuovere la regola per permettere l’input tramite porta 22
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 44 / 46
![Page 106: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/106.jpg)
Fonti
Le altre mie slide sul Networking (Hard Version)Linux Administration HandbookManpageshttps://help.ubuntu.com/community/Firewall
https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Networking
http://www.penguintutor.com/linux/basic-network-reference
Slides su firewalling su poul.orghttp://www.poul.org/wp-content/uploads/2012/05/presentazione_netfilter.pdfhttps://www.poul.org/wp-content/uploads/2014/04/Networking.pdfhttps://www.poul.org/wp-content/uploads/2013/03/slides.pdf
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 45 / 46
![Page 107: IntroduzionealNetworking · 2019. 9. 26. · Andrea Grazioso Introduzione al Networking Corsi Linux 2015 22 / 46. Recap Andrea Grazioso Introduzione al Networking Corsi Linux 2015](https://reader035.vdocuments.net/reader035/viewer/2022071505/612658c10c2cd044a672f899/html5/thumbnails/107.jpg)
Fine
Grazie per l’attenzione!
Queste slides sono licenziate Creative Commons Attribution-ShareAlike 4.0
http://www.poul.org
Andrea Grazioso Introduzione al Networking Corsi Linux 2015 46 / 46