Connexió de la LAN a Internet via modem

S'explica com s'aconsegueix tenir accés a internet compartit en una LAN si només es disposa d'un modem en un ordinador. La necessitat vé de disposar d'un portàtil amb accés wifi i voler evitar les molesties de moure el portàtil on hi hagués una línia de telèfon per tenir accés a internet.

Això ha estat possible gràcies a l'ajuda de l'Oriol.

Antecedents

Tenim un PII-350MHz amb una Debian Woody instal·lada. Aquest servidor Debian disposa de connexió a Internet mitjançant un modem extern connectat a un port serie.

Des d'aquest Linux es connecta a Internet executat la funció pppd call ISP que realitza una connexió utilitzant la informació del ISP que aporta l'ISP. Per tallar la connexió s'utilitza la instrucció killall pppd que elimina qualsevol connexió ppp.

També disposem d'un portàtil nou amb connexió wifi, el qual volem que pugui connectar-se a internet utilitzant el servidor Debian.

Modificacions

Per aconseguir la connexió a internet des del portàtil i des de qualsevol ordinador de la LAN hem instal·lat en el servidor Debian un servidor de telnet que ens permetrà via remota realitzar la connexió a internet.

Per poder connectar el portàtil via wifi amb el servidor Debian, s'ha instal·lat un AP wifi (Linksys WRT54G) que ens ofereix 4 ports LAN per poder conectar amb el servidor wifi.

Configuració Servidor Debian

Per permetre la connexió de la resta d'ordinadors de la LAN, hem d'activar la NAT. Això es farà mitjanaçant la instrucció iptables. Exactament amb la instrucció:

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

Si analitzem la instrucció tenim la opció -t nat que defineix el tipus de taula que es vol modificar. La opció -A POSTROUTING indica que s'afegirà una nova regla a la llista de postencaminament la qual modifica els paquets que surten. La opció -o ppp0 indica la interficie sobre la surten els paquest que s'aplicarà aquesta regla, en el nostre cas la interficie de connexió del modem. L'ultima de les opcions -j MASQUERADE indica el destí de la regla, el qual pot apuntar a una altra regla o a una extensió com tenim nosaltres, la extensió MASQUERADE s'utilitza només per assignar IPs dinàmicament en connexions telefòniques.

Ja tenim la nat configurada, ara toca donar permisos perquè el servidor Debian reenvii la informació rebuda des de la LAN per la interficie ppp0, en aquest cas em d'habilitar l'ip_forward. Això en una distribució Debian s'aconsegueix posant a 1 els fitxers següents:

/proc/sys/net/ipv4/ip_forward
/proc/sys/net/ipv4/conf/ppp0/forwarding

ho podem aconseguir executant:

echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/conf/ppp0/forwarding

A partir d'aquí la connexió a Internet ja està compartida per a tota la LAN. Tingueu en compte que el fitxer /proc/sys/net/ipv4/conf/ppp0/forwarding no existeix fins que la connexió a internet està activa.

Automatitzar la configuració al connectar-me

Tot el que s'ha fet fins ara es molt ferragos de fer cada vegada que volguem realitzar una connexió a Internet des d'un ordinador de la LAN. Per això mirarem que la configuració estigui s'activi cada cop que ens connectem i anular-la al desconnectar-nos.

Per això crearem dos escripts, un per activar la configuració i l'altre per desactivar-la, i els col·locarem en els directoris /etc/ppp/ip-up.d i a /etc/ppp/ip-down.d, directoris on s'executen tots els seus fitxers cada cop que s'activa una connexió ppp i cada cop que s'elimina.

Els fitxer de configuració serà el següent:

#!/bin/sh

# Configura la nat
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# Activa els permisos de NAT
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/conf/ppp0/forwarding

El fitxer de final de connexió serà el següent:

#!/bin/sh

# Desconfigura la nat
iptables -t nat -D POSTROUTING -o ppp0 -j MASQUERADE

# Desactiva els permisos de NAT
echo 0 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/conf/ppp0/forwarding

Conclusions

Ja tenim disponible connexió a Internet mitjançant modem per a tota la LAN utilitzant la NAT. Tanmateix encara s'ha d'obrir una connexió telnet per obrir la connexió, cosa que podria automatitzar-se però que tampoc és tant necessari.

Així que per tenir connexió a internet teclegem:

$ telnet ServidorDebian
$ login: nom_usuari
$ Password: codi_usuari
$ pppd call ISP

i per finalitzar

$ killall pppd
$ exit

Aquest document l'he aportat amb una connexió a Internet tal com he explicat.

Opcions de visualització de comentaris

Escull com vols veure els comentaris i clica 'Desa configuració' per activar els canvis.

Gràcies de què???

Gràcies a tu home, que t'has currat a documentar-ho perquè ho pugui saber tothom. Jo només et vaig donar una petita pista. Espero que li sigui útil a més gent. Tot i que ja no és massa freqüent haver d'usar modem i esperem que amb el guifi cada dia ho hagi de ser menys i menys.

Doncs a mi si que em servirà

Doncs a mi si que em servirà! ^^ Encara vaig amb modem... L'excusa que tinc és que d'aquí poc haig de canviar de casa i espero a llavors...
El servidor Debian ja el tinc muntat, ara només em faltava configurar la tarja de xarxa i connectar-hi el pc "bo".
Moltes gràcies! Just el què buscava!!!! Smiling

Me n'alegro

Hola,

Sembla mentida, jo duia un parell d'anys volent-ho fer, però al no trobar informació sobre el tema, ho havia deixat estar, sort de l'Oriol que em va donar les pistes necessaries per aconseguir-ho.

Però el més important no és aconseguir-ho, el més important és explicar-ho de forma entenedora perqué algú altre pugui aprofitar-ho. Així que ja sabeu, si descobriu com fer quelcom important per a vosaltres, segurament algú altre també li pot interesar i s'en podrà aprofitar si perdeu uns minuts en explicar-ho.

No hem de ser egoistes guardant-nos el que sabem, compartim-ho!!!

No saps com me n'alegro que algú li sigui profitos el temps que he dedicat a explicar com ho he fet. Smiling

Gràcies,
Carles

pàgina generada en: 0.483 segons.