Condividere la connessione a internet: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m (versioni compatibili)
m (verificata, aggiunta eseguibilità script, rimosso bind9-host (deprecato e comunque non utilizzato nella guida))
Riga 1: Riga 1:
{{Versioni compatibili|Wheezy|Jessie|Testing_2015|Unstable_2015}}
{{Versioni compatibili|Jessie|Stretch|Buster}}
== Premessa ==
== Premessa ==
Oggi che la maggior parte degli utenti domestici ha la possibilità di accedere ad Internet con connessioni a [http://it.wikipedia.org/wiki/Larghezza_di_banda banda] larga (ad esempio [http://it.wikipedia.org/wiki/ADSL ADSL]) e che è sempre più frequente avere a disposizione almeno un paio di computer, si avverte la necessità di poter condividere la connessione tra i vari computer della nostra rete domestica.
Oggi che la maggior parte degli utenti domestici ha la possibilità di accedere ad Internet con connessioni a [http://it.wikipedia.org/wiki/Larghezza_di_banda banda] larga (ad esempio [http://it.wikipedia.org/wiki/ADSL ADSL]) e che è sempre più frequente avere a disposizione almeno un paio di computer, si avverte la necessità di poter condividere la connessione tra i vari computer della nostra rete domestica.
Riga 40: Riga 40:
</pre>
</pre>


E poi modificare <code>/etc/network/if-up.d/network-iptables</code> con il proprio editor di testo preferito:
E poi modificare <code>/etc/network/if-up.d/network-iptables</code> con il proprio editor di testo preferito (per esempio [[nano]]):
<pre>
<pre>
#! /bin/sh
#! /bin/sh
Riga 53: Riga 53:
iptables-restore < "$CONFIG_FILE" &&
iptables-restore < "$CONFIG_FILE" &&
printf %s\\n "[ OK ]"
printf %s\\n "[ OK ]"
</pre>  
</pre>
 
E renderlo eseguibile:
<pre>
# chmod a+x /etc/network/if-up.d/network-iptables
</pre>
   
   
La regola verrà caricata ad ogni avvio del sistema, senza che sia necessario digitarla nuovamente, e solo se il file <code>/etc/iptables-save</code> esiste.
La regola verrà caricata ad ogni avvio del sistema, senza che sia necessario digitarla nuovamente, e solo se il file <code>/etc/iptables-save</code> esiste.
Riga 75: Riga 80:
net/ipv4/ip_forward = 1
net/ipv4/ip_forward = 1
</pre>  
</pre>  
In questo caso si abilita unicamente per IPv4; è necessario, se si desidera, abilitarlo anche per IPv6.


È opportuno impostare anche alcune misure di sicurezza:
È opportuno impostare anche alcune misure di sicurezza (le prime due dovrebbero essere già attive di default):
 
<pre>
<pre>
## Ignora finti messaggi di errore ICMP
## Ignora finti messaggi di errore ICMP
Riga 87: Riga 92:
## Non accetta pacchetti ICMP di route redirection
## Non accetta pacchetti ICMP di route redirection
net/ipv4/conf/all/accept_redirects = 0
net/ipv4/conf/all/accept_redirects = 0
</pre>
Oltre a queste regole, Debian imposta per default la protezione dallo [http://it.wikipedia.org/wiki/IP_spoofing spoofing] degli indirizzi. Per completezza di informazione, comunque, questa regola risulta essere la seguente:


<pre>
## Protezione anti spoofing  
## Protezione anti spoofing  
net/ipv4/conf/all/rp_filter = 1
net/ipv4/conf/all/rp_filter = 1
Riga 97: Riga 98:


==== Impostare l'<code>ip-forwarding</code> al boot: script ====
==== Impostare l'<code>ip-forwarding</code> al boot: script ====
È possibile anche abilitare l'ip-forwarding associando uno script alla creazione delle interfacce di rete in fase di boot. Questo metodo è consigliato solo in caso di setup più complessi, in cui si vogliono impostare regole diverse a seconda dell'interfaccia di rete che si attiva.
È possibile anche abilitare l'ip-forwarding associando uno script alla creazione delle interfacce di rete in fase di boot. Questo metodo è consigliato solo in caso di setup più complessi, in cui si vogliono impostare regole diverse a seconda dell'interfaccia di rete che si attiva.


Riga 131: Riga 131:
Dopodiché rendiamolo eseguibile e scrivibile per [[root]] con:
Dopodiché rendiamolo eseguibile e scrivibile per [[root]] con:


<pre># chmod 754 /etc/network/iface-secure</pre>
<pre># chmod 755 /etc/network/iface-secure</pre>


All'interno di questo file scriveremo il nostro comando per abilitare l' ip-forwarding:
All'interno di questo file scriveremo il nostro comando per abilitare l' ip-forwarding:
Riga 165: Riga 165:
Per prima cosa installiamo ''bind9'' ed alcuni strumenti utili:
Per prima cosa installiamo ''bind9'' ed alcuni strumenti utili:


<pre># apt-get install bind9 bind9-host dnsutils</pre>
<pre># apt install bind9 dnsutils</pre>


Ora configuriamo il server in modo che faccia le sue richieste ai server [[DNS]] che vogliamo noi anziché ai ROOT SERVERS (sono pochi in tutto il mondo, molto stressati e aggiornati più lentamente di altri). Tutto quello che dobbiamo fare è editare la sezione '''options''' del file <code>/etc/bind/named.conf.options</code>:
Ora configuriamo il server in modo che faccia le sue richieste ai server [[DNS]] che vogliamo noi anziché ai ROOT SERVERS (sono pochi in tutto il mondo, molto stressati e aggiornati più lentamente di altri). Tutto quello che dobbiamo fare è editare la sezione '''options''' del file <code>/etc/bind/named.conf.options</code>:
Riga 202: Riga 202:
==== IRC ====
==== IRC ====
Dovreste essere in grado di usare IRC senza problemi dai PC della vostra LAN. In caso contrario potreste provare a caricare manualmente i moduli che servono al router per gestire le connessioni ad IRC:
Dovreste essere in grado di usare IRC senza problemi dai PC della vostra LAN. In caso contrario potreste provare a caricare manualmente i moduli che servono al router per gestire le connessioni ad IRC:
<pre>
<pre>
# modprobe ip_conntrack_irc ports=5555,6666,6667,6668,6669,7000  
# modprobe ip_conntrack_irc ports=5555,6666,6667,6668,6669,7000  
# modprobe ip_nat_irc
# modprobe ip_nat_irc
</pre>
</pre>
dove, con la direttiva "ports=" indichiamo le porte generalmente utilizzate dai server IRC.
dove, con la direttiva "ports=" indichiamo le porte generalmente utilizzate dai server IRC.


Riga 276: Riga 274:


Per fare questo avremo bisogno di alcuni tra i più usati strumenti diagnostici: '''ping''' e '''nslookup''', ma non preoccupatevi: il primo viene installato automaticamente ed il secondo abbiamo provveduto ad installarlo contestualmente a ''bind''.
Per fare questo avremo bisogno di alcuni tra i più usati strumenti diagnostici: '''ping''' e '''nslookup''', ma non preoccupatevi: il primo viene installato automaticamente ed il secondo abbiamo provveduto ad installarlo contestualmente a ''bind''.
{{Warningbox| L'eseguibile <code>/bin/ping</code> deve avere il bit suid impostato per funzionare da utente normale. }}


=== Comunicazione tra router e client ===
=== Comunicazione tra router e client ===
Riga 364: Riga 360:
{{Autori
{{Autori
|Autore = [[Utente:Guide @ Debianizzati.Org|Debianizzati.Org]]
|Autore = [[Utente:Guide @ Debianizzati.Org|Debianizzati.Org]]
|Verificata_da=
:[[Utente:Clockwork orange|Clockwork Orange]]
:[[Utente:HAL 9000|HAL 9000]] 17:58, 21 mag 2015 (CEST)
|Estesa_da =  
|Estesa_da =  
:[[Utente:Keltik|keltik]]
:[[Utente:Keltik|keltik]]
:[[Utente:TheNoise|The Noise]]
:[[Utente:TheNoise|The Noise]]
|Verificata_da=
:[[Utente:Clockwork orange|Clockwork Orange]]
:[[Utente:HAL 9000|HAL 9000]] 10:40, 7 set 2019 (CEST)
|Numero_revisori = 2
|Numero_revisori = 2
}}
}}