Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian

Introduzione

Questo strumento permette di configurare facilmente ed in maniera guidata pppd al fine di creare una connessione ADSL direttamente gestita dalla macchina debian su cui è installato pppoeconf. Questa possibilità risulta utile in due scenari:

  • si ha a disposizione un modem ADSL ethernet puro, ovvero che non offra anche funzionalità di router/gateway;
  • si ha a disposizione un modem ADSL/router/gateway ethernet, ma lo si vuole usare solo come modem ADSL per poter dedicare una propria installazione debian al ruolo di router/gateway (e quant'altro si voglia).

Ora, il primo scenario è ormai puramente teorico, visto che ormai da diversi anni tutti i modem in commercio sono in realtà dispositivi integrati che forniscono numerose funzionalità, tra cui appunto anche quella di router/gateway. Rimane dunque il solo secondo scenario, cui questa guida farà riferimento.

Requisiti hardware della macchina debian

Almeno due interfacce di rete, di cui una da collegare al modem/router/gateway e l'altra da usare per la connessione con tutti i dispositivi della lan. L'interfaccia verso la LAN può essere a filo o wireless, ma quella verso il modem deve necessariamente essere a filo, almeno per quanto concerne la presente guida.

Configurazione del modem/router/gateway

Prima di passare all'installazione e configurazione del software sulla macchina debian è necessario configurare correttamente la modalità di funzionamento del modem/router/gateway. L'unico modo infatti che un tale dispositivo ha di funzionare come semplice modem è di essere impostato come full bridge, ovvero secondo quanto definito dalla specifica RFC 2684 (ex RFC 1483). Poiché ogni produttore fa storia a se non è possibile dare delle istruzioni precise su come configurare il proprio modem/router/gateway, tuttavia in linea generale questa modalità di funzionamento sarà identificabile per esclusione, visto che di norma i suddetti dispositivi offrono tre modalità, di cui due sono sempre pppoe e pppoa.

  ATTENZIONE
La specifica RFC 2684 presuppone l'utilizzo di pppoe da parte del proprio ISP, quindi se così non fosse l'utente deve necessariamente usare un dispositivo autonomamente in grado di "trasformare" i pacchetti pppoe in pppoa. Poiché tali dispositivi non sono molto comuni si cita a titolo puramente d'esempio il Draytek vigor120


Installazione e configurazione del software

Contrariamente al solito si descriverà prima la procedura di configurazione invece che presentare subito il comando di installazione, poichè al termine della procedura d'installazione viene immediatamente avviata la procedura di configurazione guidata e quindi è utile prepararsi in anticipo alcuni dati che saranno richiesti. Tale procedura in primis esamina tutte le interfacce di rete presenti per rilevare tutti i concentratori d'accesso presenti (cioè i modem, che in un ambito soho sarà ragionevolmente solo uno), dopo di che pone le seguenti domande all'utente:

  • confermare l'interfaccia di rete usata per il collegamento col modem;
  • indicare il nome utente da usare per la procedura di autenticazione col proprio ISP;
  • indicare la password da usare per la procedura di autenticazione col proprio ISP;
  • indicare una serie di parametri di cui si può in genere accettare il valore predefinito. Si richiama l'attenzione solo sulla richiesta dell'uso dei peer DNS: se l'utente ha già un suo server dns nella LAN ragionevolmente risponderà no a tale domanda, viceversa sì.

Si noti che verranno apportate modifiche al file /etc/network/interfaces, quindi l'utente è invitato a farsi una copia di tale file prima dell'installazione.

  ATTENZIONE
pppoeconf non configura nessun tipo di firewall! L'utente è quindi invitato a navigare il minimo indispensabile al fine di testare la propria connessione ADSL.


Premesso quanto sopra si proceda all'installazione di pppoeconf digitando:

# aptitude install pppoeconf

Tutte le informazioni fornite sono state salvate nei seguenti due file:

  • credenziali di accesso del proprio ISP in /etc/ppp/chap-secrets.
  • parametri di configurazione della linea adsl in /etc/ppp/peers/dsl-provider, posto naturalmente di aver accettato il nome suggerito da pppoeconf.

Se si è accettato di attivare la connessione ADSL direttamente all'avvio del computer il file /etc/network/interfaces dovrebbe risultare modificato come segue, almeno limitatamente all'interfaccia usata per il collegamento col modem, cioè eth1 nel seguente esempio:

auto dsl-provider
iface dsl-provider inet ppp
        pre-up /bin/ip link set eth1 up # line maintained by pppoeconf
        provider dsl-provider

auto eth1
iface eth1 inet manual

Comandi manuali

È sempre possibile avviare manualmente la propria connessione col comando:

$ pon dsl-provider

mentre per terminarla:

$ poff dsl-provider

Chiaramente il lettore dovrà sostituire dsl-provider col nome della propria connessione se ne è stato indicato uno differente in fase di installazione.

Considerazioni finali

A questo punto la connessione ADSL dovrebbe risultare funzionante, tuttavia è fortemente sconsigliato il suo utilizzo almeno fino a quando non si configura un firewall. Si sottolinea inoltre come tale connessione sia attualmente utilizzabile solo dalla macchina su cui è stato installato pppoeconf. Per permettere anche agli altri dispositivi della LAN di accedere a internet sono necessari tre ulteriori passaggi:

  1. attivare l'ip forwarding a livello kernel;
  2. attivare il masquerading per le connessioni in uscita;
  3. cambiare su ogni macchina (o nel server dhcp qualora se ne abbia uno) l'ip del gateway in modo che coincida con quello del computer su cui si è installato pppoeconf.

IP forwarding

Digitare:

# echo 1 > /proc/sys/net/ipv4/ip_forward

che equivale ad editare il file /etc/sysctl.conf e impostare a 1 la seguente variabile:

net.ipv4.ip_forward = 1

Masquerading

È possibile impostarlo usando iptables (o altro software):

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Si noti che questo comando, pur essendo basato su iptables, non imposta alcun tipo di firewall, ma solo il nat dei pacchetti in uscita verso internet.