Sei sulla pagina 1di 7

Documentazione Gentoo Linux -- Configurare un Router domestico Page 1 of 7

Stampa

Configurare un Router domestico Aggiornato il 30 ottobre


2011

Indice: 1. Introduzione La versione originale di


questo documento è
più recente ed è stata
1. Introduzione aggiornata il 3 aprile
2013
Costruire il proprio router partendo da vecchi pezzi di PC ha molti vantaggi rispetto al comprare un router di marca, ad esempio un Linksys. Il primo di Oggetto: In questo
questi vantaggi è l'avere un controllo completo sulla connessione. Gli altri si possono immaginare; si può realizzare praticamente qualsiasi cosa in documento viene
questo modo, basta ve ne sia la necessità. spiegato come
trasformare una vecchia
Questa guida mostrerà come attivare un servizio di NAT ("Network Address Translation" - ndT: "Traduzione Indirizzo di Rete") configurando il kernel ed macchina, su cui è
iptables, come fornire ed impostare alcuni tra i servizi più comuni: DNS (Domain Name System) attraverso dnsmasq, DHCP (Dynamic Host installato Gentoo, in un
Configuration Protocol) attraverso dhcpd, ADSL (Asymmetric Digital Subscriber Line) attraverso ppp. Alla fine, si concluderà con qualcosa di più router domestico per
collegare tutta la casa ad
sofisticato e divertente (port forwarding, regolazione del traffico di dati, impostazione di proxy/caching, ecc...). Internet.

Prima di cominciare, è bene assicurarsi che il proprio PC soddisfi una serie di requisiti. Innanzitutto devono essere presenti almeno due schede di rete Mike Frysinger
nel computer. Inoltre bisogna conoscere le impostazioni della propria connessione ad Internet (ad esempio gli indirizzi IP/DNS/GateWay e Autore
username/password). Infine, c'è bisogno di un po' di tempo libero e di simpatia verso Gentoo.
Alberto Santini
Questa guida si basa sulla seguente configurazione tipo: Traduzione

eth0 - Scheda di rete connessa alla propria LAN (Local Area Network) Cristiano Chiucchiolo
Traduzione
eth1 - Scheda di rete connessa alla WAN (Wide Area Network)
Andrea Menegolo
La LAN utilizza il set 192.168.0.xxx di IP privati
Traduzione
L'IP del router è quello standard (192.168.0.1)
Sul router viene eseguito Linux 2.4 o 2.6 - Con Linux 2.0 o 2.2 bisogna fare da sé Donate to support our
development efforts.

Importante: Per motivi di sicurezza, si consiglia vivamente di disattivare sul router tutti i servizi che non sono necessari finché non si disporrà di un firewall
configurato e attivo. Per vedere i servizi attivi, usare il comando r c - st at us .

2. Configurazione del kernel

Come prima cosa, il kernel ha bisogno dei driver per entrambe le schede di rete. Per vedere se le schede sono già state correttamente riconosciute dal
kernel, si può usare il comando i f c onf i g. Il proprio output può essere diverso da quello che segue, ma questo non ha importanza: quello che conta è
che siano mostrate entrambe le interfacce di rete.

Codice 2.1: Controllare le schede di rete


# i f c onf i g - a
et h0 Li nk encap: Et her net HWaddr 00: 60: F5: 07: 07: B8
BROADCAST MULTI CAST MTU: 1500 Met r i c : 1
RX pack et s : 0 er r or s : 0 dr opped: 0 over r uns : 0 f r ame: 0
TX pack et s : 0 er r or s : 0 dr opped: 0 over r uns : 0 c ar r i er : 0
col l i si ons : 0 t xqueuel en: 1000
RX by t es: 0 ( 0. 0 b) TX byt es : 0 ( 0. 0 b)
I nt er r upt : 11 Bas e addr es s: 0x 9800

et h1 Li nk encap: Et her net HWaddr 00: 60: F5: 07: 07: B9


BROADCAST MULTI CAST MTU: 1500 Met r i c : 1
RX pack et s : 0 er r or s : 0 dr opped: 0 over r uns : 0 f r ame: 0
TX pack et s : 0 er r or s : 0 dr opped: 0 over r uns : 0 c ar r i er : 0
col l i si ons : 0 t xqueuel en: 1000
RX by t es: 0 ( 0. 0 b) TX byt es : 0 ( 0. 0 b)
I nt er r upt : 10 Bas e addr es s: 0x 9400

Se non si vede una o entrambe le schede di rete e non si sa che tipo di schede sono, si può provare a lanciare il comando l s pc i | gr ep
Et her net . Nel caso in cui l s pc i non sia installato nel proprio sistema, eseguire il comando emer ge pc i ut i l s . Appena ottenute le informazioni
necessarie, ricompilare il kernel attivando il supporto per le proprie schede di rete.

Il secondo requisito è il supporto ad iptables, per il NAT e per il controllo del traffico (se lo si vuole attivare). Nella lista che segue le opzioni sempre
richieste sono segnate con (*), quelle richieste solo per l'ADSL via PPPoE sono segnate con (a), quelle consigliate a tutti con (x) e quelle per il controllo
del traffico con (s). Non importa se si sceglie di compilare questi supporti direttamente nel kernel o come moduli, purché questi ultimi siano comunque
caricati non appena ce ne sia bisogno.

Codice 2.2: Opzioni di rete


Net wor ki ng opt i ons - - - >
[ * ] TCP/ I P net wor ki ng
[ * ] I P: adv anc ed r out er
[ * ] Net wor k pack et f i l t er i ng ( r epl aces i pc hai ns )
Se si us a un ker nel 2. 4. x. , per DHCP bi s ogna abi l i t ar e l a s eguent e voce:
[ * ] Soc ket Fi l t er i ng

I P: Net f i l t er Conf i gur at i on - - - >


[ *] Connect i on t r ack i ng ( r equi r ed f or mas q/ NAT)
[ x] FTP pr ot ocol s uppor t
[ x] I RC pr ot ocol s uppor t
[ *] I P t abl es suppor t ( r equi r ed f or f i l t er i ng/ mas q/ NAT)
[ * ] I P r ange mat c h s uppor t
[ x] MAC addr ess mat c h suppor t
[ * ] Mul t i pl e por t mat c h s uppor t
[ * ] Pack et f i l t er i ng
[ * ] REJ ECT t ar get s uppor t
[ x] REDI RECT t ar get s uppor t
[ * ] Ful l NAT
[ * ] MASQUERADE t ar get suppor t

http://www.gentoo.org/doc/it/home-router-howto.xml 03/10/2013
Documentazione Gentoo Linux -- Configurare un Router domestico Page 2 of 7
[ s] Pack et mangl i ng
[ s] MARK t ar get s uppor t
[ x] LOG t ar get suppor t

QoS and/ or f ai r queuei ng - - - >


[ s ] QoS and/ or f ai r queuei ng
[ s] HTB pac ket sc hedul er
[ s] I ngr es s Qdi sc

[ a] PPP ( poi nt - t o- poi nt pr ot oc ol ) s uppor t


[ a] PPP f i l t er i ng Gentoo Supported by
[ a] PPP suppor t f or as ync s er i al por t s
[ a] PPP suppor t f or sy nc t t y por t s hotelkatalog24.de,
[ a] PPP Def l at e c ompr ess i on where you can find
[ a] PPP BSD- Compr ess c ompr ess i on hotels and book them
[ a] PPP ov er Et her net online.

Nota: È possibile che vi siano differenze tra i kernel 2.4 e 2.6, ma si dovrebbe essere in grado di venirne a capo da soli senza difficoltà. Inoltre, per il kernel 2.6,
queste opzioni hanno la tendenza ad essere spostate frequentemente. Buona fortuna!

3. Collegarsi alla WAN (ovvero ad Internet)

Introduzione

Ci sono moltissimi modi di connettersi ad Internet, quindi questa guida tratterà soltanto quelli usati dall'autore ovvero un collegamento ADSL (PPPoE) e
uno con modem telefonico (con IP statico o dinamico). Se si conoscono altri metodi, mettere al corrente l'autore inviandogli una mail. Saltare senza
problemi qualsiasi delle seguenti sezioni di questo capitolo, se non sono di interesse. Lo scopo di questo capitolo è di connettere il router ad Internet
attraverso eth1.

ADSL e PPPoE

Tutto il software prodotto riguardante PPPoE che era fornito dal pacchetto rp-pppoe (Roaring Penguin) è stato integrato nel pacchetto standard di PPP.
Quindi basta eseguire il comando emer ge ppp per avere tutto il necessario. Adesso è necessario recuperare le informazioni relative a username e
password, come annunciato in precedenza. Aprire il file / et c / c onf . d/ net nel proprio editor preferito e modificare i parametri in maniera appropriata.

Nota: È necessario sia installato baselayout-1.12.9 o superiore per far sì che la seguente configurazione funzioni correttamente.

Codice 3.1: Configurare eth1


( Sost i t ui r e ' pl ut o' con i l pr opr i o user name e ' pi ppo' c on l a pr opr i a pass wor d)

# nano / et c/ c onf . d/ net


Di r e a bas el ayout di usar e l ' ADSL at t r av er s o et h1 per ppp0
c onf i g_ppp0=( " ppp" )
l i nk_ppp0=" et h1"
pl ugi ns_ppp0=( " pppoe" )
pppd_ppp0=(
" def aul t r out e"
" usepeer dns "
Poss ono ess er c i al t r e i mpost az i oni per i l pr opr i o c aso, consul t ar e i l f i l e / usr / shar e/ doc / openr c - * / net . ex ampl e. bz2
)
user name_ppp0=" pl ut o"
pas swor d_ppp0=" pi ppo"

# l n - s net . l o / et c / i ni t . d/ net . ppp0


# r c- updat e add net . ppp0 def aul t
# / et c / i ni t . d/ net . ppp0 s t ar t

Avvertenza: Quando l'interfaccia DSL si attiva, sarà creato il device ppp0. Anche se la scheda di rete è eth1, l'IP appartiene a ppp0. Da ora in avanti, negli esempi
che usano 'eth1', sostituire quest'ultima voce con 'ppp0'.

Avvertenza: Assicurarsi di aver cambiato i permessi del file /etc/conf.d/net in modo che solo root possa leggere/scrivere su di esso: in quel file infatti ci sono i propri
username e password.

Avvertenza: Chi sta effettuando il passaggio dal pacchetto r p - pppoe e chi è vittima di misteriose cadute della connessione, dovrebbe dare un'occhiata alla sezione
su MTU del capitolo sulla Risoluzione dei problemi.

Connessione attraverso linea telefonica e/o IP statico/dinamico

Se si possiede un IP statico, ci sarà bisogno di conoscere qualche dettaglio in più: il proprio indirizzo IP, il proprio gateway ed i server DNS.

Codice 3.2: Configurare eth1


I P di nami c o:
# emer ge dhc pcd
# nano / et c/ c onf . d/ net
I ns er i r e una r i ga c ome ques t a:
c onf i g_et h1=( " dhcp" )

I P St at i co:
# nano / et c/ c onf . d/ net
I ns er i r e del l e r i ghe c ome quest e:
c onf i g_et h1=( " 66. 92. 78. 102 br oadc as t 66. 92. 78. 255 net mas k 255. 255. 255. 0" )
r out es _et h1=( " def aul t gw 66. 92. 78. 1" )
# nano / et c/ r es ol v. c onf
Aggi unger e una r i ga per i l ser v er DNS:
names er v er 123. 123. 123. 123

Conf i gur az i one si a per l ' I P di nami co c he st at i c o:


# l n - s net . l o / et c / i ni t . d/ net . et h1
# r c- updat e add net . et h1 def aul t
# / et c / i ni t . d/ net . et h1 s t ar t

Ora dovrebbe essere tutto configurato.

4. Collegarsi alla LAN

Questo passaggio è molto più facile rispetto al precedente.

Codice 4.1: Configurare eth0

http://www.gentoo.org/doc/it/home-router-howto.xml 03/10/2013
Documentazione Gentoo Linux -- Configurare un Router domestico Page 3 of 7
# nano / et c/ c onf . d/ net
Aggi unger e una r i ga come ques t a:
c onf i g_et h0=( " 192. 168. 0. 1 br oadc ast 192. 168. 0. 255 net mas k 255. 255. 255. 0" )
# r c- updat e add net . et h0 def aul t
# / et c / i ni t . d/ net . et h0 s t ar t

5. Servizi LAN

Server DHCP

Un servizio molto utile, che evita di ricordare dettagli noiosi e difficili da memorizzare o di doverli inserire in interfacce di configurazione confusionarie è
DHCP ("Dynamic Host Configuration Protocol" - ndT: "Protocollo per la Configurazione Dinamica degli Host"), che permette un funzionamento
immediato dei computer non appena li si collega alla rete.

DHCP, come si può desumere dal nome, è un protocollo che consente di configurare in modo dinamico gli altri host in maniera del tutto automatica.
Basta far girare il server DHCP sul router, passargli tutte le informazioni sulla propria rete (indirizzi IP validi, server DNS, gateway, ecc...) e, quando gli
altri host si connetteranno alla rete, useranno il client DHCP per autoconfigurarsi. Niente confusione né pasticci. Per maggiori informazioni sul DHCP,
visitare Wikipedia.

Verrà usato un pacchetto chiamato dnsmasq, che fornisce sia il servizio DHCP che DNS. Per il momento ci si concentrerà sull'aspetto DHCP. Tenere
presente che se si vuole eseguire un diverso server DHCP, è possibile guardare un altro esempio nel capitolo "Qualcosa di divertente". Inoltre, se si
desiderano sperimentare le opzioni del server DHCP, leggere i commenti del file / et c / dns mas q. c onf . Ad ogni modo, le opzioni predefinite
dovrebbero andare bene.

Codice 5.1: Installare un server DHCP


# emer ge dns mas q
# nano / et c/ dns masq. conf
Aggi unger e ques t a r i ga per at t i var e dhcp:
dhc p- r ange=192. 168. 0. 100, 192. 168. 0. 250, 72h
Res t r i nger e dns masq al l a s ol a i nt er f ac ci a LAN
i nt er f ac e=et h0

# r c- updat e add dns mas q def aul t


# / et c / i ni t . d/ dns mas q st ar t

Ora il proprio router è un piccolo e affidabile server DHCP! Collegare alla rete qualche computer ed osservare attentamente come tutto funziona in
modo semplice! Con un sistema MS Windows bisognerà andare nel pannello "Proprietà TCP/IP" e selezionare le opzioni "Ottieni un indirizzo IP
automaticamente" e "Ottieni l'indirizzo del server DNS automaticamente". A volte queste modifiche non hanno effetto immediato e si dovrà aprire una
finestra di comando ed eseguire i pc onf i g / r el eas e e i pc onf i g / r enew. Ma ora basta con Windows, si torna al nostro pinguino preferito.

Server DNS

Quando qualcuno vuole visitare un sito web o raggiungere un altro host su Internet, solitamente si ricorda del nome di quel sito, piuttosto che di una
stringa di numeri. Dopotutto è più facile ricordare "ebay.com" o 66.135.192.87? Ecco dove entra in gioco il DNS. I server DNS girano più o meno
ovunque su internet e non appena qualcuno vuole visitare ebay.com, questi server trasformano "ebay.com" (di facile comprensione per l'utente) in
"66.135.192.87" (di facile comprensione per il computer). Per maggiori informazioni sul DNS, visitare nuovamente Wikipedia.

Visto che si sta utilizzando dnsmasq come server DHCP ed esso include un server DNS, non resta più niente da fare qui! Il proprio router sta già
fornendo il servizio DNS ai suoi client DHCP.

Si può benissimo scegliere altri server DNS se ci si trova meglio con quelli, ma il motivo per cui dnsmasq è grandioso è che fa esattamente quello che
si vuole e niente di più. È un piccolo server per reti locali con funzionalità di caching e forwarding. Non si vuole offrire un DNS per un proprio dominio,
ma soltanto un servizio DNS di base a chiunque si trovi nella vostra LAN.

NAT (ovvero IP-masquerading)

In questo momento, le persone nella vostra rete possono comunicare fra di loro e possono collegarsi a degli hostname tramite DNS, ma non possono
ancora connettersi realmente ad internet.

Ecco dove entra in scena il Network Address Translation (NAT). NAT permette di connettere più computer in una LAN ad Internet, quando si hanno a
disposizione un numero minore di indirizzi IP. Tipicamente la compagnia telefonica offre ad ogni utente un solo IP, ma in questa situazione si vuole che
tutta la casa sia connessa ad internet. NAT è la magia che rende possibile tutto ciò. Anche in questo caso, maggiori informazioni circa NAT possono
essere trovate su Wikipedia

Nota: Prima di cominciare, assicurarsi che iptables sia installato nel proprio sistema. Potrebbe non essere presente nonostante sia installato automaticamente nella
maggior parte dei sistemi; per risolvere basterà eseguire il comando emer ge i pt abl es .

Codice 5.2: Configurare iptables


Pr i ma di t ut t o el i mi nar e l e r egol e at t ual ment e i n us o
# i pt abl es - F
# i pt abl es - t nat - F

Conf i gur ar e l e r egol e pr edef i ni t e per ges t i r e i l t r af f i co


# i pt abl es - P I NPUT ACCEPT
# i pt abl es - P OUTPUT ACCEPT
# i pt abl es - P FORWARD DROP

Si pos sono s empl i cement e c opi ar e ed i ncol l ar e ques t i es empi


# expor t LAN=et h0
# expor t WAN=et h1

Li mi t ar e i pr opr i s er v i z i af f i nché f unzi oni no s ol o dal l a LAN


# i pt abl es - I I NPUT 1 - i ${ LAN} - j ACCEPT
# i pt abl es - I I NPUT 1 - i l o - j ACCEPT
# i pt abl es - A I NPUT - p UDP - - dpor t boot ps ! - i ${ LAN} - j REJ ECT
# i pt abl es - A I NPUT - p UDP - - dpor t domai n ! - i ${ LAN} - j REJ ECT

( Opzi onal e) Abi l i t ar e l ' ac c es so al s er ver s sh dal l a WAN


# i pt abl es - A I NPUT - p TCP - - dpor t s sh - i ${ WAN} - j ACCEPT

Li mi t ar e i pacc het t i TCP/ UDP sol o al l e por t e pr i vi l egi at e ( 0- 1023)


# i pt abl es - A I NPUT - p TCP ! - i ${ LAN} - d 0/ 0 - - dpor t 0: 1023 - j DROP
# i pt abl es - A I NPUT - p UDP ! - i ${ LAN} - d 0/ 0 - - dpor t 0: 1023 - j DROP

I nf i ne abi l i t ar e i l NAT
# i pt abl es - I FORWARD - i ${ LAN} - d 192. 168. 0. 0/ 255. 255. 0. 0 - j DROP
# i pt abl es - A FORWARD - i ${ LAN} - s 192. 168. 0. 0/ 255. 255. 0. 0 - j ACCEPT
# i pt abl es - A FORWARD - i ${ WAN} - d 192. 168. 0. 0/ 255. 255. 0. 0 - j ACCEPT
# i pt abl es - t nat - A POSTROUTI NG - o ${ WAN} -j MASQUERADE

http://www.gentoo.org/doc/it/home-router-howto.xml 03/10/2013
Documentazione Gentoo Linux -- Configurare un Router domestico Page 4 of 7
Comuni car e al k er nel c he l ' i p f or war di ng è f unz i onant e
# echo 1 > / pr oc/ sy s / net / i pv4/ i p_f or war d
# f or f i n / pr oc/ sy s / net / i pv4/ c onf / * / r p_f i l t er ; do ec ho 1 > $f ; done

Sal var e l e r egol e i nser i t e: v er r anno r i pr i s t i nat e al l ' avv i o del PC


# / et c / i ni t . d/ i pt abl es s av e
# r c- updat e add i pt abl es def aul t
# nano / et c/ s ys ct l . c onf
Aggi unger e/ decomment ar e l e r i ghe s eguent i :
net . i pv4. i p_f or war d = 1
net . i pv4. c onf . def aul t . r p_f i l t er = 1

Se si poss i ede un i ndi r i zz o I P di nami c o, pr obabi l ment e si v or r à quest a opz i one:


net . i pv4. i p_dynaddr = 1

Una volta finito, tutti i computer della propria rete dovrebbero essere in grado di connettersi ad internet e di usarla come se fossero collegati
direttamente alla WAN.

L'opzione ip_dynaddr è utile per sistemi con collegamento su richiesta (on-demand) o quando il proprio ISP fornisce indirizzi dinamici. Questo risolve il
problema che si incontra quando si tenta di stabilire una connessione prima che l'interfaccia internet sia pienamente attivata. In questo modo verrà
garantito pienamente il funzionamento della connessione per i computer connessi al proprio router.

6. Qualcosa di divertente (da fare nelle giornate di pioggia)

Introduzione

Da qui in avanti verrà descritto qualcosa che potrebbe interessare il lettore e che è facile incontrare tra le funzionalità di un router. Tutto, in questo
capitolo, è completamente opzionale.

Port Forwarding (Reindirizzamento delle/alle Porte)

A volte si potrebbe voler erogare alcuni servizi dai computer che sono dietro il router (ovvero all'interno della LAN) oppure semplicemente semplificarsi
la vita quando ci si connette da remoto. Si potrebbe voler eseguire un server FTP, HTTP, SSH, o VNC in una o più macchine dietro il router ed essere
in grado di connettersi a tutte. L'unico problema è che solo un servizio e solo un computer possono essere collegati ad una specifica porta. Per
esempio, non c'è modo di installare tre server FTP dietro il router e poi connettersi a tutti e tre tramite la porta 21; solo uno potrà ascoltare sulla porta
21, mentre gli altri dovranno ascoltare, per esempio, sulle porte 123 e 567.

Tutte le regole di port forwarding hanno questa forma: i pt abl es - t nat - A PREROUTI NG [ - p pr ot oc ol l o] - - dpor t [ por t a del
r out er ] - i ${ WAN} - j DNAT - - t o [ i p/ por t a del PC nel l a LAN] . Sfortunatamente, iptables non accetta hostname nelle regole di port
forwarding. Se si sta effettuando il forwarding da una porta esterna (quella del router) uguale a quella interna (quella del PC nella LAN), si può omettere
la porta di destinazione. Per ulteriori informazioni consultare la pagina di manuale di iptables: iptables(8).

Codice 6.1: Eseguire iptables


È s uf f i c i ent e c opi ar e ed i ncol l ar e quest i esempi
# expor t LAN=et h0
# expor t WAN=et h1

Rei ndi r i zz ar e l a por t a 2 a un demone s sh di un hos t del l a LAN


# i pt abl es - t nat - A PREROUTI NG - p t cp - - dpor t 2 - i ${ WAN} - j DNAT - - t o 192. 168. 0. 2: 22

Rei ndi r i zz ar e una por t a FTP ( 21) ad un host del l a LAN


# i pt abl es - t nat - A PREROUTI NG - p t cp - - dpor t 21 - i ${ WAN} - j DNAT - - t o 192. 168. 0. 56

Rei ndi r i zz ar e una por t a HTTP ( 80) ad un hos t del l a LAN


# i pt abl es - t nat - A PREROUTI NG - p t cp - - dpor t 80 - i ${ WAN} - j DNAT - - t o 192. 168. 0. 56

Rei ndi r i zz ar e due por t e per VNC a due hos t del l a LAN
# i pt abl es - t nat - I PREROUTI NG - p t cp - - dpor t 5900 - i ${ WAN} - j DNAT - - t o 192. 168. 0. 2
# i pt abl es - t nat - I PREROUTI NG - p t cp - - dpor t 5901 - i ${ WAN} - j DNAT - - t o 192. 168. 0. 3: 5900
Se si vuol e s t abi l i r e una c onness i one VNC c on 192. 168. 0. 3 al l or a bast a aggi unger e ' : 1' al l ' hos t name del r out er
Rei ndi r i zz ar e l e por t e SAMBA a un host del l a LAN ( un s acc o di por t e per nasc onder e Wi ndows )
# i pt abl es - t nat - I PREROUTI NG - p t cp - - dpor t 135 - i ${ WAN} - j DNAT - - t o 192. 168. 0. 2
# i pt abl es - t nat - I PREROUTI NG - p t cp - - dpor t 139 - i ${ WAN} - j DNAT - - t o 192. 168. 0. 2
# i pt abl es - t nat - I PREROUTI NG - p t cp - - dpor t 445 - i ${ WAN} - j DNAT - - t o 192. 168. 0. 2
# i pt abl es - t nat - I PREROUTI NG - p udp - - dpor t 137: 138 - i ${ WAN} - j DNAT - - t o 192. 168. 0. 2
# i pt abl es - t nat - I PREROUTI NG - p udp - - dpor t 445 - i ${ WAN} - j DNAT - - t o 192. 168. 0. 2

Rei ndi r i zz ar e l e por t e Bi t Tor r ent ( 6881- 6889) ad un hos t del l a LAN
# i pt abl es - t nat - A PREROUTI NG - p t cp - - dpor t 6881: 6889 - i ${ WAN} - j DNAT - - t o 192. 168. 0. 2

Rei ndi r i zz ar e l a por t a eDonkey/ eMul e ( 4662) a un hos t del l a LAN


# i pt abl es - t nat - A PREROUTI NG - p t cp - - dpor t 4662 - i ${ WAN} - j DNAT - - t o 192. 168. 0. 55

Aggi unger e i l s uppor t o al " Game Cube War p"


# i pt abl es - t nat - A PREROUTI NG - p udp - - dpor t 4000 - i ${ WAN} - j DNAT - - t o 192. 168. 0. 56

Aggi unger e i l s uppor t o a " Pl ays t at i on2 OnLi ne"


# i pt abl es - t nat - A PREROUTI NG - p t cp - - dpor t 10070: 10080 - i ${ WAN} - j DNAT - - t o 192. 168. 0. 11
# i pt abl es - t nat - A PREROUTI NG - p udp - - dpor t 10070: 10080 - i ${ WAN} - j DNAT- - t o 192. 168. 0. 11

Xbox Li v e
# i pt abl es - t nat - A PREROUTI NG - p t cp - - dpor t 3074 - i ${ WAN} - j DNAT - - t o 192. 168. 0. 69
# i pt abl es - t nat - A PREROUTI NG - p udp - - dpor t 3074 - i ${ WAN} - j DNAT - - t o 192. 168. 0. 69
# i pt abl es - t nat - A PREROUTI NG - p udp - - dpor t 88 - i ${ WAN} - j DNAT - - t o 192. 168. 0. 69

Nota: Se si dispone di altri esempi simpatici o frequentemente usati, inviare una mail all'autore della guida.

Il demone identd (per IRC)

Il protocollo IRC (Internet Relay Chat) utilizza pesantemente il servizio ident. Ora che i client IRC sono dietro il router, c'è bisogno di un modo per
raccogliere gli "ident" sia del router che dei client. Per fare ciò è stato creato un server chiamato mi dent d

Codice 6.2: Configurare ident


# emer ge mi dent d
# r c- updat e add mi dent d def aul t
# / et c / i ni t . d/ mi dent d st ar t

Ci sono alcuni altri server ident nel portage di Gentoo. Tenendo conto dei propri bisogni, si consiglia di dare un'occhiata ad oi dent d e f ak ei dent d.

Time Server

http://www.gentoo.org/doc/it/home-router-howto.xml 03/10/2013
Documentazione Gentoo Linux -- Configurare un Router domestico Page 5 of 7
Avere sempre un orologio di sistema sincronizzato è essenziale per mantenere un sistema in salute. Uno dei modi più comuni per farlo è usare il
Network Time Protocol (NTP) e il pacchetto ntp (che fornisce sia l'implementazione lato client che quella lato server).

Molte persone usano dei client ntp nei loro computer. Ovviamente più client ci sono nel mondo più grandi sono i carichi di lavoro che i server ntp
devono gestire. In situazioni come quella di una rete casalinga però, è possibile diminuire questo carico di lavoro dei server pubblici pur fornendo un
risultato accurato e veloce ai propri host. Tutto quello che bisogna fare è eseguire nel router un server ntp che si sincronizzi con un server pubblico per
poi fornire l'ora esatta al resto degli host nella LAN. Per cominciare, eseguire il comando emer ge nt p.

Codice 6.3: Configurare il server NTP


# nano / et c/ c onf . d/ nt p- c l i ent
Si può c onf i gur ar l o, ma i v al or i pr edef i ni t i dov r ebber o andar e bene
# r c- updat e add nt p- cl i ent def aul t

# nano / et c/ nt p. c onf
Aggi unger e ques t e r i ghe:
r es t r i ct def aul t i gnor e
r es t r i ct 192. 168. 0. 0 mas k 255. 255. 255. 0 not r ust nomodi f y not r ap
Quest o per met t er à di acc eder e al pr opr i o ser v er sol o dagl i hos t del l a LAN
# nano / et c/ c onf . d/ nt pd
Si può c onf i gur ar l o, ma i v al or i pr edef i ni t i dov r ebber o andar e bene
# r c- updat e add nt pd def aul t

# / et c / i ni t . d/ nt p- c l i ent s t ar t
# / et c / i ni t . d/ nt pd s t ar t

Nota: Assicurarsi di aver abilitato il traffico in entrata ed in uscita alla porta ntp (123/udp) del server. Per i client sarà sufficiente l'abilitazione per il traffico in uscita,
sempre sulla stessa porta.

Ora dare il comando emer ge nt p anche sui PC client. In questo caso la configurazione dovrebbe essere più semplice perché verrà abilitato soltanto il
client.

Codice 6.4: Configurare un client NTP


# nano / et c/ c onf . d/ nt p- c l i ent
Cambi ar e i l nome del s er ver da ' pool . nt p. or g' a ' 192. 168. 0. 1' nel l a v ar i abi l e NTPCLI ENT_OPTS
# r c- updat e add nt p- cl i ent def aul t
# / et c / i ni t. d/ nt p- c l i ent s t ar t

Server Rsync

Per reti in cui c'è più di una macchina con Gentoo, potrà capitare spesso di usare il comando emer ge s y nc con un server remoto. È possibile
risparmiare la propria banda e quella dei server di Gentoo usando un singolo server rsync locale. È una cosa veramente semplice da fare.

Nota: Per una guida più approfondita su rsync, consultare la guida su rsync ufficiale.

Dal momento che ogni computer con Gentoo richiede rsync nativamente, non c'è bisogno di installarlo. Basterà modificare il file di configurazione
/ et c / r s y nc d. c onf decommentando la sezione [ gent oo - por t age] ed assicurandosi di aggiungere un'opzione addr es s . Tutte le altre
impostazioni predefinite dovrebbero andare bene.

Codice 6.5: File di configurazione del server rsync


pi d f i l e = / v ar / r un/ r s yncd. pi d
use c hr oot = yes
r ead onl y = y es
addr es s = 192. 168. 0. 1

[ gent oo- por t age]


pat h = / mnt / s pace/ por t age
c omment = Gent oo Li nux Por t age t r ee
exc l ude = / di st f i l es / pac kages

Avviare infine il servizio.

Codice 6.6: Avviare il server rsync


# / et c / i ni t . d/ r sy nc d s t ar t
# r c- updat e add r sy ncd def aul t

L'unica cosa che rimane da fare è configurare i client affinché si colleghino all'IP del router per effettuare la sincronizzazione.

Codice 6.7: Configurazione della variabile SYNC nei client nel file make.conf
SYNC=" r s ync: / / 192. 168. 0. 1/ gent oo- por t age"

Server Mail

A volte può essere utile avere un proprio semplice server SMTP (Simple Mail Transfer Protocol) che gira sul router. Si potrebbe avere qualsiasi ragione
per farlo; l'autore di questa guida ha attivato questo servizio di modo che gli utenti vedano la propria mail come inviata istantaneamente, mentre tutto il
lavoro è lasciato al server mail. Oltretutto alcuni ISP, come Verizon, non accettano mail relaying (ovvero non permettono di usare i loro server SMTP)
se non si possiede un account della loro rete. Ancora, si potrà limitare la banda per l'invio delle mail di modo che gli allegati grandi non creino
rallentamenti della propria connessione per ore ed ore.

Codice 6.8: Configurare SMTP


# emer ge net qmai l
Ass i c ur ar s i c he l ' out put di ' host name' s i a cor r et t o
# emer ge - - c onf i g net qmai l
# i pt abl es - I I NPUT - p t cp - - dpor t s mt p ! - i ${ LAN} - j REJECT
# l n - s / v ar / qmai l / s uper vi s e/ qmai l - s end / ser v i c e/ qmai l - send
# l n - s / v ar / qmai l / s uper vi s e/ qmai l - s mt pd / s er vi c e/ qmai l - s mt pd
# c d / et c/ t c pr ul es. d
# nano t cp. qmai l - smt p

Aggi unger e una r i ga come ques t a al l a s ez i one " Al l ow" :


192. 168. 0. : al l ow, RELAYCLI ENT=" "

# mak e
# r c- updat e add s vs c an def aul t
# / et c / i ni t . d/ s vs can s t ar t

http://www.gentoo.org/doc/it/home-router-howto.xml 03/10/2013
Documentazione Gentoo Linux -- Configurare un Router domestico Page 6 of 7
Chi scrive è un grande fan di qmail, ma il lettore è libero di scegliere un altro MTA. Quando si configurano gli account e-mail negli host della propria
rete, impostare il server SMTP su di essi in modo che sia 192.168.0.1 e tutto dovrebbe funzionare. Per ulteriore documentazione, visitare l'homepage
di netqmail.

Server DHCP completo

Prima si è usato dnsmasq per fornire il servizio DHCP a tutti i client. Per la maggior parte delle persone con una semplice, piccola LAN, questa
soluzione è perfetta. Tuttavia, potrebbe esserci la necessità di qualcosa con più funzioni. Per questo ci si affida ad un server DHCP completo in tutto,
fornito dal team ISC.

Codice 6.9: Installare dhcpd


# emer ge dhc p
# nano / et c/ dhc p/ dhc pd. c onf
( Ec co un esempi o per i l f i l e di c onf i gur azi one: )
aut hor i t at i v e;
ddns- updat e- s t y l e i nt er i m;
s ubnet 192. 168. 0. 0 net mask 255. 255. 255. 0 {
r ange 192. 168. 0. 100 192. 168. 0. 250;
def aul t - l eas e- t i me 259200;
max- l ease- t i me 518400;
opt i on subnet - mask 255. 255. 255. 0;
opt i on br oadcast - addr es s 192. 168. 0. 255;
opt i on r out er s 192. 168. 0. 1;
opt i on domai n- name- ser v er s 192. 168. 0. 1;
}
# nano / et c/ c onf . d/ dhc pd
( I mpos t ar e I FACE=" et h0" )
# r c- updat e add dhc pd def aul t
# / et c / i ni t . d/ dhc pd st ar t

Questa è la configurazione minima richiesta per rimpiazzare le funzioni DHCP di dnsmasq usato in precedenza. A tal proposito, bisogna ricordarsi di
disattivare le funzioni DHCP in dnsmasq (basta commentare l'impostazone dhc p - r ange in / et c / dns mas q. c onf e riavviare il servizio).

Connettere un'altra LAN (o due o tre o...)

A volte potrebbe esserci la necessità di connettere il proprio router ad un'altra LAN. Magari per collegarsi temporaneamente ad un gruppo di amici
oppure il lettore potrebbe essere uno smanettone e voler sezionare gruppi diversi di computer o forse è solamente una persona solo molto, molto
annoiata. Qualunque sia la ragione, estendere il router ad un'altra LAN dovrebbe essere abbastanza semplice. Negli esempi seguenti si darà per
scontato che questa nuova rete sia collegata attraverso una terza scheda Ethernet chiamata et h2.

Per prima cosa, configurare l'interfaccia. Usare le istruzioni nel listato di codice 4.1, sostituendo et h0 con et h2 e 192. 168. 0 con 192. 168. 1.

Fatto ciò, configurare dnsmasq affinché fornisca i suoi servizi alla nuova interfaccia. Modificare di nuovo il file / et c / c onf . d/ dns mas q, aggiungendo
- i et h2 a DNSMASQ_OPTS; si può usare -i più volte. Poi modificare / et c / dns mas q. c onf e aggiungere un'altra riga come quella del dhcp-range
nel listato di codice 5.1, sostituendo 192. 168. 0 con 192. 168. 1. Si possono avere anche più righe dhcp-range.

Per finire, guardare le regole nel listato di codice 5.2 e duplicare le regole che contengono - i ${ LAN} . Per rendere le cose più semplici si potrebbe
creare un'altra variabile, chiamandola ad esempio LAN2.

7. Risoluzione dei problemi

Strumenti utili

Se si riscontrano problemi nel cercare di mettere in comunicazione i propri computer, i seguenti strumenti potrebbero risultare utili (sono tutti contenuti
nella categoria net - anal y z er di portage):

Strum e nt o De sc rizione
wireshark Strumento grafico per visualizzare tutto il traffico di rete grezzo secondo alcuni filtri
tcpdump Uno strumento da console per intercettare il traffico di rete grezzo secondo alcuni filtri
iptraf Monitor IP per la LAN basato sulle librerie ncurses
ettercap Monitor/Controllore di rete basato sulle librerie ncurses

DHCP non parte

Quando viene lanciato lo script init.d di dhcp per la prima volta, potrebbe non caricarsi senza fornire alcuna informazione utile.

Codice 7.1: Esempio di fallimento di DHCP


# / et c / i ni t . d/ dhc p s t ar t
* Set t i ng owner s hi p on dhc p. l eas es . . . [ ok ]
* St ar t i ng dhc pd . . . [ !! ]

Il trucco sta nello scoprire dove il demone dhcpd invia il suo output. Basta semplicemente posizionarsi su / v ar / l og e leggere i file di log. Dal
momento che il file dipende da quale syslog si sta usando, si può lanciare il comando gr ep - Rl dhc pd / v ar / l og per trovare il file esatto. La causa
che ha generato il mancato avvio di dhcpd è probabilmente un errore nel file di configurazione. Si può anche provare a lanciare dhc pd - d - f ed
effettuare il debug degli errori basandosi sull'output.

Valore dell'MTU sbagliato

Se occasionalmente si presentano degli errori (come il non riuscire a visualizzare alcune pagine web, mentre altre si visualizzano correttamente),
potrebbero esserci dei problemi con il "Path MTU Discovery". Il modo più veloce per scoprirlo è lanciare iptables:

Codice 7.2: Impedire problemi di MTU


# i pt abl es - A FORWARD - p t c p - - t c p- f l ags SYN, RST SYN - j TCPMSS - - c l amp- ms s - t o- pmt u

Questo avrà effetto solo sulle nuove connessioni, per cui ricaricare la pagina web che presentava problemi per verificare se tutto è a posto. Potrebbe
far comodo sapere che il valore MTU standard per connessioni ethernet a 100Mb è 1500; questo valore va bene anche per quanto riguarda PPPoA.
Per le connessioni PPPoE è invece 1492. Per ulteriori informazioni consultare il capitolo 15 della guida Linux Advanced Routing & Traffic Control
HOWTO.

Nel caso in cui questo comando non funzioni, si può provare ad inserire la regola nella tabella mangle. Per fare ciò basta aggiungere - t mangl e al
comando.

Impossibile connettere direttamente due computer

http://www.gentoo.org/doc/it/home-router-howto.xml 03/10/2013
Documentazione Gentoo Linux -- Configurare un Router domestico Page 7 of 7
Se (per qualche ragione) si vogliono connettere due macchine direttamente senza usare un hub o uno switch, un normale cavo ethernet non
funzionerà, a meno che non si possieda una scheda di rete Auto MDI/MDI-X (chiamate anche "autosensing"). Ci sarà bisogno di un altro tipo di cavo
che viene chiamato cavo incrociato (crossover). Su Wikipedia si possono trovare tutti i dettagli su questo argomento (la pagina di Wikipedia in Italiano è
qui).

8. Note Finali

Non ci sono note finali, tranne una. Se si riscontra qualsiasi problema con la guida, si prega di contattare l'autore o segnalare un bug qui. Se si
possiede qualche pezzo interessante che si pensa possa migliorare questa guida, inviarlo tranquillamente all'autore, che provvederà ad includerlo.

I contenuti di questo documento sono rilasciati sotto la licenza Creative Commons - Attribution / Share Alike.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.

http://www.gentoo.org/doc/it/home-router-howto.xml 03/10/2013