Modem ADSL (Vitelcom)

Objectiu:

La intenció d’aquest petit tutorial és la de disposar d’una connexió ADSL en el nostre entorn Linux. La principal motivació va ser la de disposar d’una línia de backup per a recuperar-nos de possibles caigudes de la línia principal del router que tenim amb iptables.

Material del que disposem:

La configuració la realitzarem sobre un modem ADSL (Vitelcom), el petit i blau transparent que subministrava STA, fa temps, amb la contractació de línies ADSL a Andorra.

Obtenció del software necessari:

La gran part del que farem servir es troba per defecte instal·lat en la nostra distribució Ubuntu Server 7.04. A destacar:

  • un kernel >2.6.10
  • les eines pppd

El que serà indispensable descarregar és el controlador del mòdem, que podríem treure del CD que ve amb el mòdem, però per desgràcia aquest no funciona. D’aquest controlador ens en interessarà obtenir-ne el firmware per a instal·lar en el nostre Ubuntu.

Per extreure el firmware del controlador farà falta aquest (utils.tar.gz) programa. L’execució és de la següent manera:

$ tar zxvf utils.tar.gz
$ cd utils
$ gcc cxacru-fw.c -o cxacru-fw
$ ./cxacru-fw CnxEtu.sys cxacru-fw.bin

L’arxiu CnxEtu.sys està al CD de drivers de Windows del mòdem. El que ens interessa és disposar de l’arxiu cxacru-fw.bin que és el que utilitzarem.

$ cp cxacru-fw.bin /lib/firmware/`uname -r`

Una versió d’aquest arxiu que ens funciona correctament la podeu descarregar d’aquí. Un cop instal·lat podem passar a la configuració.

Configuració:

La configuració es realitza mitjançant els arxius de l’eina pppd. Aquests es troben a la carpeta /etc/ppp. Els arxius que haurem de modificar són:

  • options
  • chap-secrets
  • peers/sta

L’últim arxiu no existeix, el crearem nosaltres amb les opcions de connexió del nostre proveïdor.

Sempre és una bona idea fer una còpia de seguretat dels arxius originals:

$ cp /etc/ppp/options /etc/ppp/options.orig
$ cp /etc/ppp/chap-secrets /etc/ppp/chap-secrets.orig

La configuració mínima de l’arxiu options és la següent:

user loginSTA
plugin pppoatm.so 8.35
asyncmap 0
noauth
hide-password
noipdefault
persist

La contrasenya de la connexió s’emmagatzemarà en l’arxiu chap-secrets, que tindrà el següent contingut, a adaptar segons les dades que coneguem:

loginSTA *       sta

finalment, l’arxiu amb les particularitats de la connexió amb STA serà el següent (/etc/ppp/peers/sta), de nou, a adaptar segons el nostre proveïdor:

$ pico /etc/ppp/peers/sta
noipdefault
defaultroute
replacedefaultroute
persist

Amb aquests arxius modificats podem passar a la connexió inicial. Connectar i desconnectar ho farem amb les comandes pon i poff.

Per connectar:

$ pon sta

Per desconnectar:

$ poff

Podrem comprovar que la connexió s’ha dut a terme correctament visualitzant el log del sistema, hauríem de veure quelcom com ara:

date pppd[14715]: Using interface ppp0
date pppd[14715]: Connect: ppp0 <--> 8.35
date pppd[14715]: CHAP authentication succeeded
date pppd[14715]: local  IP address xxx.xxx.xxx.xxx
date pppd[14715]: remote IP address xxx.xxx.xxx.xxx

Només queda assegurar-nos que la resolució DNS es faci correctament. Com ja sabem, això ho podem fer afegint servidors DNS a l’arxiu /etc/resolv.conf.

nameserver xxx.xxx.xxx.xxx

En aquest punt disposarem d’una interfície de xarxa ppp0 (en general) que podem utilitzar com a interfície a configurar amb l’iptables.