1) Linux e la rete
Linux, seguendo la tradizione Unix ed essendo egli stesso "figlio di Internet", dispone di tutti gli strumenti per renderlo parte di una rete (non solo Internet). In particolare andremo ad analizzare come collegarlo ad Internet utilizzando un modem analogico.
2) Configuriamo il modem
Possiamo trovarci di fronte a due tipi di modem interni ed esterni. Gli interni risiedono all'interno del PC, gli esterni invece si collegano al pc per mezzo di una delle porte seriali oppure, nel caso di modem USB, tramite interfaccia USB. Qualora avessimo un modem interno bisogna considerare l'ipotesi (molto probabile) che esso sia un "winmodem". Col termine winmodem si intendono tutti quei modem che emulano via software un chip (non solo il WinModem della 3Com, che detiene il marchio). Questo porta a ridurre il costo del modem (un chip costa molto di più di un dischetto con dei driver), a scapito di prestazioni (come tutti i software anche quello dei winmodem porta carico alla CPU) e di compatibilità verso i Sistemi Operativi per i quali non viene rilasciata dalle case costruttrici dei modem una versione del software indispensabile al suo funzionamento.
Ultimamente però iniziano a comparire i primi winmodem supportati da Linux, chiamati "linmodem". Questo grazie a tecniche di reverse engineering e all'aumentare dell'attenzione che sta avendo Linux. Attualmente sono supportati molti dei modem con chip Lucent, qualcuno della PC-TEL, e quello presente negli IBM Thinkpad 600, 600E e 770 (MWave). Per sapere se il vostro modem interno È un winmodem, potete consultare l'elenco presente su http://www.idir.net/~gromitkc/winmodem.html, che contiene un elenco aggiornato di quali modem funzionano e quali no su Linux.
Un modo veloce per controllare se si tratta di un winmodem È andare a controllare il nome che gli viene dato dai driver di Windows 9x. Se compare nel nome HSP, HCF, HSF, controllerless, host-controlled, host-based, and soft-xxxxxx modem, allora si tratta di un winmodem. Per ogni altra chiarificazione e per tenersi aggiornati sullo sviluppo dei driver per i "linmodem" consultate il sito www.linmodems.org
Un discorso simile va fatto per i modem USB. Il supporto per l'USB È ancora in fase di maturazione (È stato aggiunto nel recente kernel 2.4) e non tutte le periferiche USB sono in grado di funzionare sotto Linux. Si trova una lista dei dispositivi USB supportati da Linux sul sito www.linux-usb.org. Nessun problema invece per quanto riguarda i modem esterni che si collegano a una porta seriale del PC. Se siete intensionati ad acquistare un modem e a usarlo con Linux, la scelta migliore risulta essere quindi un modem esterno seriale. Per installare il modem su Linux dobbiamo conoscere la porta seriale a cui È installato. Può tornarci utile controllare da Windows a quale "COM" È collegato il modem. Una volta visto quale porta assegna Windows al nostro modem, basterà creare un link simbolico in /dev in questo modo:
(se il modem È sulla COM1 di Windows)
ln -sf /dev/ttyS0 /dev/modem
(per la COM2)
ln -sf /dev/ttyS1 /dev/modem
(per la COM3)
ln -sf /dev/ttyS2 /dev/modem
(per la COM4)
ln -sf /dev/ttyS3 /dev/modem
dove /dev/ttySx indica appunto la porta seriale. Per controllare quali porte seriali sono state riconosciute da Linux può tornare utile l'uso del comando "dmesg |grep ttyS". Dopo aver fatto riconoscere a Linux il modem, possiamo passare ora alla configurazione vera e propria della nostra connessione a Internet. A questo scopo ci vengono in aiuto una serie di programmi che rendono questa operazione user friendly almeno quanto Accesso Remoto di Windows.
3) Configurazione del file /etc/resolv.conf
Prima di continuare È importante impostare il server DNS del nostro provider andando a modificare il file /etc/resolv.conf nel seguente modo (per editarlo possiamo usare un qualunque editor per console come vi, emacs, joe, oppure uno per X (come gedit o kwrite).
domain nomedeltuoprovider.it nameserver XXX.XXX.XXX.XXX nameserver XXX.XXX.XXX.XXX
La prima riga (seppur non indispensabile, ma È buona norma inserirla) indica il dominio di default a cui fa riferimento la nostra macchina (per rendere l'idea È come se indicasse che il nostro PC fa parte della rete del nostro provider).
La seconda e la terza riga indicano il server DNS a cui rifarsi per la risoluzione dei nomi. Un server DNS si occupa per l'appunto di convertire un dominio.it (oppure .com o .net o qualsiasi altro) in un indirizzo ip che contraddistingue univocamente una macchina in rete (ed È l'ip il reale "indirizzo" di una macchina collegata a una rete). Nella seconda riga andrebbe messo il primary server mentre nella terza il secondary server (anche se quest'ultimo non È indispensabile).
Per conoscere quali sono gli indirizzi del server DNS del nostro provider possiamo provare a cercarli sul suo sito oppure chiedere all'assistenza tecnica. Non È strettamente necessario inserire quelli del proprio provider (seppure caldamente consigliato) in quanto la risoluzione avverrebbe ugualmente. Potete quindi usare anche quelli di un altro ISP (per esempio gli utenti di Libero usano 195.210.91.100 come primary server e 193.70.192.100 come secondary). Passiamo quindi ad analizzare alcuni dei migliori programmi per entrare in Rete col Pinguino.
4) XISP
XISP È un semplice programma che ci permette di configurare con pochi click la nostra connessione a Internet tramite PPP (Point-to-Point Protocol, il protocollo più usato per la connessione a Internet da casa). Potete scaricare i sorgenti o dei pacchetti precompilati all'indirizzo http://users.hol.gr/~dbouras/. Richiede che vengano installate anche le librerie forms (XForms), reperibili al seguente url: http://bloch.phys.uwm.edu/xforms .
Attualmente È giunto alla versione 2.6p1 e richiede le XForms 0.88 . E' comunque consigliabile installare direttamente i binari (reperibili all'url http://users.hol.gr/~dbouras/download.html) in quanto per compilarlo si richiede di modificare manualmente il file Makefile, operazione che potrebbe essere ostica a qualche utente alle prime armi.
Per installare i binari scriviamo in un terminale da utente root:
rpm -Uvh xforms-xxxxx.i386.rpm (xxxxx sta per la versione di xforms) rpm -Uvh xisp-xxxxx.i386.rpm (xxxxx sta per la versione di xisp) se la nostra distribuzione È una Red Hat (o un'altra che adotta l'rpm come pacchetto, come Mandrake per esempio)
Per Debian o un'altra distribuzione basata sui .deb il comando È: dpkg -i libformsxxxx_i386.deb dpkg -i xispxxxx_i386.deb
L'uso di XISP È molto intuitivo. Possiamo infatti con pochi click configurare il nostro collegamento a Internet, sia che il nostro provider usi il metodo di autenticazione PAP (nella grande maggioranza dei casi), sia che usi il CHAP o un'autenticazione tramite terminale. Per lanciarlo carichiamo X se non lo abbiamo già fatto, apriamo un terminale, scriviamo su, inseriamo la password di root e digitiamo xisp (se non volete essere vincolati dal lasciare aperto il terminale digitare nohup xisp & al posto di xisp).
A questo punto ci troveremo di fronte l'interfaccia di XISP. Per configurare un nostro account dovremo cliccare su "Options" e scegliere "Account Information", clicchiamo quindi su "Add" e inseriamo il nome del nostro provider o semplicemente un nome che identifichi questa nuova connessione. Nell'apposito riquadro inseriamo il numero di telefono ("Phone no(s)"), la username e la password del nostro account (rispettivamente "Account name" e "Password"). A questo punto dovremo scegliere il tipo di autenticazione in base a quella usata dal nostro provider.
Come già detto quasi tutti i provider (in particolare quelli di scala nazionale) usano il PAP (alcuni anche CHAP). Se invece il nostro provider utilizza un'autenticazione tramite terminale dovremmo scegliere "None", in questo caso penserà automaticamente XISP allo script di accesso. In basso a sinistra potremmo scegliere se indicare questa connessione come connessione di default ("Default ISP"), se lanciare automaticamente il collegamento appena caricato XISP ("Auto-dial upon startup") e se farlo ricollegare subito qualora cada la linea ("Re-dial dropped links"). Un altro menu importante È quello che sta sotto "Options" col nome "Communication Options". Da qui potremmo cambiare le stringhe di inizializzazione del modem, il device utilizzato dal modem (metteremo /dev/modem sotto la voce "Device") e la velocità della porta seriale (meglio scegliere 115200 alla voce "Serial Port Baud Rate").
Potrebbe risultare utile mettere come "Init" ATX3, in modo da evitare il problema del diverso segnale di libero usato negli Stati Uniti. Le altre opzioni possono ritenersi valide nella stragrande maggioranza dei casi. Per finire per fare la chiamata al nostro provider basterà cliccare sul pulsante "Connect" nella schermata principale.
5) KPPP
KPPP È il programma creato da team di KDE per una facile configurazione della nostra connessione a Internet. Se abbiamo selezionato KDE in fase di installazione allora È molto probabile che KPPP sia già presente sul nostro PC, altrimenti per installarlo preleviamo il relativo pacchetto kpppxxxxxx.rpm o kpppxxxxxx.deb e digitiamo (da utente root) rpm -Uvh kpppxxxxxx.rpm (per una Red Hat compatibile) oppure dpkg -i kpppxxxxxx.deb (per Debian). A questo punto aprite un terminale, e sempre da utente root, scriviamo kppp e premiamo invio.
KPPP si presenta con un'interfaccia che ricorda vagamente quella di Accesso Remoto. Per creare una nuova connessione clicchiamo su "Setup". A questo punto scegliamo "Dialog Setup" (il wizard presente purtroppo non supporta la connessione ai provider italiani).
Nel menu "Dial" alla voce "Connection Name" mettiamo il nome del nostro provider, selezioniamo "Add" inseriamo il numero di telefono del nostro POP e premiamo su "OK", scegliamo in basso il tipo di autenticazione usata e clicchiamo nuovamente su "OK" tenendo per buone le altre impostazioni presenti di default (se però, caso abbastanza raro, il nostro provider usasse un tipo di autenticazione tramite terminale dovremo inserire lo script di autenticazione alla voce "Login Script").
Alla voce "Device" impostiamo come modem /dev/modem, e settiamo a 115200 "Connection Speed". Possiamo inoltre regolare il volume del modem nel menu "Modem", oppure impostare il ricollegamento automatico se cade la linea ("Automatic Redial on Disconnect") o di rimanere sempre online anche se usciamo da X (disabilitando l'opzione "Disconnect on X-server shutdown" presente nel menu "Misc.").
Per lanciare la chiamata al nostro provider basterà anche qui cliccare sul pulsante "Connect" nel menu principale. KPPP rappresenta una buona scelta per chi utilizza KDE e vuole configurare con pochi click il proprio collegamento a Internet.
6) WVDIAL
Chi invece vuole evitare di dover dipendere da X per un semplice collegamento a un provider troverà senz'altro utile wvdial, uno strumento che lega la potenza della console a una grande facilità d'uso. Anche wvdial supporta la possibilità di configurare più account per il collegamento a Internet.
Se non È già presente sul nostro PC possiamo trovarne una copia sotto forma di pacchetto precompilato sul cd della nostra distribuzione (Debian lo installa di default), per installarlo basta come al solito "rpm -Uvh nomepacchetto.rpm" (per Red Hat compatibili) oppure "dpkg -i nomepacchetto.deb" (per Debian compatibili).
Una volta installato basterà lanciare "wvdial nomeprovider" per creare una nuova connessione verso il vostro provider. Wvdial dopo aver controllato la presenza del modem (lasciatelo acceso!) scriverà un file col nome nomeprovider che dovrete andare a modificare. Aprite perciò con un editor di testo il file appena creato e modificate in questo modo le ultime tre righe:
- togliete il ; da ognuna di queste tre righe (in questo modo toglierete il commento)
- andate a mettere al posto di "target Phone Number" il numero di telefono del vostro provider
- sostituite "Your Login Name" con la vostra username
- inserite la vostra password al posto di "Your Password".
Al resto penserà tutto wvdial! Per lanciare la vostra connessione basterà infatti scrivere "wvdial nomeprovider". Ho notato però che talvolta non viene riconosciuto l'account appena creato, per ovviare a questo inconveniente sostituite il file /etc/wvdial.conf con il nuovo file creato da wvdial in questo modo: "cp -f nomeprovider /etc/wvdial.conf" (perderete però i precedenti parametri di configurazione di wvdial, nel caso abbiate già creato altri account con questo programma).
7) Se qualcosa andasse storto?
Qualora dopo ore e ore passate tra disperati tentativi di collegarvi a Internet stiate per desistere tenete a mente queste cose:
- il vostro provider potrebbe già aver fatto degli script per il collegamento a Internet con Linux, quindi andate a dare una occhiata sul sito, potrebbe essere una scommessa vincente;
- se il vostro È un modem interno ci moltissime probabilità che sia un WinModem soprattutto se È abbastanza recente. Come già detto c'È poco da fare per questi tipi di modem;
- se notate atteggiamenti strani nel vostro modem, assicuratevi che il vostro provider sia ok in quel momento (per esempio controllate che non dia segno di occupato, per le linee intasate);
- ogni operazione per collegarsi a Internet andrebbe fatta da root, perchè È l'unico utente (root È l'amministratore di sistema) che possiede i privilegi necessari per modificare le impostazioni sul networking;
- tenete sottomano il contenuto del file /var/log/messages per controllare passo passo cosa sta succedendo mentre provate a collegarvi: potete aprire un terminale (premendo control+alt+Fx, dove x sta per un numero), loggatevi da utente root e scrivere "tail -f /var/log/messages", in questo modo il contenuto del file vi scorrerà sul terminale man mano che esso verrà scritto. Così potrete leggere gli eventuali errori in modo da risalire alla causa (per esempio password sbagliata). Per avere maggiori dettagli potete inserire l'opzione debug tra gli argomenti di pppd (il demone incaricato al ppp per l'appunto) con il comando "echo debug >> /etc/ppp/options" (potete controllare quali argomenti vengono passati di default con "cat /etc/ppp/options").
Detto questo non ci rimane altro che salutarci e augurarvi buona navigazione!