{"id":32,"date":"2008-04-16T10:00:57","date_gmt":"2008-04-16T08:00:57","guid":{"rendered":"http:\/\/www.work4net.it\/?p=32"},"modified":"2008-04-16T10:00:57","modified_gmt":"2008-04-16T08:00:57","slug":"nat-alcune-indicazioni-semplici-di-utilizzo-tramite-iptables","status":"publish","type":"post","link":"https:\/\/www.italiamac.it\/work4net\/2008\/04\/nat-alcune-indicazioni-semplici-di-utilizzo-tramite-iptables\/","title":{"rendered":"NAT: Alcune indicazioni semplici di utilizzo tramite IPTABLES"},"content":{"rendered":"<p>Il <a href=\"http:\/\/it.wikipedia.org\/wiki\/Network_address_translation\">NAT<\/a> \u00e8 una tecnica che permette di manipolare l&#8217;indirizzo sorgente (SNAT) o l&#8217;indirizzo di destinazione(DNAT) del pacchetto IP quando questo viaggia sulla rete. In genere i collegamenti che effettuano il NAT ricordano come hanno manipolato il pacchetto, e quindi quando arriva un pacchetto di risposta dall&#8217;altra parte, viene effettuato su quest&#8217;ultimo la manipolazione inversa, in questo modo tutto funziona.<\/p>\n<p><strong>Le ragioni per cui viene utilizzato il NAT sono le seguenti:<\/strong><\/p>\n<ul>\n<li>connessioni di pi\u00f9 client a Internet attraverso un solo IP address pubblico. Tipico delle connessioni modem o xdsl dove sia ha un solo IP pubblico.<\/li>\n<li>quando si desidera cambiare l&#8217;IP address di destinazione sui pacchetti che giungono alla nostra rete. Questo quando si ha un solo IP address pubblico e si vuol far raggiungere dall&#8217;esterno uno o pi\u00f9 servizi all&#8217;interno della propria rete privata.<\/li>\n<li>quando si ha la necessit\u00e0 di far dialogare reti in over-lapping o duplicate.<\/li>\n<li>quando si vuole attivare un Trasparent Proxy ovvero redirigere i pacchetti destinati a Internet verso un Web Proxy evitando cos\u00ec di configurare manualmente l&#8217;indirizzo del proxy sui ogni singolo client della propria rete.<\/li>\n<li>quando si ha l&#8217;esigenza di implementare un Port-Forwarding e quindi di alterare le porte dei protocolli di trasporto <a href=\"http:\/\/it.wikipedia.org\/wiki\/Transmission_Control_Protocol\">TCP\/UDP<\/a>.<\/li>\n<\/ul>\n<p><!--more--><\/p>\n<p><strong>Tipi di NAT &#8211; SNAT(SourceNAT) e DNAT(DestinationNAT)<\/strong><\/p>\n<p><strong>Il Source NAT<\/strong> si ha quando si riscrive l&#8217;indirizzo IP sorgente del pacchetto IP. SNAT opera in fase di post-routing, giusto dopo che il pacchetto venga trattato dal processo di routing pronto per essere immesso sulla rete.<br \/>\nIl Masquerading o Mascheramento \u00e8 anch&#8217;essa una tecnica di SNAT dove tutti i pacchetti provenienti dai client interni alla rete privata vengono mascherati in un solo IP address, solitamente implementato in connessioni dial-up PPP o xdsl dove si dispone di un unico IP publico.Il Destination NAT si ha quando si riscrive l&#8217;indirizzo IP di destinazione del pacchetto IP.<br \/>\n<strong>DNAT<\/strong> opera in fase di pre-routing, giusto prima che il pacchetto venga indirizzato al processo di routing. Port-Forwarding, Load-Sharing e il Trasparent-Proxy sono tutte tecniche di DNAT.<\/p>\n<p><strong>Configurare il NAT<\/strong><\/p>\n<p>Prima di procedere con la configurazione di una regola NAT, ricordiamoci sempre di attivare l&#8217;IP Forwarding:<\/p>\n<blockquote><p># echo 1 &gt; \/proc\/sys\/net\/ipv4\/ip_forward<\/p><\/blockquote>\n<p>SNAT<br \/>\nMascherare tutti i pacchetti in uscita dall&#8217;interfaccia eth1 con lo stesso l&#8217;IP address assegnato all&#8217;interfaccia eth1:<\/p>\n<blockquote><p># iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE<\/p><\/blockquote>\n<p>Alterare in &#8220;192.168.100.254&#8221; qualsiasi indirizzo IP sorgente proveniente dall&#8217;interfaccia eth0:<\/p>\n<blockquote><p># iptables -t nat -A POSTROUTING -o eth0 -j SNAT &#8211;to-source 192.168.100.254<\/p><\/blockquote>\n<p>Impostare un pool di indirizzi con cui mascherare tutti i pacchetti in uscita dall&#8217;interfaccia eth0 in un range che va da 10.0.0.1 a 10.0.0.14:<\/p>\n<blockquote><p># iptables -t nat -A POSTROUTING -o eth0 -j SNAT &#8211;to-source 10.0.0.1-10.0.0.14<\/p><\/blockquote>\n<p>DNAT<br \/>\nAlterare in &#8220;192.168.200.1&#8221; l&#8217;indirizzo di destinazione di tutti pacchetti IP in ingresso sull&#8217;interfaccia eth0:<\/p>\n<blockquote><p># iptables -t nat -A PREROUTING -i eth0 -j DNAT &#8211;to-destination 192.168.200.1<\/p><\/blockquote>\n<p>Alterare l&#8217;indirizzo IP di destinazione solo del traffico HTTP in &#8220;172.16.10.1&#8221; porta &#8220;8080&#8221;.Tipica configurazione per Trasparent-Proxy<\/p>\n<blockquote><p># iptables -t nat -A PREROUTING -p tcp &#8211;dport 80 -i eth0 -j DNAT &#8211;to-destination 172.16.10.1:8080<\/p><\/blockquote>\n<p>Redirect di tutti i pacchetti diretti all&#8217;indirizzo 192.168.100.1 verso l&#8217;IP 172.16.20.1<\/p>\n<blockquote><p># iptables -t nat -A OUTPUT -d 192.168.100.1 -j DNAT &#8211;to-destination 172.16.20.1<\/p><\/blockquote>\n<p>Redirect dei pacchetti diretti all&#8217;indirizzo 192.168.100.1sulla porta 23(Telnet) verso l&#8217;IP 10.10.10.125 porta 23(Telnet)<\/p>\n<blockquote><p># iptables -t nat -A OUTPUT -d 192.168.100.1 -p tcp &#8211;dport 23 -j DNAT &#8211;to-destination 10.10.10.125:23<\/p><\/blockquote>\n<p>Abilitare una serie di host interni alla rete 10.10.10.x a ricevere connessioni Telnet mediante un unico IP address esterno &#8220;192.168.100.1&#8221; e mappando le porte esterne &#8220;2001&#8221;, &#8220;2002&#8221; e &#8220;2003&#8221; a ciascun client interno:<\/p>\n<blockquote><p># iptables -t nat -A PREROUTING -d 192.168.100.1 -p tcp &#8211;dport 2001 -j DNAT &#8211;to-destination 10.10.10.126:23<br \/>\n# iptables -t nat -A PREROUTING -d 192.168.100.1 -p tcp &#8211;dport 2002 -j DNAT &#8211;to-destination 10.10.10.127:23<br \/>\n# iptables -t nat -A PREROUTING -d 192.168.100.1 -p tcp &#8211;dport 2003 -j DNAT &#8211;to-destination 10.10.10.128:23<\/p><\/blockquote>\n<p>Visualizzare le tabelle NAT<\/p>\n<blockquote><p># iptables -t nat -L<\/p><\/blockquote>\n<p>Ripulire le tabelle NAT<\/p>\n<blockquote><p># iptables -t nat -F<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Il NAT \u00e8 una tecnica che permette di manipolare l&#8217;indirizzo sorgente (SNAT) o l&#8217;indirizzo di destinazione(DNAT) del pacchetto IP quando questo viaggia sulla rete. In genere i collegamenti che effettuano il NAT ricordano come hanno manipolato il pacchetto, e quindi quando arriva un pacchetto di risposta dall&#8217;altra parte, viene effettuato [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1322,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[41,7],"tags":[145,146,39,147,148,149,150,151,152,42,153,154,155,156],"class_list":["post-32","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-opensource","category-tutorial","tag-aggiungi-nuovo-tag","tag-dnat","tag-firewall","tag-ip-address","tag-ip-pubblico","tag-iptables","tag-masquerading","tag-nat","tag-port-forwarding","tag-proxy","tag-snat","tag-tcpip","tag-trasparent-proxy","tag-web-proxy"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.italiamac.it\/work4net\/wp-content\/uploads\/2013\/08\/feat_generic.jpg?fit=1022%2C573&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p8fSv5-w","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":87,"url":"https:\/\/www.italiamac.it\/work4net\/2008\/05\/firewallnat-in-2-minuti\/","url_meta":{"origin":32,"position":0},"title":"Firewall\/NAT in 2 minuti","author":"Dev","date":"14 Maggio 2008","format":false,"excerpt":"Se vogliamo proteggere una rete locale e permettere la navigazione abilitando il NAT, possiamo usare al volo una configurazione di questo tipo. Facciamo uno scirpt che chiamiamo rc.firewall: ######################### #####rc.firewall ######################### # eth0= LAN interface # eth1= NET interface # 192.168.10.0 = LAN interna # Abilitiamo il forwarding dei pacchetti\u2026","rel":"","context":"In &quot;Opensource&quot;","block_context":{"text":"Opensource","link":"https:\/\/www.italiamac.it\/work4net\/category\/opensource\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.italiamac.it\/work4net\/wp-content\/uploads\/2013\/08\/feat_generic.jpg?fit=1022%2C573&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.italiamac.it\/work4net\/wp-content\/uploads\/2013\/08\/feat_generic.jpg?fit=1022%2C573&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.italiamac.it\/work4net\/wp-content\/uploads\/2013\/08\/feat_generic.jpg?fit=1022%2C573&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.italiamac.it\/work4net\/wp-content\/uploads\/2013\/08\/feat_generic.jpg?fit=1022%2C573&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":593,"url":"https:\/\/www.italiamac.it\/work4net\/2009\/03\/come-bloccare-con-iptables-nazioni-intere\/","url_meta":{"origin":32,"position":1},"title":"Come bloccare con Iptables nazioni intere","author":"Dev","date":"30 Marzo 2009","format":false,"excerpt":"Capita spesso, in siti particolarmente visitati, che parte del traffico sia spam o proveniente da paesi che contestualmente al sito non sono di nostro interesse. Come faccio a configurare Apache o solo iptables per rifiutare le connessioni solo ad alcuni paesi? \u00c8 possibile bloccare il traffico sia con Apache o\u2026","rel":"","context":"In &quot;Opensource&quot;","block_context":{"text":"Opensource","link":"https:\/\/www.italiamac.it\/work4net\/category\/opensource\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.italiamac.it\/work4net\/wp-content\/uploads\/2013\/08\/feat_generic.jpg?fit=1022%2C573&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.italiamac.it\/work4net\/wp-content\/uploads\/2013\/08\/feat_generic.jpg?fit=1022%2C573&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.italiamac.it\/work4net\/wp-content\/uploads\/2013\/08\/feat_generic.jpg?fit=1022%2C573&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.italiamac.it\/work4net\/wp-content\/uploads\/2013\/08\/feat_generic.jpg?fit=1022%2C573&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":63,"url":"https:\/\/www.italiamac.it\/work4net\/2008\/05\/smoothwall-il-firewall-che-si-configura-via-web\/","url_meta":{"origin":32,"position":2},"title":"Smoothwall: Il firewall che si configura via web","author":"Dev","date":"2 Maggio 2008","format":false,"excerpt":"Smoothwall realizza in pochi minuti un firewall\/router con funzionalit\u00e0 NAT, DNS e connessione dial-up. Dal sito web \u00e8 possibile scaricare l'immagine ISO, va masterizzata sul cd-rom che verr\u00e0 usato per avviare la macchina da installare. I pc vecchi non fanno boot da cdrom perci\u00f2 sar\u00e0 necessario creare un floppy di\u2026","rel":"","context":"In &quot;Opensource&quot;","block_context":{"text":"Opensource","link":"https:\/\/www.italiamac.it\/work4net\/category\/opensource\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.italiamac.it\/work4net\/wp-content\/uploads\/2013\/08\/feat_generic.jpg?fit=1022%2C573&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.italiamac.it\/work4net\/wp-content\/uploads\/2013\/08\/feat_generic.jpg?fit=1022%2C573&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.italiamac.it\/work4net\/wp-content\/uploads\/2013\/08\/feat_generic.jpg?fit=1022%2C573&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.italiamac.it\/work4net\/wp-content\/uploads\/2013\/08\/feat_generic.jpg?fit=1022%2C573&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":804,"url":"https:\/\/www.italiamac.it\/work4net\/2009\/08\/come-installare-vmware-server-20-su-centos-53\/","url_meta":{"origin":32,"position":3},"title":"Come Installare VMware Server 2.0 su CentOS 5.3","author":"Dev","date":"20 Agosto 2009","format":false,"excerpt":"In questo tutorial voglio spiegare come installare VMware Server 2.0 su CentOS 5.3 con pochi semplici passi. 1. Creare Account VMware per potersi loggare e scaricare l\u2019ultima versione corrente e successivamente ricevere, via mail, i codici di attivazione 2. Scaricare la versione VMServer 2.0 RPM (ci sono 2 versioni una\u2026","rel":"","context":"In &quot;Opensource&quot;","block_context":{"text":"Opensource","link":"https:\/\/www.italiamac.it\/work4net\/category\/opensource\/"},"img":{"alt_text":"vmware","src":"https:\/\/i0.wp.com\/www.work4net.it\/immagini\/2009\/08\/vmware-300x233.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":134,"url":"https:\/\/www.italiamac.it\/work4net\/2008\/06\/pingpong-ecco-come-disattivare-i-ping-o-rallentarli-senza-usare-iptables\/","url_meta":{"origin":32,"position":4},"title":"Ping&#8230;Pong: Ecco come disattivare i ping o rallentarli senza usare Iptables","author":"Dev","date":"30 Giugno 2008","format":false,"excerpt":"Avete mai pensato di non volere che la vostra macchina rispondesse ai ping? oppure che gli rispondesse pi\u00f9 lentamente in modo da evitare attacchi di tipo ping flood? Bene, le possibilit\u00e0 sono diverse, infatti potreste tranquillamente configurare ipTables per evitare tutto ci\u00f2, ma molto pi\u00f9 velocemente si potrebbe scrivere :\u2026","rel":"","context":"In &quot;Opensource&quot;","block_context":{"text":"Opensource","link":"https:\/\/www.italiamac.it\/work4net\/category\/opensource\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.italiamac.it\/work4net\/wp-content\/uploads\/2013\/08\/feat_generic.jpg?fit=1022%2C573&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.italiamac.it\/work4net\/wp-content\/uploads\/2013\/08\/feat_generic.jpg?fit=1022%2C573&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.italiamac.it\/work4net\/wp-content\/uploads\/2013\/08\/feat_generic.jpg?fit=1022%2C573&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.italiamac.it\/work4net\/wp-content\/uploads\/2013\/08\/feat_generic.jpg?fit=1022%2C573&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":418,"url":"https:\/\/www.italiamac.it\/work4net\/2009\/01\/come-creare-con-ubuntu-810-un-router-con-nat-port-fowarding-dns-server-e-dhcp-server\/","url_meta":{"origin":32,"position":5},"title":"Come creare sfruttando Ubuntu 8.10 un Router con  NAT, port fowarding,  DNS server e DHCP server.","author":"Dev","date":"8 Gennaio 2009","format":false,"excerpt":"Vista la crisi che c'\u00e8 in questo periodo, se possibile \u00e8 meglio risparmiare!! Ecco che in questo semplice tutorial viene spiegato come creare, da soli a costo zero, un piccolo router sfruttando la nostra amata Ubuntu 8.10. Le caratteristiche principali saranno: Supporto NAT Support port fowarding DNS server DHCP server\u2026","rel":"","context":"In &quot;Opensource&quot;","block_context":{"text":"Opensource","link":"https:\/\/www.italiamac.it\/work4net\/category\/opensource\/"},"img":{"alt_text":"ethernet_lan","src":"https:\/\/i0.wp.com\/www.work4net.it\/immagini\/2009\/01\/ethernet_lan-211x300.png?resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.italiamac.it\/work4net\/wp-json\/wp\/v2\/posts\/32","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.italiamac.it\/work4net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.italiamac.it\/work4net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.italiamac.it\/work4net\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.italiamac.it\/work4net\/wp-json\/wp\/v2\/comments?post=32"}],"version-history":[{"count":0,"href":"https:\/\/www.italiamac.it\/work4net\/wp-json\/wp\/v2\/posts\/32\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.italiamac.it\/work4net\/wp-json\/wp\/v2\/media\/1322"}],"wp:attachment":[{"href":"https:\/\/www.italiamac.it\/work4net\/wp-json\/wp\/v2\/media?parent=32"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.italiamac.it\/work4net\/wp-json\/wp\/v2\/categories?post=32"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.italiamac.it\/work4net\/wp-json\/wp\/v2\/tags?post=32"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}