Introduzione al Networking
|
|
|
- Flavia Rossi
- 10 anni fa
- Visualizzazioni
Transcript
1 Introduzione al Networking Guida introduttiva alla configurazione di rete e al firewalling in ambiente GNU/Linux Andrea Grazioso [email protected] Corsi GNU/Linux avanzati Amministrazione di Sistema Andrea Grazioso Introduzione al Networking Corsi Linux / 74
2 Sezione 1 1 Introduzione Networking General 2 Configuring the network Prelude Physical Layer Datalink Layer Network Layer 3 Analisi e Debugging 4 Firewalling Buon uso delle regole NAT Persistenza e altri cenni Andrea Grazioso Introduzione al Networking Corsi Linux / 74
3 Networking General Networking vuol dire costruire, progettare e usare una rete, inclusa la parte fisica (cablaggio, trasmissione del segnale, ecc), la selezione e l uso di un protocollo telecomunicativo e stack software per utilizzare e gestire la rete, e l assegnazione di adeguate policy e procedure di utilizzo della rete Andrea Grazioso Introduzione al Networking Corsi Linux / 74
4 Networking General Andrea Grazioso Introduzione al Networking Corsi Linux / 74
5 Networking General Andrea Grazioso Introduzione al Networking Corsi Linux / 74
6 Ambienti di Test Netkit The poor man s system to experiment computer networking 1 Mininet realistic virtual network, running real kernel, switch and application code, on a single machine 1 Netkit NG Andrea Grazioso Introduzione al Networking Corsi Linux / 74
7 Ambienti di Test Netkit The poor man s system to experiment computer networking 1 Mininet realistic virtual network, running real kernel, switch and application code, on a single machine 1 Netkit NG Andrea Grazioso Introduzione al Networking Corsi Linux / 74
8 Sezione 2 1 Introduzione Networking General 2 Configuring the network Prelude Physical Layer Datalink Layer Network Layer 3 Analisi e Debugging 4 Firewalling Buon uso delle regole NAT Persistenza e altri cenni Andrea Grazioso Introduzione al Networking Corsi Linux / 74
9 It Works! Maybe it just works? Se l host viene connesso ad una rete in cui è presente un router/switch con DHCP configurato è probabile che sia già tutto pronto per accedere ad Internet Andrea Grazioso Introduzione al Networking Corsi Linux / 74
10 Maybe not... Può capitare che le interfacce di rete non siano visualizzate dal sistema operativo out of the box Partendo dalle basi: Per scoprire quali moduli del kernel sono disponibili per il networking possiamo cercare direttamente nel filesystem ls /lib/modules/ uname -r /kernel/drivers/net appletalk can ethernet ieee macvtap.ko nlmon.ko ppp sungem_phy.ko vmxnet3 wireless arcnet dsa fddi ifb.ko mdio.ko ntb_netdev.ko rionet.ko team vxlan.ko xen-netback bonding dummy.ko hamradio irda mii.ko phy sb1000.ko usb wan caif eql.ko hyperv macvlan.ko netconsole.ko plip slip veth.ko wimax Se sappiamo quale driver necessita la nostra scheda di rete possiamo usare modprobe per caricare il modulo del kernel associato. Andrea Grazioso Introduzione al Networking Corsi Linux / 74
11 Maybe not... Può capitare che le interfacce di rete non siano visualizzate dal sistema operativo out of the box Partendo dalle basi: Per scoprire quali moduli del kernel sono disponibili per il networking possiamo cercare direttamente nel filesystem ls /lib/modules/ uname -r /kernel/drivers/net appletalk can ethernet ieee macvtap.ko nlmon.ko ppp sungem_phy.ko vmxnet3 wireless arcnet dsa fddi ifb.ko mdio.ko ntb_netdev.ko rionet.ko team vxlan.ko xen-netback bonding dummy.ko hamradio irda mii.ko phy sb1000.ko usb wan caif eql.ko hyperv macvlan.ko netconsole.ko plip slip veth.ko wimax Se sappiamo quale driver necessita la nostra scheda di rete possiamo usare modprobe per caricare il modulo del kernel associato. Andrea Grazioso Introduzione al Networking Corsi Linux / 74
12 It Works! Again Con i giusti moduli caricati possiamo verificare quali interfacce di rete sono rilevate nel sistema semplicemente con ls: root@hello:~# ls /sys/class/net/ eth0 eth1 lo Andrea Grazioso Introduzione al Networking Corsi Linux / 74
13 mii-tool e autonegoziazione Occasionalmente le schede Ethernet hanno delle opzioni configurabili riguardo le loro capacità Ethernet e possono essere interrogate a riguardo: Se il cavo Ethernet è collegato alla scheda e se arriva segnale sul cavo Se la scheda supporta 10/100/1000 Mb/s in modalità half-duplex o full-duplex Quali sono le capacità dello switch a cui è collegata la nostra scheda Se l autonegoziazione 2 ha funzionato o no 3 2 Subito dopo aver collegato il cavo alla scheda e aver ricevuto il link, la scheda tenta di inviare una serie di frame di varie dimensioni per capire quali sono le velocità supportate dal partner 3 Problemi di negoziazione possono causare gravi problemi di performance della scheda di rete Andrea Grazioso Introduzione al Networking Corsi Linux / 74
14 mii-tool e autonegoziazione Occasionalmente le schede Ethernet hanno delle opzioni configurabili riguardo le loro capacità Ethernet e possono essere interrogate a riguardo: Se il cavo Ethernet è collegato alla scheda e se arriva segnale sul cavo Se la scheda supporta 10/100/1000 Mb/s in modalità half-duplex o full-duplex Quali sono le capacità dello switch a cui è collegata la nostra scheda Se l autonegoziazione 2 ha funzionato o no 3 2 Subito dopo aver collegato il cavo alla scheda e aver ricevuto il link, la scheda tenta di inviare una serie di frame di varie dimensioni per capire quali sono le velocità supportate dal partner 3 Problemi di negoziazione possono causare gravi problemi di performance della scheda di rete Andrea Grazioso Introduzione al Networking Corsi Linux / 74
15 mii-tool e autonegoziazione Occasionalmente le schede Ethernet hanno delle opzioni configurabili riguardo le loro capacità Ethernet e possono essere interrogate a riguardo: Se il cavo Ethernet è collegato alla scheda e se arriva segnale sul cavo Se la scheda supporta 10/100/1000 Mb/s in modalità half-duplex o full-duplex Quali sono le capacità dello switch a cui è collegata la nostra scheda Se l autonegoziazione 2 ha funzionato o no 3 2 Subito dopo aver collegato il cavo alla scheda e aver ricevuto il link, la scheda tenta di inviare una serie di frame di varie dimensioni per capire quali sono le velocità supportate dal partner 3 Problemi di negoziazione possono causare gravi problemi di performance della scheda di rete Andrea Grazioso Introduzione al Networking Corsi Linux / 74
16 mii-tool e autonegoziazione Occasionalmente le schede Ethernet hanno delle opzioni configurabili riguardo le loro capacità Ethernet e possono essere interrogate a riguardo: Se il cavo Ethernet è collegato alla scheda e se arriva segnale sul cavo Se la scheda supporta 10/100/1000 Mb/s in modalità half-duplex o full-duplex Quali sono le capacità dello switch a cui è collegata la nostra scheda Se l autonegoziazione 2 ha funzionato o no 3 2 Subito dopo aver collegato il cavo alla scheda e aver ricevuto il link, la scheda tenta di inviare una serie di frame di varie dimensioni per capire quali sono le velocità supportate dal partner 3 Problemi di negoziazione possono causare gravi problemi di performance della scheda di rete Andrea Grazioso Introduzione al Networking Corsi Linux / 74
17 mii-tool e autonegoziazione Occasionalmente le schede Ethernet hanno delle opzioni configurabili riguardo le loro capacità Ethernet e possono essere interrogate a riguardo: Se il cavo Ethernet è collegato alla scheda e se arriva segnale sul cavo Se la scheda supporta 10/100/1000 Mb/s in modalità half-duplex o full-duplex Quali sono le capacità dello switch a cui è collegata la nostra scheda Se l autonegoziazione 2 ha funzionato o no 3 2 Subito dopo aver collegato il cavo alla scheda e aver ricevuto il link, la scheda tenta di inviare una serie di frame di varie dimensioni per capire quali sono le velocità supportate dal partner 3 Problemi di negoziazione possono causare gravi problemi di performance della scheda di rete Andrea Grazioso Introduzione al Networking Corsi Linux / 74
18 mii-tool e autonegoziazione Se la scheda è dotata di mii transreceiver è possibile utilizzare mii-tool per verificare le capacità dell interfaccia mii-tool -v eth0 eth0: negotiated 1000baseTx-FD flow-control, link ok product info: vendor 00:08:18, model 54 rev 6 basic mode:autonegotiation enabled basic status: autonegotiation complete, link ok capabilities: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD advertising: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control link partner: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD In caso di problemi di autoconfigurazione si può forzare una scheda ad usare una determinata modalità, ricordandoci ovviamente di fare lo stesso anche dall altro lato del cavo! mii-tool -force=100basetx-fd eth0 Andrea Grazioso Introduzione al Networking Corsi Linux / 74
19 iproute2 Le interfacce di rete possono anche essere spente via software Il nuovo tool ip sostituisce gran parte dei vecchi tool per operare sulle schede di rete (ifconfig, route, netstat...) Comandi più semplici ip [options] object command Feature di rete più recenti meglio implementate in un unico tool (tunnel) Andrea Grazioso Introduzione al Networking Corsi Linux / 74
20 iproute2: informazioni Vedere le informazioni a livello datalink delle interfacce, come ad esempio il MAC address e se risulta up $ ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:de:ad:be:ef:ca brd ff:ff:ff:ff:ff:ff Andrea Grazioso Introduzione al Networking Corsi Linux / 74
21 iproute2: spegnere ed accendere le luci Possiamo cambiare lo stato di un interfaccia e attivarla o disattivarla $ ip link set dev eth0 up $ ip link set dev eth1 down Andrea Grazioso Introduzione al Networking Corsi Linux / 74
22 iproute2: MAC address Possiamo cambiare il MAC address di un interfaccia $ ip link set dev eth0 address XX:XX:XX:XX:XX:XX Il MAC address è scritto indelebilmente all interno di ciascuna scheda di rete per identificarla in modo univoco, tuttavia il sistema operativo è in grado di chiudere un occhio Andrea Grazioso Introduzione al Networking Corsi Linux / 74
23 iproute2: MAC address Possiamo cambiare il MAC address di un interfaccia $ ip link set dev eth0 address XX:XX:XX:XX:XX:XX Il MAC address è scritto indelebilmente all interno di ciascuna scheda di rete per identificarla in modo univoco, tuttavia il sistema operativo è in grado di chiudere un occhio Andrea Grazioso Introduzione al Networking Corsi Linux / 74
24 iproute2: ARP Possiamo abilitare o disabiliare ARP se dovesse servire (e se sappiamo quello che stiamo facendo!) $ ip link set dev eth0 arp off $ ip link set dev eth0 arp on Possiamo visualizzare la tabella ARP $ ip neigh show dev eth0 lladdr 00:11:22:33:44:55 REACHABLE Andrea Grazioso Introduzione al Networking Corsi Linux / 74
25 iproute2: ARP Possiamo abilitare o disabiliare ARP se dovesse servire (e se sappiamo quello che stiamo facendo!) $ ip link set dev eth0 arp off $ ip link set dev eth0 arp on Possiamo visualizzare la tabella ARP $ ip neigh show dev eth0 lladdr 00:11:22:33:44:55 REACHABLE Andrea Grazioso Introduzione al Networking Corsi Linux / 74
26 ip: Indirizzi IP Una volta che abbiamo un interfaccia funzionante, possiamo assegnarle uno o più indirizzi IP $ ip address add /24 dev eth0 $ ip address add 1234:40ac:1:8d6b::1/64 dev eth0 Il formato utilizzato per indicare gli indirizzi IP è VLSM (Variable-length subnet masking). Indichiamo quindi sempre la lunghezza della netmask 4 Rimuovere indirizzi $ ip address del /24 dev eth0 $ ip address flush dev eth0 4 L indirizzamento a classi IP (Classe A,B,C...) è deprecato e non viene più utilizzato dal Andrea Grazioso Introduzione al Networking Corsi Linux / 74
27 ip: Indirizzi IP Una volta che abbiamo un interfaccia funzionante, possiamo assegnarle uno o più indirizzi IP $ ip address add /24 dev eth0 $ ip address add 1234:40ac:1:8d6b::1/64 dev eth0 Il formato utilizzato per indicare gli indirizzi IP è VLSM (Variable-length subnet masking). Indichiamo quindi sempre la lunghezza della netmask 4 Rimuovere indirizzi $ ip address del /24 dev eth0 $ ip address flush dev eth0 4 L indirizzamento a classi IP (Classe A,B,C...) è deprecato e non viene più utilizzato dal Andrea Grazioso Introduzione al Networking Corsi Linux / 74
28 ip: Indirizzi IP Una volta che abbiamo un interfaccia funzionante, possiamo assegnarle uno o più indirizzi IP $ ip address add /24 dev eth0 $ ip address add 1234:40ac:1:8d6b::1/64 dev eth0 Il formato utilizzato per indicare gli indirizzi IP è VLSM (Variable-length subnet masking). Indichiamo quindi sempre la lunghezza della netmask 4 Rimuovere indirizzi $ ip address del /24 dev eth0 $ ip address flush dev eth0 4 L indirizzamento a classi IP (Classe A,B,C...) è deprecato e non viene più utilizzato dal Andrea Grazioso Introduzione al Networking Corsi Linux / 74
29 IP e Netmask Figure : IpAddress L Indirizzo IP è unico per un host che deve essere accessibile tramite Internet. Per far si che sia distinguibile tra host dentro e fuori la rete, l indirizzo IP si divide in due parti Rete Host Andrea Grazioso Introduzione al Networking Corsi Linux / 74
30 IP e Netmask La separazione è scritta con la netmask, che permette di identificare quale sia l una e quale l altra parte Figure : Netmask Per accedere ad Internet, ogni computer nella rete deve sapere quale host condivide la connessione ad Internet, il cosidetto gateway 5 5 Il gateway è anch esso un regolare host e pertanto possiede un ip, tipicamente il primo o l ultimo della rete (ad esempio ) Andrea Grazioso Introduzione al Networking Corsi Linux / 74
31 TCP/IP TCP è un layer sopra il protocollo IP che assicura il corretto recapito dei pacchetti e in caso di fallimento provvede a reinviarli Inoltre permette connessioni multiple tra due indirizzi IP Queste connessioni sono effettuate tramite porte, identificate da un Andrea numero Graziosotra 0 e Introduzione al Networking Corsi Linux / 74
32 TCP/IP TCP è un layer sopra il protocollo IP che assicura il corretto recapito dei pacchetti e in caso di fallimento provvede a reinviarli Inoltre permette connessioni multiple tra due indirizzi IP Queste connessioni sono effettuate tramite porte, identificate da un Andrea numero Graziosotra 0 e Introduzione al Networking Corsi Linux / 74
33 ip: indirizzi IP $ ip address show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet /8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 04:01:47:d6:2a:01 brd ff:ff:ff:ff:ff:ff inet /18 brd scope global eth0 valid_lft forever preferred_lft forever inet6 2a03:b0c0:0:1010::85:5001/64 scope global valid_lft forever preferred_lft forever inet6 fe80::601:47ff:fed6:2a01/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 04:01:47:d6:2a:02 brd ff:ff:ff:ff:ff:ff inet /16 brd scope global eth1 valid_lft forever preferred_lft forever inet6 fe80::601:47ff:fed6:2a02/64 scope link valid_lft forever preferred_lft forever Andrea Grazioso Introduzione al Networking Corsi Linux / 74
34 ip: indirizzi IP $ ip address show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet /8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 04:01:47:d6:2a:01 brd ff:ff:ff:ff:ff:ff inet /18 brd scope global eth0 valid_lft forever preferred_lft forever inet6 2a03:b0c0:0:1010::85:5001/64 scope global valid_lft forever preferred_lft forever inet6 fe80::601:47ff:fed6:2a01/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 04:01:47:d6:2a:02 brd ff:ff:ff:ff:ff:ff inet /16 brd scope global eth1 valid_lft forever preferred_lft forever inet6 fe80::601:47ff:fed6:2a02/64 scope link valid_lft forever preferred_lft forever Andrea Grazioso Introduzione al Networking Corsi Linux / 74
35 iproute2: Route Possiamo visualizzare le rotte configurate dal sistema $ ip route show default via dev eth /24 dev eth0 proto kernel scope link src metric 2 E aggiungerne/rimuoverne $ ip route add /24 via dev eth0 $ ip route del via dev eth0 Per poter collegarci ad Internet dobbiamo avere una route di default, delegata ad un gateway presente sulla nostra rete locale $ ip route add default via dev eth0 Andrea Grazioso Introduzione al Networking Corsi Linux / 74
36 iproute2: Route Possiamo visualizzare le rotte configurate dal sistema $ ip route show default via dev eth /24 dev eth0 proto kernel scope link src metric 2 E aggiungerne/rimuoverne $ ip route add /24 via dev eth0 $ ip route del via dev eth0 Per poter collegarci ad Internet dobbiamo avere una route di default, delegata ad un gateway presente sulla nostra rete locale $ ip route add default via dev eth0 Andrea Grazioso Introduzione al Networking Corsi Linux / 74
37 iproute2: Route Possiamo visualizzare le rotte configurate dal sistema $ ip route show default via dev eth /24 dev eth0 proto kernel scope link src metric 2 E aggiungerne/rimuoverne $ ip route add /24 via dev eth0 $ ip route del via dev eth0 Per poter collegarci ad Internet dobbiamo avere una route di default, delegata ad un gateway presente sulla nostra rete locale $ ip route add default via dev eth0 Andrea Grazioso Introduzione al Networking Corsi Linux / 74
38 Routing Ogni host GNU/Linux è anche un router Per permettere il forwarding di pacchetti ip dobbiamo abilitarlo con echo 1 > /proc/sys/net/ipv4/ip_forward Altri host possono utilizzare noi come router (o gateway di default) e noi provvederemo ad inoltrare Il traffico in base alle nostre regole di routing Andrea Grazioso Introduzione al Networking Corsi Linux / 74
39 Routing Ogni host GNU/Linux è anche un router Per permettere il forwarding di pacchetti ip dobbiamo abilitarlo con echo 1 > /proc/sys/net/ipv4/ip_forward Altri host possono utilizzare noi come router (o gateway di default) e noi provvederemo ad inoltrare Il traffico in base alle nostre regole di routing Andrea Grazioso Introduzione al Networking Corsi Linux / 74
40 DHCP Se non si vuole assegnare un indirizzo IP statico alla macchina si può utilizzare un client DHCP per ottenere dal server DHCP installato nella rete locale tutte le informazioni necessarie per la connessione DHCP (Dynamic Host Configuration Protocol) permette di ricevere automaticamente le informazioni di networking (IP address, netmask, broadcast address, gateway, nameservers etc.), tramite i tool dhcpcd/dhclient $ dhclient eth0 Internet Systems Consortium DHCP Client V3.1.1 Copyright Internet Systems Consortium. All rights reserved. For info, please visit Listening on LPF/eth0/6e:5f:98:37:0c:07 Sending on LPF/eth0/6e:5f:98:37:0c:07 Sending on Socket/fallback DHCPDISCOVER on eth0 to port 67 interval 4 DHCPOFFER from DHCPREQUEST on eth0 to port 67 DHCPACK from bound to renewal in 297 seconds. Andrea Grazioso Introduzione al Networking Corsi Linux / 74
41 Configurazione su Debian/Ubuntu Su Debian e Ubuntu possiamo impostare le interfacce di rete in modo permanente tramite il file /etc/network/interfaces, che verrà letto e utilizzato all avvio del sistema per configurare le interfacce # The loopback network interface auto lo iface lo inet loopback auto eth0 iface eth0 inet static address netmask network broadcast gateway Se utilizziamo DHCP è più semplicemente # The loopback network interface auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp Andrea Grazioso Introduzione al Networking Corsi Linux / 74
42 Configurazione su Debian/Ubuntu Su Debian e Ubuntu possiamo impostare le interfacce di rete in modo permanente tramite il file /etc/network/interfaces, che verrà letto e utilizzato all avvio del sistema per configurare le interfacce # The loopback network interface auto lo iface lo inet loopback auto eth0 iface eth0 inet static address netmask network broadcast gateway Se utilizziamo DHCP è più semplicemente # The loopback network interface auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp Andrea Grazioso Introduzione al Networking Corsi Linux / 74
43 Configurazione su Debian/Ubuntu Su Debian e Ubuntu possiamo impostare le interfacce di rete in modo permanente tramite il file /etc/network/interfaces, che verrà letto e utilizzato all avvio del sistema per configurare le interfacce # The loopback network interface auto lo iface lo inet loopback auto eth0 iface eth0 inet static address netmask network broadcast gateway Se utilizziamo DHCP è più semplicemente # The loopback network interface auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp Andrea Grazioso Introduzione al Networking Corsi Linux / 74
44 DNS Dato che ogni host è identificato da un indirizzo IP per raggiungerlo tramite nome abbiamo bisogno di un servizio che traduca i nomi in indirizzi IP DNS (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 OVERWRITTEN nameserver search local In generale il gateway di default agisce da nameserver, ma alternativamente si possono usare dei nameserver pubblici Google Opendns Andrea Grazioso Introduzione al Networking Corsi Linux / 74
45 proxies Se si accede ad internet tramite proxy, allora è necessario configurare le impostazioni del proxy durante la configurazione di rete 6 Nella maggior parte dei casi è sufficiente definire le variabili usando gli hostname dei server, ad esempio proxy.poul.org con la porta 8080 HTTP proxy (traffico HTTP e HTTPS) root #export http_proxy=" FTP proxy root #export ftp_proxy="ftp://proxy.poul.org:8080" RSYNC proxy root #export RSYNC_PROXY="proxy.poul.org:8080" 6 Se il proxy richiede una combinazione username-password, la usata la seguente sintassi per la variabile: Andrea Grazioso Introduzione al Networking Corsi Linux / 74
46 proxies Se si accede ad internet tramite proxy, allora è necessario configurare le impostazioni del proxy durante la configurazione di rete 6 Nella maggior parte dei casi è sufficiente definire le variabili usando gli hostname dei server, ad esempio proxy.poul.org con la porta 8080 HTTP proxy (traffico HTTP e HTTPS) root #export http_proxy=" FTP proxy root #export ftp_proxy="ftp://proxy.poul.org:8080" RSYNC proxy root #export RSYNC_PROXY="proxy.poul.org:8080" 6 Se il proxy richiede una combinazione username-password, la usata la seguente sintassi per la variabile: Andrea Grazioso Introduzione al Networking Corsi Linux / 74
47 proxies Se si accede ad internet tramite proxy, allora è necessario configurare le impostazioni del proxy durante la configurazione di rete 6 Nella maggior parte dei casi è sufficiente definire le variabili usando gli hostname dei server, ad esempio proxy.poul.org con la porta 8080 HTTP proxy (traffico HTTP e HTTPS) root #export http_proxy=" FTP proxy root #export ftp_proxy="ftp://proxy.poul.org:8080" RSYNC proxy root #export RSYNC_PROXY="proxy.poul.org:8080" 6 Se il proxy richiede una combinazione username-password, la usata la seguente sintassi per la variabile: Andrea Grazioso Introduzione al Networking Corsi Linux / 74
48 proxies Se si accede ad internet tramite proxy, allora è necessario configurare le impostazioni del proxy durante la configurazione di rete 6 Nella maggior parte dei casi è sufficiente definire le variabili usando gli hostname dei server, ad esempio proxy.poul.org con la porta 8080 HTTP proxy (traffico HTTP e HTTPS) root #export http_proxy=" FTP proxy root #export ftp_proxy="ftp://proxy.poul.org:8080" RSYNC proxy root #export RSYNC_PROXY="proxy.poul.org:8080" 6 Se il proxy richiede una combinazione username-password, la usata la seguente sintassi per la variabile: Andrea Grazioso Introduzione al Networking Corsi Linux / 74
49 Testing the network: ping Per testare la rete di solito si usa il comando ping ping -c 3 PING poul.org ( ) 56(84) bytes of data. 64 bytes from poul.org ( ): icmp_seq=1 ttl=59 time=7.93 ms 64 bytes from poul.org ( ): icmp_seq=2 ttl=59 time=6.59 ms 64 bytes from poul.org ( ): icmp_seq=3 ttl=59 time=6.74 ms --- poul.org ping statistics packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 6.593/7.088/7.932/0.603 ms Andrea Grazioso Introduzione al Networking Corsi Linux / 74
50 Wireless Access Quando si utilizza una scheda wireless (802.11), prima di tutto occorre definire le impostazioni di configurazione. Per accedere a tali impostazioni si usa iwconfig Figure : iwconfig Andrea Grazioso Introduzione al Networking Corsi Linux / 74
51 Wireless Access iwconfig wlan0 essid POuL-Spot Per collegarsi ad Access Point che richiedono configurazioni di sicurezza avanzate serve wpa_supplicant sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -Dnl80211,wext Andrea Grazioso Introduzione al Networking Corsi Linux / 74
52 Wireless Access iwconfig wlan0 essid POuL-Spot Per collegarsi ad Access Point che richiedono configurazioni di sicurezza avanzate serve wpa_supplicant sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -Dnl80211,wext Andrea Grazioso Introduzione al Networking Corsi Linux / 74
53 Wireless Access iwconfig wlan0 essid POuL-Spot Per collegarsi ad Access Point che richiedono configurazioni di sicurezza avanzate serve wpa_supplicant sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -Dnl80211,wext Andrea Grazioso Introduzione al Networking Corsi Linux / 74
54 Wireless Access $ cat /etc/wpa_supplicant.conf # The below line not be changed otherwise wpa_supplicant refuses to work ctrl_i # Ensure that only root can read the WPA configuration ctrl_interface_group=0 # Let wpa_supplicant take care of scanning and AP selection ap_scan=1 #Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers network={ ssid="simple" psk="very secret passphrase" #request SSID-specific scanning (for APs that reject # broadcast SSID) scan_ssid=1 # The higher the priority the sooner we are matched priority=5 } Andrea Grazioso Introduzione al Networking Corsi Linux / 74
55 Recap La Configurazione di una rete si può sintetizzare in 3 step: 1 Assegnazione di un IP root #ip address add /24 dev eth0 1 Configurazione del corretto routing ip route add /24 via dev eth0 1 Impostazione dei DNS in /etc/resolv.conf root #nano -w /etc/resolv.conf nameserver nameserver Andrea Grazioso Introduzione al Networking Corsi Linux / 74
56 Recap La Configurazione di una rete si può sintetizzare in 3 step: 1 Assegnazione di un IP root #ip address add /24 dev eth0 1 Configurazione del corretto routing ip route add /24 via dev eth0 1 Impostazione dei DNS in /etc/resolv.conf root #nano -w /etc/resolv.conf nameserver nameserver Andrea Grazioso Introduzione al Networking Corsi Linux / 74
57 Recap La Configurazione di una rete si può sintetizzare in 3 step: 1 Assegnazione di un IP root #ip address add /24 dev eth0 1 Configurazione del corretto routing ip route add /24 via dev eth0 1 Impostazione dei DNS in /etc/resolv.conf root #nano -w /etc/resolv.conf nameserver nameserver Andrea Grazioso Introduzione al Networking Corsi Linux / 74
58 Recap Network Item Example The system IP address Netmask Broadcast Gateway Nameserver(s) , Andrea Grazioso Introduzione al Networking Corsi Linux / 74
59 Sezione 3 1 Introduzione Networking General 2 Configuring the network Prelude Physical Layer Datalink Layer Network Layer 3 Analisi e Debugging 4 Firewalling Buon uso delle regole NAT Persistenza e altri cenni Andrea Grazioso Introduzione al Networking Corsi Linux / 74
60 ping Per diagnostica di rete si utilizza solitamente il comando ping ping -c3 poul.org PING poul.org ( ) 56(84) bytes of data. 64 bytes from poul.org ( ): icmp_seq=1 ttl=59 time=6.83 ms 64 bytes from poul.org ( ): icmp_seq=2 ttl=59 time=6.72 ms 64 bytes from poul.org ( ): icmp_seq=3 ttl=59 time=6.68 ms --- poul.org ping statistics packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 6.685/6.748/6.839/0.093 ms Andrea Grazioso Introduzione al Networking Corsi Linux / 74
61 ping Per diagnostica di rete si utilizza solitamente il comando ping ping -c3 poul.org PING poul.org ( ) 56(84) bytes of data. 64 bytes from poul.org ( ): icmp_seq=1 ttl=59 time=6.83 ms 64 bytes from poul.org ( ): icmp_seq=2 ttl=59 time=6.72 ms 64 bytes from poul.org ( ): icmp_seq=3 ttl=59 time=6.68 ms --- poul.org ping statistics packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 6.685/6.748/6.839/0.093 ms Andrea Grazioso Introduzione al Networking Corsi Linux / 74
62 host Possiamo controllare la corretta risoluzione dei nomi utilizzando il comando host $ host poul.org poul.org has address poul.org has IPv6 address 2001:41d0:1:f751::1 poul.org mail is handled by 1 poul.org. $ host -t MX poul.org poul.org mail is handled by 1 poul.org. Andrea Grazioso Introduzione al Networking Corsi Linux / 74
63 host Possiamo controllare la corretta risoluzione dei nomi utilizzando il comando host $ host poul.org poul.org has address poul.org has IPv6 address 2001:41d0:1:f751::1 poul.org mail is handled by 1 poul.org. $ host -t MX poul.org poul.org mail is handled by 1 poul.org. Andrea Grazioso Introduzione al Networking Corsi Linux / 74
64 host Possiamo controllare la corretta risoluzione dei nomi utilizzando il comando host $ host poul.org poul.org has address poul.org has IPv6 address 2001:41d0:1:f751::1 poul.org mail is handled by 1 poul.org. $ host -t MX poul.org poul.org mail is handled by 1 poul.org. Andrea Grazioso Introduzione al Networking Corsi Linux / 74
65 Netcat Uno dei tool per fare scripting di rete e debugging è netcat Netcat è un client/server tcp/udp da linea di comando. Una sorta di «telnet client» avanzato $ nc [hostname] [port] $ nc -l -p [port] -l -p [porta] per restare in ascolto per connessioni sulla porta data -u per indicare l utilizzo di UDP invece di TCP -v per avere informazioni aggiuntive durante la connessione Andrea Grazioso Introduzione al Networking Corsi Linux / 74
66 Netcat Uno dei tool per fare scripting di rete e debugging è netcat Netcat è un client/server tcp/udp da linea di comando. Una sorta di «telnet client» avanzato $ nc [hostname] [port] $ nc -l -p [port] -l -p [porta] per restare in ascolto per connessioni sulla porta data -u per indicare l utilizzo di UDP invece di TCP -v per avere informazioni aggiuntive durante la connessione Andrea Grazioso Introduzione al Networking Corsi Linux / 74
67 Netcat Uno dei tool per fare scripting di rete e debugging è netcat Netcat è un client/server tcp/udp da linea di comando. Una sorta di «telnet client» avanzato $ nc [hostname] [port] $ nc -l -p [port] -l -p [porta] per restare in ascolto per connessioni sulla porta data -u per indicare l utilizzo di UDP invece di TCP -v per avere informazioni aggiuntive durante la connessione Andrea Grazioso Introduzione al Networking Corsi Linux / 74
68 Netcat Uno dei tool per fare scripting di rete e debugging è netcat Netcat è un client/server tcp/udp da linea di comando. Una sorta di «telnet client» avanzato $ nc [hostname] [port] $ nc -l -p [port] -l -p [porta] per restare in ascolto per connessioni sulla porta data -u per indicare l utilizzo di UDP invece di TCP -v per avere informazioni aggiuntive durante la connessione Andrea Grazioso Introduzione al Networking Corsi Linux / 74
69 Netcat Uno dei tool per fare scripting di rete e debugging è netcat Netcat è un client/server tcp/udp da linea di comando. Una sorta di «telnet client» avanzato $ nc [hostname] [port] $ nc -l -p [port] -l -p [porta] per restare in ascolto per connessioni sulla porta data -u per indicare l utilizzo di UDP invece di TCP -v per avere informazioni aggiuntive durante la connessione Andrea Grazioso Introduzione al Networking Corsi Linux / 74
70 Sezione 4 1 Introduzione Networking General 2 Configuring the network Prelude Physical Layer Datalink Layer Network Layer 3 Analisi e Debugging 4 Firewalling Buon uso delle regole NAT Persistenza e altri cenni Andrea Grazioso Introduzione al Networking Corsi Linux / 74
71 Firewalling Un firewall è un programma che si occupa di decidere se accettare o meno i pacchetti in transito su un host Un firewall serve per: Evitare connessioni non autorizzate Correzione dei pacchetti durante il filtraggio degli stessi Applicare strategie di NATting agli host che sono dietro un firewall server Blocchiamo certi tipi di pacchetti in transito, in base a certe regole Andrea Grazioso Introduzione al Networking Corsi Linux / 74
72 Firewalling Un firewall è un programma che si occupa di decidere se accettare o meno i pacchetti in transito su un host Un firewall serve per: Evitare connessioni non autorizzate Correzione dei pacchetti durante il filtraggio degli stessi Applicare strategie di NATting agli host che sono dietro un firewall server Blocchiamo certi tipi di pacchetti in transito, in base a certe regole Andrea Grazioso Introduzione al Networking Corsi Linux / 74
73 Firewalling Un firewall è un programma che si occupa di decidere se accettare o meno i pacchetti in transito su un host Un firewall serve per: Evitare connessioni non autorizzate Correzione dei pacchetti durante il filtraggio degli stessi Applicare strategie di NATting agli host che sono dietro un firewall server Blocchiamo certi tipi di pacchetti in transito, in base a certe regole Andrea Grazioso Introduzione al Networking Corsi Linux / 74
74 Firewalling Un firewall è un programma che si occupa di decidere se accettare o meno i pacchetti in transito su un host Un firewall serve per: Evitare connessioni non autorizzate Correzione dei pacchetti durante il filtraggio degli stessi Applicare strategie di NATting agli host che sono dietro un firewall server Blocchiamo certi tipi di pacchetti in transito, in base a certe regole Andrea Grazioso Introduzione al Networking Corsi Linux / 74
75 Firewalling Un firewall è un programma che si occupa di decidere se accettare o meno i pacchetti in transito su un host Un firewall serve per: Evitare connessioni non autorizzate Correzione dei pacchetti durante il filtraggio degli stessi Applicare strategie di NATting agli host che sono dietro un firewall server Blocchiamo certi tipi di pacchetti in transito, in base a certe regole Andrea Grazioso Introduzione al Networking Corsi Linux / 74
76 Firewalling Il firewall deve essere l unico punto di contatto della rete con l esterno 7 7 Per evitare il problema di generare Single Point Of Failure è eventualmente possibile utilizzare più firewall sincronizzati costantemente tra di loro: Andrea Grazioso Introduzione al Networking Corsi Linux / 74
77 Firewalling All interno del kernel Linux è presente una parte dedicata esclusivamente a gestire le operazioni di firewalling, chiamata netfilter In userspace possiamo utilizzare iptables/ip6tables/ebtables come strumenti per comunicare al kernel le regole da applicare 8 a livello IP(v4 e v6) e (se necessario) Ethernet/datalink Netfilter è un firewall di tipo stateful, cioè permette di tenere traccia delle connessioni che lo attraversano e del loro stato Netfilter si occupa anche di implementare le operazioni di NAT e port forwarding spesso utilizzate 8 A breve si migrerà ad un nuovo unico tool, chiamato nftables, che tuttavia non modifica la struttura delle tabelle e hooks che vedremo tra un attimo. Andrea Grazioso Introduzione al Networking Corsi Linux / 74
78 Firewalling All interno del kernel Linux è presente una parte dedicata esclusivamente a gestire le operazioni di firewalling, chiamata netfilter In userspace possiamo utilizzare iptables/ip6tables/ebtables come strumenti per comunicare al kernel le regole da applicare 8 a livello IP(v4 e v6) e (se necessario) Ethernet/datalink Netfilter è un firewall di tipo stateful, cioè permette di tenere traccia delle connessioni che lo attraversano e del loro stato Netfilter si occupa anche di implementare le operazioni di NAT e port forwarding spesso utilizzate 8 A breve si migrerà ad un nuovo unico tool, chiamato nftables, che tuttavia non modifica la struttura delle tabelle e hooks che vedremo tra un attimo. Andrea Grazioso Introduzione al Networking Corsi Linux / 74
79 Firewalling All interno del kernel Linux è presente una parte dedicata esclusivamente a gestire le operazioni di firewalling, chiamata netfilter In userspace possiamo utilizzare iptables/ip6tables/ebtables come strumenti per comunicare al kernel le regole da applicare 8 a livello IP(v4 e v6) e (se necessario) Ethernet/datalink Netfilter è un firewall di tipo stateful, cioè permette di tenere traccia delle connessioni che lo attraversano e del loro stato Netfilter si occupa anche di implementare le operazioni di NAT e port forwarding spesso utilizzate 8 A breve si migrerà ad un nuovo unico tool, chiamato nftables, che tuttavia non modifica la struttura delle tabelle e hooks che vedremo tra un attimo. Andrea Grazioso Introduzione al Networking Corsi Linux / 74
80 Firewalling All interno del kernel Linux è presente una parte dedicata esclusivamente a gestire le operazioni di firewalling, chiamata netfilter In userspace possiamo utilizzare iptables/ip6tables/ebtables come strumenti per comunicare al kernel le regole da applicare 8 a livello IP(v4 e v6) e (se necessario) Ethernet/datalink Netfilter è un firewall di tipo stateful, cioè permette di tenere traccia delle connessioni che lo attraversano e del loro stato Netfilter si occupa anche di implementare le operazioni di NAT e port forwarding spesso utilizzate 8 A breve si migrerà ad un nuovo unico tool, chiamato nftables, che tuttavia non modifica la struttura delle tabelle e hooks che vedremo tra un attimo. Andrea Grazioso Introduzione al Networking Corsi Linux / 74
81 Netfilter L infrastruttura di Netfilter è basata su 5 hooks presenti nel percorso che i pacchetti devono compiere all interno del sistema. In ognuno di questi punti è possibile Permettere 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 / 74
82 Netfilter L infrastruttura di Netfilter è basata su 5 hooks presenti nel percorso che i pacchetti devono compiere all interno del sistema. In ognuno di questi punti è possibile Permettere 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 / 74
83 Netfilter L infrastruttura di Netfilter è basata su 5 hooks presenti nel percorso che i pacchetti devono compiere all interno del sistema. In ognuno di questi punti è possibile Permettere 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 / 74
84 Netfilter Prerouting Diretto a No Forward Decisione Postrouting noi? di routing Sì Input Output Nostro host Scheda di rete Scheda di rete Andrea Grazioso Introduzione al Networking Corsi Linux / 74
85 Hooks PREROUTING: pacchetti in ingresso INPUT: pacchetti destinati all host stesso FORWARD: pacchetti non destinati all host stesso, che dobbiamo inoltrare OUTPUT: pacchetti in uscita dall host stesso POSTROUTING: pacchetti in uscita Andrea Grazioso Introduzione al Networking Corsi Linux / 74
86 Hooks PREROUTING: pacchetti in ingresso INPUT: pacchetti destinati all host stesso FORWARD: pacchetti non destinati all host stesso, che dobbiamo inoltrare OUTPUT: pacchetti in uscita dall host stesso POSTROUTING: pacchetti in uscita Andrea Grazioso Introduzione al Networking Corsi Linux / 74
87 Hooks PREROUTING: pacchetti in ingresso INPUT: pacchetti destinati all host stesso FORWARD: pacchetti non destinati all host stesso, che dobbiamo inoltrare OUTPUT: pacchetti in uscita dall host stesso POSTROUTING: pacchetti in uscita Andrea Grazioso Introduzione al Networking Corsi Linux / 74
88 Hooks PREROUTING: pacchetti in ingresso INPUT: pacchetti destinati all host stesso FORWARD: pacchetti non destinati all host stesso, che dobbiamo inoltrare OUTPUT: pacchetti in uscita dall host stesso POSTROUTING: pacchetti in uscita Andrea Grazioso Introduzione al Networking Corsi Linux / 74
89 Hooks PREROUTING: pacchetti in ingresso INPUT: pacchetti destinati all host stesso FORWARD: pacchetti non destinati all host stesso, che dobbiamo inoltrare OUTPUT: pacchetti in uscita dall host stesso POSTROUTING: pacchetti in uscita Andrea Grazioso Introduzione al Networking Corsi Linux / 74
90 Netfilter Gli hooks non possono essere utilizzati direttamente. Non possiamo metterci delle regole dentro Le regole devono essere inserite all interno di tabelle. Ogni tabella ha dei punti di aggancio agli hook: le chain Le tabelle utilizzate sono: filter, mangle, nat e raw filter è la tabella con le regole principali mangle è la tabella dove risiedono le regole che modificano i pacchetti nat è la tabella dove avvengono le operazioni che permettono il NAT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
91 Netfilter Gli hooks non possono essere utilizzati direttamente. Non possiamo metterci delle regole dentro Le regole devono essere inserite all interno di tabelle. Ogni tabella ha dei punti di aggancio agli hook: le chain Le tabelle utilizzate sono: filter, mangle, nat e raw filter è la tabella con le regole principali mangle è la tabella dove risiedono le regole che modificano i pacchetti nat è la tabella dove avvengono le operazioni che permettono il NAT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
92 Netfilter Gli hooks non possono essere utilizzati direttamente. Non possiamo metterci delle regole dentro Le regole devono essere inserite all interno di tabelle. Ogni tabella ha dei punti di aggancio agli hook: le chain Le tabelle utilizzate sono: filter, mangle, nat e raw filter è la tabella con le regole principali mangle è la tabella dove risiedono le regole che modificano i pacchetti nat è la tabella dove avvengono le operazioni che permettono il NAT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
93 Netfilter Gli hooks non possono essere utilizzati direttamente. Non possiamo metterci delle regole dentro Le regole devono essere inserite all interno di tabelle. Ogni tabella ha dei punti di aggancio agli hook: le chain Le tabelle utilizzate sono: filter, mangle, nat e raw filter è la tabella con le regole principali mangle è la tabella dove risiedono le regole che modificano i pacchetti nat è la tabella dove avvengono le operazioni che permettono il NAT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
94 Netfilter Gli hooks non possono essere utilizzati direttamente. Non possiamo metterci delle regole dentro Le regole devono essere inserite all interno di tabelle. Ogni tabella ha dei punti di aggancio agli hook: le chain Le tabelle utilizzate sono: filter, mangle, nat e raw filter è la tabella con le regole principali mangle è la tabella dove risiedono le regole che modificano i pacchetti nat è la tabella dove avvengono le operazioni che permettono il NAT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
95 Recap il pacchetto segue il suo percorso quando il pacchetto arriva in un hook si vanno a consultare le varie tabelle che hanno regole in quell hook (le tabelle da verificare sono in un certo ordine) il pacchetto entra nella chain di una tabella e lì vengono consultate tutte le regole presenti se al termine delle verifiche, la decisione è ACCEPT, allora il pacchetto prosegue il suo percorso e viene verificato nelle tabelle successive poi se il pacchetto prosegue ancora passerà nell hook successivo Andrea Grazioso Introduzione al Networking Corsi Linux / 74
96 Recap il pacchetto segue il suo percorso quando il pacchetto arriva in un hook si vanno a consultare le varie tabelle che hanno regole in quell hook (le tabelle da verificare sono in un certo ordine) il pacchetto entra nella chain di una tabella e lì vengono consultate tutte le regole presenti se al termine delle verifiche, la decisione è ACCEPT, allora il pacchetto prosegue il suo percorso e viene verificato nelle tabelle successive poi se il pacchetto prosegue ancora passerà nell hook successivo Andrea Grazioso Introduzione al Networking Corsi Linux / 74
97 Recap il pacchetto segue il suo percorso quando il pacchetto arriva in un hook si vanno a consultare le varie tabelle che hanno regole in quell hook (le tabelle da verificare sono in un certo ordine) il pacchetto entra nella chain di una tabella e lì vengono consultate tutte le regole presenti se al termine delle verifiche, la decisione è ACCEPT, allora il pacchetto prosegue il suo percorso e viene verificato nelle tabelle successive poi se il pacchetto prosegue ancora passerà nell hook successivo Andrea Grazioso Introduzione al Networking Corsi Linux / 74
98 Recap il pacchetto segue il suo percorso quando il pacchetto arriva in un hook si vanno a consultare le varie tabelle che hanno regole in quell hook (le tabelle da verificare sono in un certo ordine) il pacchetto entra nella chain di una tabella e lì vengono consultate tutte le regole presenti se al termine delle verifiche, la decisione è ACCEPT, allora il pacchetto prosegue il suo percorso e viene verificato nelle tabelle successive poi se il pacchetto prosegue ancora passerà nell hook successivo Andrea Grazioso Introduzione al Networking Corsi Linux / 74
99 Recap il pacchetto segue il suo percorso quando il pacchetto arriva in un hook si vanno a consultare le varie tabelle che hanno regole in quell hook (le tabelle da verificare sono in un certo ordine) il pacchetto entra nella chain di una tabella e lì vengono consultate tutte le regole presenti se al termine delle verifiche, la decisione è ACCEPT, allora il pacchetto prosegue il suo percorso e viene verificato nelle tabelle successive poi se il pacchetto prosegue ancora passerà nell hook successivo Andrea Grazioso Introduzione al Networking Corsi Linux / 74
100 iptables Iniziamo a guardare la tabella di default, la tabella filter $ sudo iptables -nvl Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Andrea Grazioso Introduzione al Networking Corsi Linux / 74
101 iptables Nella tabella filter abbiamo 3 chains che si agganciano agli hooks di INPUT, FORWARD e OUTPUT Ogni regola è costituta da due parti principali Match: È la parte della regola che specifica quali sono le caratteristiche del pacchetto che cerchiamo Target: È la parte della regola che specifica che operazione effettuare sul pacchetto che fa match Durante il percorso del pacchetto, quando si arriva nella chain della tabella, si analizzano una per una le regole presenti dalla prima all ultima. Se nessuna regola fa match, si applica la policy di default della chain (ACCEPT o DROP) Andrea Grazioso Introduzione al Networking Corsi Linux / 74
102 iptables Nella tabella filter abbiamo 3 chains che si agganciano agli hooks di INPUT, FORWARD e OUTPUT Ogni regola è costituta da due parti principali Match: È la parte della regola che specifica quali sono le caratteristiche del pacchetto che cerchiamo Target: È la parte della regola che specifica che operazione effettuare sul pacchetto che fa match Durante il percorso del pacchetto, quando si arriva nella chain della tabella, si analizzano una per una le regole presenti dalla prima all ultima. Se nessuna regola fa match, si applica la policy di default della chain (ACCEPT o DROP) Andrea Grazioso Introduzione al Networking Corsi Linux / 74
103 iptables Nella tabella filter abbiamo 3 chains che si agganciano agli hooks di INPUT, FORWARD e OUTPUT Ogni regola è costituta da due parti principali Match: È la parte della regola che specifica quali sono le caratteristiche del pacchetto che cerchiamo Target: È la parte della regola che specifica che operazione effettuare sul pacchetto che fa match Durante il percorso del pacchetto, quando si arriva nella chain della tabella, si analizzano una per una le regole presenti dalla prima all ultima. Se nessuna regola fa match, si applica la policy di default della chain (ACCEPT o DROP) Andrea Grazioso Introduzione al Networking Corsi Linux / 74
104 iptables Nella tabella filter abbiamo 3 chains che si agganciano agli hooks di INPUT, FORWARD e OUTPUT Ogni regola è costituta da due parti principali Match: È la parte della regola che specifica quali sono le caratteristiche del pacchetto che cerchiamo Target: È la parte della regola che specifica che operazione effettuare sul pacchetto che fa match Durante il percorso del pacchetto, quando si arriva nella chain della tabella, si analizzano una per una le regole presenti dalla prima all ultima. Se nessuna regola fa match, si applica la policy di default della chain (ACCEPT o DROP) Andrea Grazioso Introduzione al Networking Corsi Linux / 74
105 iptables: sintassi iptables -A [CHAIN] [condizioni di match] -j [target] iptables -D [CHAIN] [condizioni di match] -j [target] iptables -I [CHAIN] [condizioni di match] -j [target] iptables -P [CHAIN] [ACCEPT DROP] Policy di default della chain iptables -F [CHAIN] Per fare un flush delle regole nella chain (senza cambiare la policy di default) Andrea Grazioso Introduzione al Networking Corsi Linux / 74
106 iptables: sintassi iptables -A [CHAIN] [condizioni di match] -j [target] iptables -D [CHAIN] [condizioni di match] -j [target] iptables -I [CHAIN] [condizioni di match] -j [target] iptables -P [CHAIN] [ACCEPT DROP] Policy di default della chain iptables -F [CHAIN] Per fare un flush delle regole nella chain (senza cambiare la policy di default) Andrea Grazioso Introduzione al Networking Corsi Linux / 74
107 iptables: sintassi iptables -A [CHAIN] [condizioni di match] -j [target] iptables -D [CHAIN] [condizioni di match] -j [target] iptables -I [CHAIN] [condizioni di match] -j [target] iptables -P [CHAIN] [ACCEPT DROP] Policy di default della chain iptables -F [CHAIN] Per fare un flush delle regole nella chain (senza cambiare la policy di default) Andrea Grazioso Introduzione al Networking Corsi Linux / 74
108 iptables: target I possibili target sono: ACCEPT/DROP REJECT: il pacchetto viene scartato, ma in aggiunta si genera una notifica per il mittente LOG: Viene segnalato il match della regola nel file di log del kernel MIRROR: Scambia sorgente con destinazione e manda immediatamente il pacchetto senza passare per le altre regole RATEEST: il pacchetto passa nel sistema e inoltre viene tracciato secondo parametri statistici Andrea Grazioso Introduzione al Networking Corsi Linux / 74
109 iptables: target I possibili target sono: ACCEPT/DROP REJECT: il pacchetto viene scartato, ma in aggiunta si genera una notifica per il mittente LOG: Viene segnalato il match della regola nel file di log del kernel MIRROR: Scambia sorgente con destinazione e manda immediatamente il pacchetto senza passare per le altre regole RATEEST: il pacchetto passa nel sistema e inoltre viene tracciato secondo parametri statistici Andrea Grazioso Introduzione al Networking Corsi Linux / 74
110 iptables: target I possibili target sono: ACCEPT/DROP REJECT: il pacchetto viene scartato, ma in aggiunta si genera una notifica per il mittente LOG: Viene segnalato il match della regola nel file di log del kernel MIRROR: Scambia sorgente con destinazione e manda immediatamente il pacchetto senza passare per le altre regole RATEEST: il pacchetto passa nel sistema e inoltre viene tracciato secondo parametri statistici Andrea Grazioso Introduzione al Networking Corsi Linux / 74
111 iptables: target I possibili target sono: ACCEPT/DROP REJECT: il pacchetto viene scartato, ma in aggiunta si genera una notifica per il mittente LOG: Viene segnalato il match della regola nel file di log del kernel MIRROR: Scambia sorgente con destinazione e manda immediatamente il pacchetto senza passare per le altre regole RATEEST: il pacchetto passa nel sistema e inoltre viene tracciato secondo parametri statistici Andrea Grazioso Introduzione al Networking Corsi Linux / 74
112 iptables: target I possibili target sono: ACCEPT/DROP REJECT: il pacchetto viene scartato, ma in aggiunta si genera una notifica per il mittente LOG: Viene segnalato il match della regola nel file di log del kernel MIRROR: Scambia sorgente con destinazione e manda immediatamente il pacchetto senza passare per le altre regole RATEEST: il pacchetto passa nel sistema e inoltre viene tracciato secondo parametri statistici Andrea Grazioso Introduzione al Networking Corsi Linux / 74
113 iptables: sintassi iptables -A INPUT --source j DROP -A significa che vogliamo aggiungere questa regola in coda alle altre nella chain INPUT source indica che la regola vale solo per i pacchetti IPv4 provenienti dall indirizzo sorgente j DROP specifica che se le precedenti condizioni di match sono soddisfatte, l operazione da effettuare è un jump al target DROP, cioè scartiamo il pacchetto che non proseguirà nelle altre regole Andrea Grazioso Introduzione al Networking Corsi Linux / 74
114 iptables: sintassi iptables -A INPUT --source j DROP -A significa che vogliamo aggiungere questa regola in coda alle altre nella chain INPUT source indica che la regola vale solo per i pacchetti IPv4 provenienti dall indirizzo sorgente j DROP specifica che se le precedenti condizioni di match sono soddisfatte, l operazione da effettuare è un jump al target DROP, cioè scartiamo il pacchetto che non proseguirà nelle altre regole Andrea Grazioso Introduzione al Networking Corsi Linux / 74
115 iptables:sintassi Nel match possiamo sempre utilizzare la negazione mettendo un punto esclamativo davanti ad una delle condizioni del match iptables -A INPUT -s /24! -i eth1 -j DROP -s è come source, utilizzando la notazione VLSM /24 specifichiamo il prefisso, non l indirizzo esatto -i specifica il match sull interfaccia di arrivo del pacchetto Andrea Grazioso Introduzione al Networking Corsi Linux / 74
116 iptables:sintassi Nel match possiamo sempre utilizzare la negazione mettendo un punto esclamativo davanti ad una delle condizioni del match iptables -A INPUT -s /24! -i eth1 -j DROP -s è come source, utilizzando la notazione VLSM /24 specifichiamo il prefisso, non l indirizzo esatto -i specifica il match sull interfaccia di arrivo del pacchetto Andrea Grazioso Introduzione al Networking Corsi Linux / 74
117 iptables:sintassi Nel match possiamo sempre utilizzare la negazione mettendo un punto esclamativo davanti ad una delle condizioni del match iptables -A INPUT -s /24! -i eth1 -j DROP -s è come source, utilizzando la notazione VLSM /24 specifichiamo il prefisso, non l indirizzo esatto -i specifica il match sull interfaccia di arrivo del pacchetto Andrea Grazioso Introduzione al Networking Corsi Linux / 74
118 Cancellare una regola Possiamo riscriverla uguale mettendo -D al posto di -A Oppure possiamo elencare le regole con i numeri a fianco $ iptables -nvl --line-numbers...e cancellare in base al numero $ iptables -t [table] -D [CHAIN] [numero regola] Andrea Grazioso Introduzione al Networking Corsi Linux / 74
119 Cancellare una regola Possiamo riscriverla uguale mettendo -D al posto di -A Oppure possiamo elencare le regole con i numeri a fianco $ iptables -nvl --line-numbers...e cancellare in base al numero $ iptables -t [table] -D [CHAIN] [numero regola] Andrea Grazioso Introduzione al Networking Corsi Linux / 74
120 ACCEPT/DROP Abbiamo visto che con DROP il pacchetto viene fermato Cosa succede con ACCEPT? Il pacchetto viene accettato e passa alla chain successiva Nel caso di INPUT non c è una chain successiva, quindi viene passato al sistema operativo Però se ad esempio siamo in PREROUTING, non è detto che il pacchetto arrivi, dato che potrebbe essere bloccato in INPUT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
121 ACCEPT/DROP Abbiamo visto che con DROP il pacchetto viene fermato Cosa succede con ACCEPT? Il pacchetto viene accettato e passa alla chain successiva Nel caso di INPUT non c è una chain successiva, quindi viene passato al sistema operativo Però se ad esempio siamo in PREROUTING, non è detto che il pacchetto arrivi, dato che potrebbe essere bloccato in INPUT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
122 ACCEPT/DROP Abbiamo visto che con DROP il pacchetto viene fermato Cosa succede con ACCEPT? Il pacchetto viene accettato e passa alla chain successiva Nel caso di INPUT non c è una chain successiva, quindi viene passato al sistema operativo Però se ad esempio siamo in PREROUTING, non è detto che il pacchetto arrivi, dato che potrebbe essere bloccato in INPUT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
123 Match comuni Interfaccia di rete di input/output del pacchetto 9 -i [iface] -o [iface] Indirizzo sorgente/destinazione -s [address or network prefix] -d [address or network prefix] Protocollo di livello 4 e numeri di porta destinazione -p udp dport 53 -p tcp dport 22 9 Require Common Sense: non ha senso usare -i nella chain di OUTPUT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
124 Match comuni Interfaccia di rete di input/output del pacchetto 9 -i [iface] -o [iface] Indirizzo sorgente/destinazione -s [address or network prefix] -d [address or network prefix] Protocollo di livello 4 e numeri di porta destinazione -p udp dport 53 -p tcp dport 22 9 Require Common Sense: non ha senso usare -i nella chain di OUTPUT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
125 Match comuni Interfaccia di rete di input/output del pacchetto 9 -i [iface] -o [iface] Indirizzo sorgente/destinazione -s [address or network prefix] -d [address or network prefix] Protocollo di livello 4 e numeri di porta destinazione -p udp dport 53 -p tcp dport 22 9 Require Common Sense: non ha senso usare -i nella chain di OUTPUT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
126 Match stateful Tutti i match che abbiamo visto fino ad ora sono integrati in netfilter. Molti altri match e quelli aggiuntivi necessitano quasi sempre di -m nome_modulo_match, per dire a iptables di caricare il modulo relativo Possiamo fare match sullo stato della connessione correlata al pacchetto utilizzando il modulo di tracking delle connessioni: conntrack $ iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED - Questa regola dice se il pacchetto è parte di una connnessione stabilita (3-way handshake tcp completato, o nel caso di UDP è già passato qualcosa recentemente ) Andrea Grazioso Introduzione al Networking Corsi Linux / 74
127 Match stateful Tutti i match che abbiamo visto fino ad ora sono integrati in netfilter. Molti altri match e quelli aggiuntivi necessitano quasi sempre di -m nome_modulo_match, per dire a iptables di caricare il modulo relativo Possiamo fare match sullo stato della connessione correlata al pacchetto utilizzando il modulo di tracking delle connessioni: conntrack $ iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED - Questa regola dice se il pacchetto è parte di una connnessione stabilita (3-way handshake tcp completato, o nel caso di UDP è già passato qualcosa recentemente ) Andrea Grazioso Introduzione al Networking Corsi Linux / 74
128 REJECT or DROP? Normalmente si preferisce non inviare nessun REJECT. Con il REJECT si spreca banda e si è leggermente vulnerabili ad attacchi DoS, oltre a rendere più facile il port scanning. Andrea Grazioso Introduzione al Networking Corsi Linux / 74
129 Blacklisting o whitelisting Vogliamo fare una festa. Facciamo la lista di tutti gli invitati o la lista di tutti i non invitati? (cit.) Si fa sempre whitelisting. Se state facendo blacklisting state sbagliando qualcosa Solitamente si impostano le policy di default di INPUT e FORWARD a DROP, e poi si inseriscono una serie di regole per fare whitelisting del traffico legittimo. Di solito si lascia OUTPUT in ACCEPT, non ha molto senso bloccare anche quello che generiamo noi Andrea Grazioso Introduzione al Networking Corsi Linux / 74
130 Blacklisting o whitelisting Vogliamo fare una festa. Facciamo la lista di tutti gli invitati o la lista di tutti i non invitati? (cit.) Si fa sempre whitelisting. Se state facendo blacklisting state sbagliando qualcosa Solitamente si impostano le policy di default di INPUT e FORWARD a DROP, e poi si inseriscono una serie di regole per fare whitelisting del traffico legittimo. Di solito si lascia OUTPUT in ACCEPT, non ha molto senso bloccare anche quello che generiamo noi Andrea Grazioso Introduzione al Networking Corsi Linux / 74
131 Blacklisting o whitelisting Vogliamo fare una festa. Facciamo la lista di tutti gli invitati o la lista di tutti i non invitati? (cit.) Si fa sempre whitelisting. Se state facendo blacklisting state sbagliando qualcosa Solitamente si impostano le policy di default di INPUT e FORWARD a DROP, e poi si inseriscono una serie di regole per fare whitelisting del traffico legittimo. Di solito si lascia OUTPUT in ACCEPT, non ha molto senso bloccare anche quello che generiamo noi Andrea Grazioso Introduzione al Networking Corsi Linux / 74
132 Interfaccia di loopback L interfaccia di rete lo è quella associata all indirizzo e tutta la rete /8 Molti programmi utilizzano questo indirizzamento per comunicazioni tra processi e altro Non dobbiamo bloccare questo traffico locale $ iptables -A INPUT -i lo -j ACCEPT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
133 Interfaccia di loopback L interfaccia di rete lo è quella associata all indirizzo e tutta la rete /8 Molti programmi utilizzano questo indirizzamento per comunicazioni tra processi e altro Non dobbiamo bloccare questo traffico locale $ iptables -A INPUT -i lo -j ACCEPT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
134 Interfaccia di loopback L interfaccia di rete lo è quella associata all indirizzo e tutta la rete /8 Molti programmi utilizzano questo indirizzamento per comunicazioni tra processi e altro Non dobbiamo bloccare questo traffico locale $ iptables -A INPUT -i lo -j ACCEPT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
135 ICMP ICMP è un protocollo di servizio che si occupa di trasmettere informazioni riguardanti malfunzionamenti, informazioni di controllo o messaggi tra i vari componenti di una rete Il tipo di pacchetto ICMP più famoso è senza dubbio la echo request, che viene inviata con il comando ping e serve a sapere se un certo host è attivo (e viene utilizzato per controllare se arrivano i pacchetti o ci sono problemi sulla rete) A meno che non abbiate specifiche esigenze (ad esempio nascondere il fatto che il vostro host è acceso) è considerata pratica scorretta oltre che maleducazione ignorare i messaggi ICMP Se volete essere gentili semplicemente accettate tutto $ iptables -A INPUT -p icmp -j ACCEPT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
136 ICMP ICMP è un protocollo di servizio che si occupa di trasmettere informazioni riguardanti malfunzionamenti, informazioni di controllo o messaggi tra i vari componenti di una rete Il tipo di pacchetto ICMP più famoso è senza dubbio la echo request, che viene inviata con il comando ping e serve a sapere se un certo host è attivo (e viene utilizzato per controllare se arrivano i pacchetti o ci sono problemi sulla rete) A meno che non abbiate specifiche esigenze (ad esempio nascondere il fatto che il vostro host è acceso) è considerata pratica scorretta oltre che maleducazione ignorare i messaggi ICMP Se volete essere gentili semplicemente accettate tutto $ iptables -A INPUT -p icmp -j ACCEPT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
137 ICMP ICMP è un protocollo di servizio che si occupa di trasmettere informazioni riguardanti malfunzionamenti, informazioni di controllo o messaggi tra i vari componenti di una rete Il tipo di pacchetto ICMP più famoso è senza dubbio la echo request, che viene inviata con il comando ping e serve a sapere se un certo host è attivo (e viene utilizzato per controllare se arrivano i pacchetti o ci sono problemi sulla rete) A meno che non abbiate specifiche esigenze (ad esempio nascondere il fatto che il vostro host è acceso) è considerata pratica scorretta oltre che maleducazione ignorare i messaggi ICMP Se volete essere gentili semplicemente accettate tutto $ iptables -A INPUT -p icmp -j ACCEPT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
138 ICMP ICMP è un protocollo di servizio che si occupa di trasmettere informazioni riguardanti malfunzionamenti, informazioni di controllo o messaggi tra i vari componenti di una rete Il tipo di pacchetto ICMP più famoso è senza dubbio la echo request, che viene inviata con il comando ping e serve a sapere se un certo host è attivo (e viene utilizzato per controllare se arrivano i pacchetti o ci sono problemi sulla rete) A meno che non abbiate specifiche esigenze (ad esempio nascondere il fatto che il vostro host è acceso) è considerata pratica scorretta oltre che maleducazione ignorare i messaggi ICMP Se volete essere gentili semplicemente accettate tutto $ iptables -A INPUT -p icmp -j ACCEPT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
139 ICMP Se volete evitare di accettare propro tutto il traffico, almeno accettate i tipi di messaggio ICMP fondamentali: $ iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT $ iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT $ iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT Che corrispondono a Echo request (type 8) Destination Unreachable (type 3) Echo reply (type 0) Andrea Grazioso Introduzione al Networking Corsi Linux / 74
140 Chiudersi fuori di casa Fate molta attenzione se state configurando una macchina remota (ad esempio tramite ssh) quando impostate le policy di default! Caso tipico Questa macchina è completamente esposta all internet... beh... per prima cosa policy di default DROP! Andrea Grazioso Introduzione al Networking Corsi Linux / 74
141 Chiudersi fuori di casa Fate molta attenzione se state configurando una macchina remota (ad esempio tramite ssh) quando impostate le policy di default! Caso tipico Questa macchina è completamente esposta all internet... beh... per prima cosa policy di default DROP! Andrea Grazioso Introduzione al Networking Corsi Linux / 74
142 Chiudersi fuori di casa Fate molta attenzione se state configurando una macchina remota (ad esempio tramite ssh) quando impostate le policy di default! Caso tipico Questa macchina è completamente esposta all internet... beh... per prima cosa policy di default DROP! Andrea Grazioso Introduzione al Networking Corsi Linux / 74
143 Chiudersi fuori di casa Fate molta attenzione se state configurando una macchina remota (ad esempio tramite ssh) quando impostate le policy di default! Caso tipico Questa macchina è completamente esposta all internet... beh... per prima cosa policy di default DROP! Andrea Grazioso Introduzione al Networking Corsi Linux / 74
144 Chiudersi fuori di casa Ricordatevi sempre di impostare le policy di default come ultimo passo, dopo esservi assicurati di aver messo una regola per accettare le connessioni nuove e stabilite per la vostra shell (ssh solitamente). Andrea Grazioso Introduzione al Networking Corsi Linux / 74
145 Esempio di config essenziale iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW -j ACCEPT iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP Andrea Grazioso Introduzione al Networking Corsi Linux / 74
146 esempio di config essenziale Figura : iptablesbasicconfig Andrea Grazioso Introduzione al Networking Corsi Linux / 74
147 NAT - Network Address Translation Internet Priv: Router che Crea la NAT Pub: Host Host Può servire per mascherare vari host sotto un unico IP Quando un host, vuole connettersi ad un server esterno, invia i pacchetti al router di frontiera (gateway) che prende l indirizzo sorgente e lo sostituisce con il proprio ( ) Il router sostituisce la porta TCP sorgente con una sua porta libera e si annota questo scambio in una tabella di connessioni stabilite Quando arrivano le risposte dal server il router consulta la tabella, capisce chi è il destinatario nella rete locale e sostiuisce indirizzo e porta di destinazione. Andrea Grazioso Introduzione al Networking Corsi Linux / 74
148 NAT - Network Address Translation Internet Priv: Router che Crea la NAT Pub: Host Host Può servire per mascherare vari host sotto un unico IP Quando un host, vuole connettersi ad un server esterno, invia i pacchetti al router di frontiera (gateway) che prende l indirizzo sorgente e lo sostituisce con il proprio ( ) Il router sostituisce la porta TCP sorgente con una sua porta libera e si annota questo scambio in una tabella di connessioni stabilite Quando arrivano le risposte dal server il router consulta la tabella, capisce chi è il destinatario nella rete locale e sostiuisce indirizzo e porta di destinazione. Andrea Grazioso Introduzione al Networking Corsi Linux / 74
149 NAT - Network Address Translation Internet Priv: Router che Crea la NAT Pub: Host Host Può servire per mascherare vari host sotto un unico IP Quando un host, vuole connettersi ad un server esterno, invia i pacchetti al router di frontiera (gateway) che prende l indirizzo sorgente e lo sostituisce con il proprio ( ) Il router sostituisce la porta TCP sorgente con una sua porta libera e si annota questo scambio in una tabella di connessioni stabilite Quando arrivano le risposte dal server il router consulta la tabella, capisce chi è il destinatario nella rete locale e sostiuisce indirizzo e porta di destinazione. Andrea Grazioso Introduzione al Networking Corsi Linux / 74
150 NAT - Network Address Translation Internet Priv: Router che Crea la NAT Pub: Host Host Può servire per mascherare vari host sotto un unico IP Quando un host, vuole connettersi ad un server esterno, invia i pacchetti al router di frontiera (gateway) che prende l indirizzo sorgente e lo sostituisce con il proprio ( ) Il router sostituisce la porta TCP sorgente con una sua porta libera e si annota questo scambio in una tabella di connessioni stabilite Quando arrivano le risposte dal server il router consulta la tabella, capisce chi è il destinatario nella rete locale e sostiuisce indirizzo e porta di destinazione. Andrea Grazioso Introduzione al Networking Corsi Linux / 74
151 NAT Internet Priv: Router che Crea la NAT Pub: Host Host iptables -A FORWARD -s /24 -i eth1 -o eth0 -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -s /24 -o eth0 -j SNAT --to-source echo 1 > /proc/sys/net/ipv4/ip_forward Andrea Grazioso Introduzione al Networking Corsi Linux / 74
152 NAT Se il router ha un indirizzo IP dinamico potete utilizzare -j MASQUERADE invece di SNAT, che identifica automaticamente l indirizzo dell interfaccia utilizzata per la route di default Come facciamo se vogliamo mettere su un servizio (ad. es. un server web) sull host ? Internet Priv: Router che Crea la NAT Pub: Host Host $ iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 80 -j ACCEPT $ iptables -t nat -A PREROUTING -d i eth0 -j DNAT --to-destination 192 Andrea Grazioso Introduzione al Networking Corsi Linux / 74
153 NAT Se il router ha un indirizzo IP dinamico potete utilizzare -j MASQUERADE invece di SNAT, che identifica automaticamente l indirizzo dell interfaccia utilizzata per la route di default Come facciamo se vogliamo mettere su un servizio (ad. es. un server web) sull host ? Internet Priv: Router che Crea la NAT Pub: Host Host $ iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 80 -j ACCEPT $ iptables -t nat -A PREROUTING -d i eth0 -j DNAT --to-destination 192 Andrea Grazioso Introduzione al Networking Corsi Linux / 74
154 NAT Se il router ha un indirizzo IP dinamico potete utilizzare -j MASQUERADE invece di SNAT, che identifica automaticamente l indirizzo dell interfaccia utilizzata per la route di default Come facciamo se vogliamo mettere su un servizio (ad. es. un server web) sull host ? Internet Priv: Router che Crea la NAT Pub: Host Host $ iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 80 -j ACCEPT $ iptables -t nat -A PREROUTING -d i eth0 -j DNAT --to-destination 192 Andrea Grazioso Introduzione al Networking Corsi Linux / 74
155 NAT Se il router ha un indirizzo IP dinamico potete utilizzare -j MASQUERADE invece di SNAT, che identifica automaticamente l indirizzo dell interfaccia utilizzata per la route di default Come facciamo se vogliamo mettere su un servizio (ad. es. un server web) sull host ? Internet Priv: Router che Crea la NAT Pub: Host Host $ iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 80 -j ACCEPT $ iptables -t nat -A PREROUTING -d i eth0 -j DNAT --to-destination 192 Andrea Grazioso Introduzione al Networking Corsi Linux / 74
156 Rendere le regole persistenti Problema: al riavvio il sistema operativo cancella tutte le regole e ripristina tutte le chain vuote iptables-save e iptables-restore fanno al caso nostro iptables-save > /etc/firewall_rules iptables-restore < /etc/firewall_rules Possiamo aggiungere in /etc/rc.local o altri script di startup a seconda della distro Andrea Grazioso Introduzione al Networking Corsi Linux / 74
157 Rendere le regole persistenti Problema: al riavvio il sistema operativo cancella tutte le regole e ripristina tutte le chain vuote iptables-save e iptables-restore fanno al caso nostro iptables-save > /etc/firewall_rules iptables-restore < /etc/firewall_rules Possiamo aggiungere in /etc/rc.local o altri script di startup a seconda della distro Andrea Grazioso Introduzione al Networking Corsi Linux / 74
158 NAT: un abominio La NAT sarà tanto bella e comoda ma è un workaround (temporaneo fino ad IPv6). Quando è possibile non andrebbe usata. Specialmente bisognerebbe evitare di fare doppie NAT o altre cose simili. NAT viola il modello gerarchico di IP I processi su Internet non sono obbligati ad utilizzare TCP e UDP (vedi SCTP - RFC 2960) Il numero di connessioni contemporanee diminuisce a causa del numero limitato di numeri di porte NAPT trasforma Internet da una rete ad assenza di connessione La NAT da sola non è un meccanismo firewalling. Le caratteristiche stateful del firewall che implementa la NAT proteggono, non la NAT stessa Approfondimenti su Andrea Grazioso Introduzione al Networking Corsi Linux / 74
159 NAT: un abominio La NAT sarà tanto bella e comoda ma è un workaround (temporaneo fino ad IPv6). Quando è possibile non andrebbe usata. Specialmente bisognerebbe evitare di fare doppie NAT o altre cose simili. NAT viola il modello gerarchico di IP I processi su Internet non sono obbligati ad utilizzare TCP e UDP (vedi SCTP - RFC 2960) Il numero di connessioni contemporanee diminuisce a causa del numero limitato di numeri di porte NAPT trasforma Internet da una rete ad assenza di connessione La NAT da sola non è un meccanismo firewalling. Le caratteristiche stateful del firewall che implementa la NAT proteggono, non la NAT stessa Approfondimenti su Andrea Grazioso Introduzione al Networking Corsi Linux / 74
160 NAT: un abominio La NAT sarà tanto bella e comoda ma è un workaround (temporaneo fino ad IPv6). Quando è possibile non andrebbe usata. Specialmente bisognerebbe evitare di fare doppie NAT o altre cose simili. NAT viola il modello gerarchico di IP I processi su Internet non sono obbligati ad utilizzare TCP e UDP (vedi SCTP - RFC 2960) Il numero di connessioni contemporanee diminuisce a causa del numero limitato di numeri di porte NAPT trasforma Internet da una rete ad assenza di connessione La NAT da sola non è un meccanismo firewalling. Le caratteristiche stateful del firewall che implementa la NAT proteggono, non la NAT stessa Approfondimenti su Andrea Grazioso Introduzione al Networking Corsi Linux / 74
161 NAT: un abominio La NAT sarà tanto bella e comoda ma è un workaround (temporaneo fino ad IPv6). Quando è possibile non andrebbe usata. Specialmente bisognerebbe evitare di fare doppie NAT o altre cose simili. NAT viola il modello gerarchico di IP I processi su Internet non sono obbligati ad utilizzare TCP e UDP (vedi SCTP - RFC 2960) Il numero di connessioni contemporanee diminuisce a causa del numero limitato di numeri di porte NAPT trasforma Internet da una rete ad assenza di connessione La NAT da sola non è un meccanismo firewalling. Le caratteristiche stateful del firewall che implementa la NAT proteggono, non la NAT stessa Approfondimenti su Andrea Grazioso Introduzione al Networking Corsi Linux / 74
162 NAT: un abominio La NAT sarà tanto bella e comoda ma è un workaround (temporaneo fino ad IPv6). Quando è possibile non andrebbe usata. Specialmente bisognerebbe evitare di fare doppie NAT o altre cose simili. NAT viola il modello gerarchico di IP I processi su Internet non sono obbligati ad utilizzare TCP e UDP (vedi SCTP - RFC 2960) Il numero di connessioni contemporanee diminuisce a causa del numero limitato di numeri di porte NAPT trasforma Internet da una rete ad assenza di connessione La NAT da sola non è un meccanismo firewalling. Le caratteristiche stateful del firewall che implementa la NAT proteggono, non la NAT stessa Approfondimenti su Andrea Grazioso Introduzione al Networking Corsi Linux / 74
163 IPv6 GNU/Linux ha il supporto per Ipv6 fin dai primi standard Le assegnazioni di blocchi IPv4 da parte della IANA sono state esaurite nel 2011 In tutti i grandi datacenter internazionali IPv6 è già attivo e utilizzato In netfilter ipv6 è già supportato Per chiarezza, il tool userspace per gestire le regole relative al traffico IPv6 è chiamato ip6tables Funziona esattamente allo stesso modo di iptables normale. La principale differenza è che non esiste la NAT Alcune funzionalità di ICMPv6 sono obbligatorie (Neighbor Discovery Protocol, type 135 e 136) e se le bloccate avrete problemi di connessione ip6tables -A INPUT -p ipv6-icmp -j ACCEPT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
164 IPv6 GNU/Linux ha il supporto per Ipv6 fin dai primi standard Le assegnazioni di blocchi IPv4 da parte della IANA sono state esaurite nel 2011 In tutti i grandi datacenter internazionali IPv6 è già attivo e utilizzato In netfilter ipv6 è già supportato Per chiarezza, il tool userspace per gestire le regole relative al traffico IPv6 è chiamato ip6tables Funziona esattamente allo stesso modo di iptables normale. La principale differenza è che non esiste la NAT Alcune funzionalità di ICMPv6 sono obbligatorie (Neighbor Discovery Protocol, type 135 e 136) e se le bloccate avrete problemi di connessione ip6tables -A INPUT -p ipv6-icmp -j ACCEPT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
165 IPv6 GNU/Linux ha il supporto per Ipv6 fin dai primi standard Le assegnazioni di blocchi IPv4 da parte della IANA sono state esaurite nel 2011 In tutti i grandi datacenter internazionali IPv6 è già attivo e utilizzato In netfilter ipv6 è già supportato Per chiarezza, il tool userspace per gestire le regole relative al traffico IPv6 è chiamato ip6tables Funziona esattamente allo stesso modo di iptables normale. La principale differenza è che non esiste la NAT Alcune funzionalità di ICMPv6 sono obbligatorie (Neighbor Discovery Protocol, type 135 e 136) e se le bloccate avrete problemi di connessione ip6tables -A INPUT -p ipv6-icmp -j ACCEPT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
166 IPv6 GNU/Linux ha il supporto per Ipv6 fin dai primi standard Le assegnazioni di blocchi IPv4 da parte della IANA sono state esaurite nel 2011 In tutti i grandi datacenter internazionali IPv6 è già attivo e utilizzato In netfilter ipv6 è già supportato Per chiarezza, il tool userspace per gestire le regole relative al traffico IPv6 è chiamato ip6tables Funziona esattamente allo stesso modo di iptables normale. La principale differenza è che non esiste la NAT Alcune funzionalità di ICMPv6 sono obbligatorie (Neighbor Discovery Protocol, type 135 e 136) e se le bloccate avrete problemi di connessione ip6tables -A INPUT -p ipv6-icmp -j ACCEPT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
167 IPv6 GNU/Linux ha il supporto per Ipv6 fin dai primi standard Le assegnazioni di blocchi IPv4 da parte della IANA sono state esaurite nel 2011 In tutti i grandi datacenter internazionali IPv6 è già attivo e utilizzato In netfilter ipv6 è già supportato Per chiarezza, il tool userspace per gestire le regole relative al traffico IPv6 è chiamato ip6tables Funziona esattamente allo stesso modo di iptables normale. La principale differenza è che non esiste la NAT Alcune funzionalità di ICMPv6 sono obbligatorie (Neighbor Discovery Protocol, type 135 e 136) e se le bloccate avrete problemi di connessione ip6tables -A INPUT -p ipv6-icmp -j ACCEPT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
168 IPv6 GNU/Linux ha il supporto per Ipv6 fin dai primi standard Le assegnazioni di blocchi IPv4 da parte della IANA sono state esaurite nel 2011 In tutti i grandi datacenter internazionali IPv6 è già attivo e utilizzato In netfilter ipv6 è già supportato Per chiarezza, il tool userspace per gestire le regole relative al traffico IPv6 è chiamato ip6tables Funziona esattamente allo stesso modo di iptables normale. La principale differenza è che non esiste la NAT Alcune funzionalità di ICMPv6 sono obbligatorie (Neighbor Discovery Protocol, type 135 e 136) e se le bloccate avrete problemi di connessione ip6tables -A INPUT -p ipv6-icmp -j ACCEPT Andrea Grazioso Introduzione al Networking Corsi Linux / 74
169 Fonti Linux Administration Handbook Manpages AMD64/Installation/Networking http: // Slides su firewalling su poul.org presentazione_netfilter.pdf https: // https: // Andrea Grazioso Introduzione al Networking Corsi Linux / 74
170 Fine Grazie per l attenzione! Queste slides sono licenziate Creative Commons Attribution-ShareAlike Andrea Grazioso Introduzione al Networking Corsi Linux / 74
Networking e firewalling su GNU/Linux
Networking e firewalling su GNU/Linux Daniele Iamartino otacon22 - at - poul.org Corsi GNU/Linux avanzati 2014 - Amministrazione di sistema Networking e Firewalling su GNU/Linux Corsi GNU/Linux avanzati
Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall
Firewall e NAT A.A. 2005/2006 Walter Cerroni Protezione di host: personal firewall Un firewall è un filtro software che serve a proteggersi da accessi indesiderati provenienti dall esterno della rete Può
Introduzione al Networking
Introduzione al Networking Guida introduttiva alla configurazione di rete e al firewalling in ambiente GNU/Linux Andrea Grazioso [email protected] Corsi GNU/Linux avanzati 2015 - Amministrazione di
Informazioni Generali (1/2)
Prima Esercitazione Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail [email protected] specificare come oggetto Reti Informatiche 2 Informazioni Generali (2/2)
Tre catene (chains) di base, si possono definire altre catene (convenzionalmente in minuscolo)
iptables passo-passo Prima del kernel 2.0 ipfwadm, dal kernel 2.2 ipchains, dopo il kernel 2.4 iptables Firewall (packet filtering, Nat (Network Address Translation)) NetFilter (layer del kernel per il
Packet Filter in LINUX (iptables)
Packet Filter in LINUX (iptables) Laboratorio di Reti Ing. Telematica - Università Kore Enna A.A. 2008/2009 Ing. A. Leonardi Firewall Può essere un software che protegge il pc da attacchi esterni Host
Iptables. Mauro Piccolo [email protected]
Iptables Mauro Piccolo [email protected] Iptables Iptables e' utilizzato per compilare, mantenere ed ispezionare le tabelle di instradamento nel kernel di Linux La configurazione di iptables e' molto
Sicurezza nelle reti
Sicurezza nelle reti Manipolazione indirizzi IP 1 Concetti Reti Rete IP definita dalla maschera di rete Non necessariamente concetto geografico Non è detto che macchine della stessa rete siano vicine 2
INTRODUZIONE ALLE RETI: UN APPROCCIO PRATICO
INTRODUZIONE ALLE RETI: UN APPROCCIO PRATICO [email protected] Fabian Chatwin Cedrati Ogni scheda di rete ha un indirizzo MAC univoco L'indirizzo IP invece viene impostato dal Sistema Operativo HUB 00:50:DA:7D:5E:32
Esercitazione 7 Sommario Firewall introduzione e classificazione Firewall a filtraggio di pacchetti Regole Ordine delle regole iptables 2 Introduzione ai firewall Problema: sicurezza di una rete Necessità
Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli)
Sommario Esercitazione 05 Angelo Di Iorio (Paolo Marinelli)! Packet Filtering ICMP! Descrizione esercitazione! Applicazioni utili: " Firewall: wipfw - netfilter " Packet sniffer: wireshark!"#!$#!%&'$(%)*+,')#$-!"#!$#!%&'$(%)*+,')#$-
Reti di Calcolatori 18-06-2013
1. Applicazioni di rete [3 pts] Si descrivano, relativamente al sistema DNS: Compito di Reti di Calcolatori 18-06-2013 a) i motivi per i quali viene usato; b) l architettura generale; c) le modalità di
Esercitazione 5 Firewall
Sommario Esercitazione 5 Firewall Laboratorio di Sicurezza 2015/2016 Andrea Nuzzolese Packet Filtering ICMP Descrizione esercitazione Applicazioni da usare: Firewall: netfilter Packet sniffer: wireshark
WAN 80.80.80.80 / 24. L obiettivo è quello di mappare due server web interni (porta 80) associandoli agli indirizzi IP Pubblici forniti dall ISP.
Configurazione di indirizzi IP statici multipli Per mappare gli indirizzi IP pubblici, associandoli a Server interni, è possibile sfruttare due differenti metodi: 1. uso della funzione di Address Translation
Corso GNU/Linux - Lezione 5. Davide Giunchi - [email protected]
Corso GNU/Linux - Lezione 5 Davide Giunchi - [email protected] Reti - Protocollo TCP/IP I pacchetti di dati vengono trasmessi e ricevuti in base a delle regole definite da un protocollo di comunicazione.
Reti. Reti. IPv4: concetti fondamentali. arp (address resolution protocol) Architettura a livelli (modello OSI)
Reti Architettura a livelli (modello OSI) Prevede sette livelli: applicazione, presentazione, sessione, trasporto, rete, collegamento dei dati (datalink), fisico. TCP/IP: si può analizzare in maniera analoga
Corso avanzato di Reti e sicurezza informatica
Corso avanzato di Reti e sicurezza informatica http://www.glugto.org/ GNU/Linux User Group Torino Rilasciato sotto licenza CC-by-nc-sa. 1 DISCLAIMER L'insegnante e l'intera associazione GlugTo non si assumono
Firewall e Abilitazioni porte (Port Forwarding)
Firewall e Abilitazioni porte (Port Forwarding) 1 Introduzione In questa mini-guida mostreremo come creare le regole sul Firewall integrato del FRITZ!Box per consentire l accesso da Internet a dispositivi
Sommario. Configurazione della rete con DHCP. Funzionamento Configurazione lato server Configurazione lato client
Seconda esercitazione Sommario Configurazione della rete con DHCP Funzionamento Configurazione lato server Configurazione lato client 2 Sommario Test di connettività ping traceroute Test del DNS nslookup
Reti e Linux. Andrea Bontempi. Corsi Linux 2012. POuL
POuL Corsi Linux 2012 Una breve introduzione: le reti Una rete di calcolatori è un mezzo fisico sul quale è possibile inviare e ricevere messaggi o flussi di dati. La prima rete a commutazione di pacchetto
Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori a.a. 2009/10
Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori a.a. 2009/10 Roberto Canonico ([email protected]) Antonio Pescapè ([email protected]) ICMP ARP RARP DHCP - NAT ICMP (Internet
Inizializzazione degli Host. BOOTP e DHCP
BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta [email protected] http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un
Reti di Telecomunicazione Lezione 6
Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica [email protected] Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server
Internet. Introduzione alle comunicazioni tra computer
Internet Introduzione alle comunicazioni tra computer Attenzione! Quella che segue è un introduzione estremamente generica che ha il solo scopo di dare un idea sommaria di alcuni concetti alla base di
ARP e instradamento IP
ARP e instradamento IP A.A. 2003/2004 Walter Cerroni Relazione Indirizzi Fisici Indirizzi IP Software di basso livello nasconde gli indirizzi fisici e consente ai livelli superiori di lavorare solo con
INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.
Laurea in INFORMATICA INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 Dynamic Host Configuration Protocol [email protected] Prima di iniziare... Gli indirizzi IP privati possono essere
Crittografia e sicurezza delle reti. Firewall
Crittografia e sicurezza delle reti Firewall Cosa è un Firewall Un punto di controllo e monitoraggio Collega reti con diversi criteri di affidabilità e delimita la rete da difendere Impone limitazioni
Corso di recupero di sistemi Lezione 8
Corso di recupero di sistemi Lezione 8 a.s. 2011/2012 - Prof. Fabio Ciao 24 aprile 2012 Reti TCP/IP Una rete TCP/IP è una rete locale o geografica che utilizza protocolli TCP/IP con i primi 2 livelli una
Lezione n.9 LPR- Informatica Applicata
Lezione n.9 LPR- Informatica Applicata LINUX Gestione della Rete 3/4/2006 Laura Ricci Laura Ricci 1 INDIRIZZI RISERVATI Alcuni indirizzi all interno di una rete sono riservati: indirizzo di rete e broadcast.
Gestione degli indirizzi
Politecnico di Milano Facoltà di Ingegneria dell Informazione Gestione degli indirizzi -Address Resolution Protocol (ARP) -Reverse Address Resolution Protocol (RARP) -Dynamic Host Configuration Protocol
Sicurezza nelle applicazioni multimediali: lezione 9, firewall. I firewall
I firewall Perché i firewall sono necessari Le reti odierne hanno topologie complesse LAN (local area networks) WAN (wide area networks) Accesso a Internet Le politiche di accesso cambiano a seconda della
Filtraggio del traffico IP in linux
Filtraggio del traffico IP in linux Laboratorio di Amministrazione di Sistemi L-A Dagli appunti originali di Fabio Bucciarelli - DEIS Cos è un firewall? E un dispositivo hardware o software, che permette
Dal protocollo IP ai livelli superiori
Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono
INFOCOM Dept. Antonio Cianfrani. Virtual LAN (VLAN)
Antonio Cianfrani Virtual LAN (VLAN) Richiami sullo standard Ethernet Lo standard Ethernet (IEEE 802.3) è utilizzato per le Local Area Network (LAN): livello 2 della pila protocollare. Consente l utilizzo
Instradamento IP A.A. 2005/2006. Walter Cerroni. IP: instradamento dei datagrammi. Routing : scelta del percorso su cui inviare i dati
Instradamento IP A.A. 2005/2006 Walter Cerroni IP: instradamento dei datagrammi Routing : scelta del percorso su cui inviare i dati i router formano una struttura interconnessa e cooperante: i datagrammi
Vlan Relazione di Sistemi e Reti Cenni teorici
Cosa sono le Vlan? Vlan Relazione di Sistemi e Reti Cenni teorici Le Vlan sono un tipo di rete particolare che permettono di creare tante reti logiche a partire da una singola rete fisica. Questo significa
Linux Network Testing
Introduzione agli strumenti per il testing di rete su Linux 6, 13 Novembre 2007 Sommario 1 Introduzione Panoramica sugli strumenti di misura 2 I tool di base per l amministrazione di rete Configurare le
Gestione degli indirizzi
Politecnico di Milano Advanced Network Technologies Laboratory Gestione degli indirizzi - Address Resolution Protocol (ARP) - Reverse Address Resolution Protocol (RARP) - Dynamic Host Configuration Protocol
ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.
ICMP Application Presentation Session Transport Telnet FTP SMTP SNMP TCP e UDP NFS XDR RPC Network Data Link Physical OSI ICMP ARP e RARP IP Non Specificati Protocolli di routing Internet Protocol Suite
Guida all impostazione. Eureka Web
Eureka Web Guida all impostazione Maggio 2015 1 IMPOSTAZIONE EUREKA WEB Accedere con un browser all EurekaWeb, per default l indirizzo ip è 192.168.25.101, utente : master password : master. Ad accesso
CONNESSIONE DI UN PC ALLA RETE INTERNET
CONNESSIONE DI UN PC ALLA RETE INTERNET Walter Cerroni [email protected] http://deisnet.deis.unibo.it/didattica/master Internetworking Internet è una rete di calcolatori nata con l obiettivo di realizzare
La VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I
La VPN con il FRITZ!Box Parte I 1 Introduzione In questa mini-guida illustreremo come realizzare un collegamento tramite VPN(Virtual Private Network) tra due FRITZ!Box, in modo da mettere in comunicazioni
Laboratorio di Reti Esercitazione N 2-DNS Gruppo 9. Laboratorio di Reti Relazione N 2. Mattia Vettorato Alberto Mesin
Laboratorio di Reti Relazione N 2 Gruppo N 9 Mattia Vettorato Alberto Mesin Scopo dell'esercitazione Configurare un Name Server per un dominio, in particolare il nostro dominio sarà gruppo9.labreti.it.
Firewall: concetti di base
: concetti di base Alberto Ferrante OSLab & ALaRI, Facoltà d informatica, USI [email protected] 4 giugno 2009 A. Ferrante : concetti di base 1 / 21 Sommario A. Ferrante : concetti di base 2 / 21 A. Ferrante
Gate Manager. Come accedere alla rete di automazione da un PC (Rete cliente) COME ACCEDERE ALLA RETE DI AUTOMAZIONE DA UN PC (RETE CLIENTE)...
Come accedere alla rete di automazione da un PC (Rete cliente) COME ACCEDERE ALLA RETE DI AUTOMAZIONE DA UN PC (RETE CLIENTE)...1 1 INDICE...ERROR! BOOKMARK NOT DEFINED. 2 INTRODUZIONE...2 3 COSA VI SERVE
UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing
a.a. 2002/03 Livello di Trasporto UDP Descrive la comunicazione tra due dispositivi Fornisce un meccanismo per il trasferimento di dati tra sistemi terminali (end user) Prof. Vincenzo Auletta [email protected]
Internetworking TCP/IP: esercizi
Politecnico di Milano Facoltà di Ingegneria dell Informazione Fondamenti di Reti di Telecomunicazione prof. A. Capone Internetworking TCP/IP: esercizi 1 Esercizio 7.1 Si consideri la rete in figura dove
Lezione 1 Connessione ad una rete
Lezione 1 Connessione ad una rete Sistemi Operativi RedHat Enterprise Linux 4.0 Sun Solaris 10 x86 Windows 2003 Server Salvataggio/ripristino via rete con ghost4unix* uploaddisk [email protected]
Corsi di Formazione Open Source & Scuola Provincia di Pescara gennaio 2005 aprile 2005. http://happytux.altervista.org ~ anna.1704@email.
Corsi di Formazione Open Source & Scuola Provincia di Pescara gennaio 2005 aprile 2005 LINUX LINUX CON RETI E TCP/IP http://happytux.altervista.org ~ [email protected] 1 LAN con router adsl http://happytux.altervista.org
La sicurezza delle reti
La sicurezza delle reti Inserimento dati falsi Cancellazione di dati Letture non autorizzate A quale livello di rete è meglio realizzare la sicurezza? Applicazione TCP IP Data Link Physical firewall? IPSEC?
Interconnessione di reti
Interconnessione di reti Collegamenti tra reti eterogenee Instradamento (routing) e inoltro (forwarding) IPv4 - indirizzi IP e MAC - sottoreti IPv6 - evoluzione di Internet DNS - Domain Name System Conclusioni
Transparent Firewall
Transparent Firewall Dallavalle A. Dallavalle F. Sozzi 18 Febbraio 2006 In un sistema operativo Linux con un kernel aggiornato alla versione 2.6.x è possibile realizzare un transparent firewall utilizzando
ARP (Address Resolution Protocol)
ARP (Address Resolution Protocol) Il routing Indirizzo IP della stazione mittente conosce: - il proprio indirizzo (IP e MAC) - la netmask (cioè la subnet) - l indirizzo IP del default gateway, il router
Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 3 a lezione a.a. 2009/2010 Francesco Fontanella
Corso di Sistemi di Elaborazione delle informazioni Reti di calcolatori 3 a lezione Francesco Fontanella Il pacchetto IP Il preambolo (header) IP è fatto in questo modo: Gli Indirizzi IP Ogni host e router
www.lug-govonis.net LINUX e le reti
LINUX e le reti Ci troviamo di fronte ad una rete quando 2 o più computer sono in grado di comunicare tra di loro; esistono molti tipi di connessioni di rete divisi per protocollo di trasporto e per tipo
Il firewall ipfw. Introduzione ai firewall. Problema: sicurezza di una rete. Definizione di firewall. Introduzione ai firewall
Il firewall ipfw Introduzione ai firewall classificazione Firewall a filtraggio dei pacchetti informazioni associate alle regole interpretazione delle regole ipfw configurazione impostazione delle regole
ATTIVAZIONE SCHEDE ETHERNET PER STAMPANTI SATO SERIE ENHANCED
ATTIVAZIONE SCHEDE ETHERNET PER STAMPANTI SATO SERIE ENHANCED Il collegamento normale delle schede Ethernet è eseguito installando la scheda e collegando la macchina al sistema. Di norma una rete Ethernet
Setup dell ambiente virtuale
Setup dell ambiente virtuale 1.1 L immagine per le macchine virtuali Il file mininet-vm-x86 64.qcow è l immagine di una memoria di massa su cui è installato un sistema Linux 3.13 Ubuntu 14.04.1 LTS SMP
COMPLESSO SCOLASTICO INTERNAZIONALE GIOVANNI PAOLO II. Pianificazione di reti IP (subnetting)
Pianificazione di reti IP (subnetting) Avendo una rete complessa possiamo dividerla in sottoreti logiche, collegandole con dei router. Questa operazione di segmentazione prende il nome di subnetting, ed
INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP
INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP Un indirizzo IP è composto da 32 bit. Generalmente, per convenienza, è presentato in decimale: 4 ottetti (bytes) separati da un punto. Ogni rete fisica
Laboratorio di. Reti Informatiche. Corso di Laurea Triennale in Ingegneria Informatica A.A. 2016/2017. Ing. Niccolò Iardella
Laboratorio di Reti Informatiche Corso di Laurea Triennale in Ingegneria Informatica A.A. 2016/2017 Ing. Niccolò Iardella [email protected] 1 Esercitazione 3 Configurazione di DHCP e test di connettività
Reti di Calcolatori. Il software
Reti di Calcolatori Il software Lo Stack Protocollare Application: supporta le applicazioni che usano la rete; Transport: trasferimento dati tra host; Network: instradamento (routing) di datagram dalla
Cos'è una vlan. Da Wikipedia: Una LAN virtuale, comunemente
Cos'è una vlan Da Wikipedia: Una LAN virtuale, comunemente detta VLAN, è un gruppo di host che comunicano tra di loro come se fossero collegati allo stesso cablaggio, a prescindere dalla loro posizione
Configurazione Rete in LINUX
Configurazione Rete in LINUX Laboratorio di Reti Ing. Telematica - Università Kore Enna A.A. 2008/2009 Ing. A. Leonardi TCP/IP Il trasferimento dati con il protocollo TCP/IP si basa fondamentalmente su
Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).
Topologia delle reti Una RETE DI COMPUTER è costituita da un insieme di elaboratori (NODI) interconnessi tra loro tramite cavi (o sostituti dei cavi come le connessioni wireless). Rete Point-to-Point:
Dipartimento di Scienze Applicate
DIPARTIMENTO DI SCIENZE APPLICATE Università degli Studi di Napoli Parthenope Centro Direzionale di Napoli Isola C4 80143 Napoli [email protected] P. IVA 01877320638 Dipartimento di Scienze Applicate.
Corso GNU/Linux Avanzato Uso e configurazione di un firewall usando iptables
Corso GNU/Linux Avanzato Uso e configurazione di un firewall usando iptables Marco Papa ([email protected]) NetStudent Politecnico di Torino 04 Giugno 2009 Marco (NetStudent) Firewalling in GNU/Linux
FIREWALL. Firewall - modello OSI e TCP/IP. Gianluigi Me. [email protected] Anno Accademico 2005/06. Modello OSI. Modello TCP/IP. Application Gateway
FIREWALL [email protected] Anno Accademico 2005/06 Firewall - modello OSI e TCP/IP Modello TCP/IP Applicazione TELNET FTP DNS PING NFS RealAudio RealVideo RTCP Modello OSI Applicazione Presentazione
4-441-095-52 (1) Network Camera
4-441-095-52 (1) Network Camera Guida SNC easy IP setup Versione software 1.0 Prima di utilizzare l apparecchio, leggere attentamente le istruzioni e conservarle come riferimento futuro. 2012 Sony Corporation
Reti di Telecomunicazione Lezione 8
Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica [email protected] Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato
Introduzione allo sniffing
Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2007/2008 Introduzione allo sniffing Roberto Paleari 2-4 Settembre 2008 Roberto Paleari Introduzione
Laboratorio di. Reti Informatiche. Corso di Laurea Triennale in Ingegneria Informatica A.A. 2017/2018. Ing. Carlo Vallati
Laboratorio di Reti Informatiche Corso di Laurea Triennale in Ingegneria Informatica A.A. 2017/2018 Ing. Carlo Vallati [email protected] 1 Esercitazione 2 Configurazione di interfacce di rete, gateway
Progettare un Firewall
Progettare un Firewall Danilo Demarchi [email protected] GLUG Cuneo Corso Sicurezza 2006 Concetti introduttivi Come pensare un Firewall Argomenti trattati I Gli strumenti del Firewall Gli strumenti
Interfaccia KNX/IP Wireless GW 90839. Manuale Tecnico
Interfaccia KNX/IP Wireless GW 90839 Manuale Tecnico Sommario 1 Introduzione... 3 2 Applicazione... 4 3 Menù Impostazioni generali... 5 3.1 Parametri... 5 4 Menù Protezione WLAN... 6 4.1 Parametri... 6
Linux User Group Cremona CORSO RETI
Linux User Group Cremona CORSO RETI Cos'è una rete informatica Una rete di calcolatori, in informatica e telecomunicazioni, è un sistema o un particolare tipo di rete di telecomunicazioni che permette
Protocollo ICMP, comandi ping e traceroute
Protocollo ICMP, comandi ping e traceroute Internet Control Message Protocol Internet Control Message Protocol (ICMP): usato dagli host, router e gateway per comunicare informazioni riguardanti il livello
esercizi su sicurezza delle reti 2006-2008 maurizio pizzonia sicurezza dei sistemi informatici e delle reti
esercizi su sicurezza delle reti 20062008 maurizio pizzonia sicurezza dei sistemi informatici e delle reti 1 supponi i fw siano linux con iptables dai una matrice di accesso che esprima la policy qui descritta
Access Control List (I parte)
- Laboratorio di Servizi di Telecomunicazioni Access Control List (I parte) Indice Cosa sono le ACL? Interfacce Inbound & Outbound Wildcard mask Configurare una ACL standard ACL extended Named ACL Posizionamento
Protocolli di Comunicazione
Protocolli di Comunicazione La rete Internet si è sviluppata al di fuori dal modello ISO-OSI e presenta una struttura solo parzialmente aderente al modello OSI. L'architettura di rete Internet Protocol
MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected]
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected] POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
P2-11: BOOTP e DHCP (Capitolo 23)
Autunno 2002 Prof. Roberto De Prisco -11: BOOTP e DHCP (Capitolo 23) Università degli studi di Salerno Laurea e Diploma in Informatica Indirizzi IP dinamici 11.2 Un indirizzo IP statico è assegnato ad
La VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I
La VPN con il FRITZ!Box Parte I 1 Descrizione Ogni utente di Internet può scambiare dati ed informazioni con qualunque altro utente della rete. I dati scambiati viaggiano nella nuvola attraverso una serie
Start > Pannello di controllo > Prestazioni e manutenzione > Sistema Oppure clic destro / Proprietà sull icona Risorse del computer su Desktop
Installare e configurare una piccola rete locale (LAN) Usando i Protocolli TCP / IP (INTRANET) 1 Dopo aver installato la scheda di rete (seguendo le normali procedure di Aggiunta nuovo hardware), bisogna
Come si può vedere, la regola è stata fatta in modo da spostare tutti i messaggi di Spam nella cartella del cestino.
www.playnet.it agg. Documento 1/03/2007 REGOLE DEL CLIENT Le regole del client sono un sistema di smistamento dei messaggi (arrivati) fra le varie cartelle di posta presenti sul server. Possono essere
Sicurezza applicata in rete
Sicurezza applicata in rete Contenuti del corso La progettazione delle reti Il routing nelle reti IP Il collegamento agli Internet Service Provider e problematiche di sicurezza Analisi di traffico e dei
Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP
Protocolli di rete Sommario Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP Configurazione statica e dinamica
Cenni di programmazione distribuita in C++ Mauro Piccolo [email protected]
Cenni di programmazione distribuita in C++ Mauro Piccolo [email protected] Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale
Laboratorio di reti Relazione N 5 Gruppo 9. Vettorato Mattia Mesin Alberto
Laboratorio di reti Relazione N 5 Gruppo 9 Vettorato Mattia Mesin Alberto Virtual LAN Che cosa è una VLAN? Il termine Virtual LAN indica una serie di tecniche atte a separare un dominio di broadcast, di
Configurazione IP. Assegnazione Indirizzi IP
Configurazione IP Reti II Stefano Leonardi Configurazione IP 4a-1 Assegnazione Indirizzi IP! Indirizzi IP memorizzati su memoria secondaria! Non disponibile per dispositivi senza disco o con file system
Elementi sull uso dei firewall
Laboratorio di Reti di Calcolatori Elementi sull uso dei firewall Carlo Mastroianni Firewall Un firewall è una combinazione di hardware e software che protegge una sottorete dal resto di Internet Il firewall
DEFINIZIONI VM: abbreviazione di Virtual Machine (macchina virtuale).
DEFINIZIONI VM: abbreviazione di Virtual Machine (macchina virtuale). Ambiente autonomo composto da diversi dispositivi hardware, che per quanto emulati possono essere gestiti come se fossero reali. Host
CLOUD AWS. #cloudaws. Community - Cloud AWS su Google+ Amazon Web Services. Amazon VPC (Virtual Private Cloud)
Community - Cloud AWS su Google+ Web Services VPC (Virtual Private Cloud) Oggi vediamo le caratteristiche generali del servizio di VPC per creare una rete virtuale nel cloud. Hangout 29 del 27.10.2014
