Author: Oriol Rius

VRA de Vodafone (GPRS/UMTS) amb linux

Reading time: 6 – 10 minutes

Com ja heu anat podent llegir en els últims posts estic provant la targeta 3G de Vodafone. Per poder iniciar un desenvolupament per un tema de feina. Així doncs després de comprobar com funciona amb windows tan amb el software de comunicacions de vodafone (VMC) com a través de l’acceso telefonico a redes del win. M’he decidit a donar-hi un cop d’ull amb Linux. La veritat és que sorprenenment la cosa ha estat molt més senzilla del que em pensava. Fins hi tot he trovat molta més documentació de la que vaig trobar fa més d’1any quan vaig provar la targeta que llavors només era GPRS.

Malgrat tota la documentació que he trobat per internet parlava de la targeta Option model 5000 us puc confirmar que aquesta també aplica al model 6300. Com podreu veure amb les fotos que us penjo a continuació jo he provat les dues la 5000 i la 6300 ja que una la tinc de fa força temps però no tenia targeta per provar-la i l’altre és la que hem comprat pel projecte.

VRA model 5000:

vra5000.jpg

VRA model 6300:

vra6300.jpg

Configurant el sistema

Tornant al tema linux, doncs bé ambdues targetes disposen d’un bridge intern entre un bus PCMCIA i un HUB USB de 3 ports. Així doncs, per tal de que funcionin heu de tenir el vostre sistema PCMCIA configurat i us heu d’assegurar que es llença el modul usbserial i ohci_hcd que seran els que faran carregar el HUB USB que hi ha dins la PCMCIA i fer apareixer els corresponents ports serie per poder accedir al modem. Si mireu els missatges del kernel podreu veure algo semblant a això (dmesg):

usb 5-1: new full speed USB device using ohci_hcd and address 2
usbcore: registered new driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial support registered for Generic
usbcore: registered new driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core v2.0
drivers/usb/serial/usb-serial.c: USB Serial support registered for Option 3G data card
option 5-1:1.0: Option 3G data card converter detected
usb 5-1: Option 3G data card converter now attached to ttyUSB0
option 5-1:1.1: Option 3G data card converter detected
usb 5-1: Option 3G data card converter now attached to ttyUSB1
option 5-1:1.2: Option 3G data card converter detected
usb 5-1: Option 3G data card converter now attached to ttyUSB2
usbcore: registered new driver option
drivers/usb/serial/option.c: Option Card (PC-Card to) USB to Serial Driver: v0.4

El que us pot portar a confusió és quan mireu els dispositius USB que teniu connectats al sistema (lsmod):

# lsusb
Bus 005 Device 002: ID 0af0:5000
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 003: ID 413c:8000 Dell Computer Corp.
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 004: ID 0d3d:0001 Tangtop Technology Co., Ltd
Bus 001 Device 001: ID 0000:0000

Podeu veure que a la primera línia malgrat no hi ha cap descripció té un dispositiu connectat del venedor amb el codi: 0x0af0 (idVendor, o sigui, Option) i el model del dispositiu: 0x5000 (idProduct). Com podeu veure ara mateix el que tinc connectat és la targeta model 5000 la 6300 simplement apareix aquest número enlloc de l’altre.

Jo he fet les proves amb un kernel 2.6.13.2 (amb udev, devfs ja no es suporta a la v.2.6.13). Si el que vull és verificar que se m’han creat els ports serie amb els que accediré al modem puc fer algo tan senzill com:

$ ls -l /dev/tts
total 0
crw-rw----  1 oriol tty   4, 64 Sep 25  2005 0
crw-rw----  1 oriol tty   4, 65 Sep 25  2005 1
crw-rw----  1 oriol tty   4, 66 Sep 25  2005 2
crw-rw----  1 oriol tty   4, 67 Sep 25  2005 3
crw-rw----  1 root  tty 188,  0 Sep 25 17:29 USB0
crw-rw----  1 root  tty 188,  1 Sep 25 17:28 USB1
crw-rw----  1 root  tty 188,  2 Sep 25 17:28 USB2

Notes sobre el kernel

Aneu en compte perquè no es configura igual la targeta per kernels >2.6 i <2.6.13 que pels >2.6.12. Més informació al link [2] de la secció de links. Els primers només necessiten el mòdul usbserial i ohci_hcd. Els més nous porten un mòdul dins la secció USB Serial del kernel especific pels mòdems GPRS/UMTS de la marca Option (CONFIG_USB_SERIAL_OPTION=m). Per tant, heu d’usar els dos mòduls anteriors més el modul específic.

Accedint al modem amb el minicom per introduir el PIN

El primer que hem de fer és introduir el codi PIN de la targeta SIM, notareu que quan la targeta esta configurada i encara no em entrat el PIN els dos LEDs que porta un fa pampallugues de color verd i l’altre de color vermell després d’entrar el PIN la vermella hauria de desapareixer.

Per posar el PIN de moment no he buscat cap sistema que ho fassi automàticament. Així doncs ho he fet a mà. Amb el minicom la configuració que he usat per entrar-hi és la següent: (minicom -s)

minicom.png

Per introduir el PIN només em d’entrar al minicom i escriure: AT+CPIN=”1234″, sent 1234 el nostre PIN. Si el PIN és correcte el modem ens tornarà un OK i al cap d’uns 30s el llumet vermell s’apagarà.

Aprofitant que estem al minicom podem aprofitar per llençar algunes ordres més a través de les comandes AT:

  • AT+CSQ torna el nivell de senyal que estem revent. Per tenir una connexió acceptable en GRPS/UMTS hem de rebre almenys un nivell 12. Jo a casa només rebo entre un 5 i un 9 per això em falla tan l’enllaç.
  • AT&V ens permet consultar les configuracions que porta la targeta de serie.
  • AT_OPSYS=”0,2″ només acceptem enllaços per GPRS
  • AT_OPSYS=”1,2″ només UMTS.
  • AT_OPSYS=”2,2″ preferiblement GPRS.
  • AT_OPSYS=”3,2″ preferiblement UMTS.

Configurant el dial-up

Com a programa per gestionar les connexions a internet he usat el gnome-ppp. Recordeu que l’usuari que llenci aquest aplicatiu ha de tenir permisos (amb read+write n’hi ha prou) sobre el dispositiu de modem (en el meu cas /dev/tts/USB0). La configuració del dia-up és molt simple us la poso en aquestes captures:

screen1.png
screen2.png
screen3.png
screen4.png

Conclusió

Bé doncs, amb tot això n’haurieu de tenir prou per poder configurar les VRA 5000 o 6300 de Vodafone. No oblideu que per molt Vodafone que posi, l’empresa que realment fabrica les targetes és OPTION. Per aconseguir ajuda per internet sempre pot ser útil. Tot el que he explicat aquí ho he extret els links que us engaxo a continuació.

Links

Servidors web i de fitxers i servidor web alimentat amb patates

Reading time: 2 – 2 minutes

Primer de tot comentar que no m’he pogut aguantar més i m’he configurat la targeta 3G al portatil amb el guindows… la cosa de moment només puc dir que va i no va… o sigui, hi ha moments que va prou ràpid i d’altres en que es queda tonto i has de recarregar les pàgines perquè funcionin. Potser el més destacable és comprobar que el SSH funciona. Que tinc una IP pública i que a més tinc tots els ports visibles des d’internet, o almenys això sembla de moment. Però els KBytes sumen i sumen i la informació rebuda no compensa. Sort de la tarifa plana… això continua igual de malament que fa 1 any quan ho vaig provar per primer cop.

Tornant a l’article en qüestió us penjo una granja de servidors:

serverfarm.jpg

Doncs si nois és una micro-granja de servidors amb dos servidors un de web i un de fitxers, potser els més petits del món o això diu el seu autor. Més informació sobre aquesta curiositat tan interessant a: WebACE I (servidor web) i WebACE II (servidor de fitxers).

Del mateix autor la seva última creació, el servidor web alimentat per l’energia que generen les patates:

spud.jpg

Si voleu veure com funciona amb tot detall aquest micro-servidor a base de patates: Spud.

VRA de Vodafone

Reading time: 2 – 4 minutes

vra.gif

Acabo d’arribar a casa: BIEN!!! Com haig d’anar de cansat entre la feina d’aquí i la d’Andorra. Tan viatjar i a més la m___ de connexió que tinc a allà d’alt que fa més d’1 setmana que tinc la VRA de Vodafone 3G amb tarifa plana i encara ni l’he obert. Com que el tràfic de dades no té roaming a Andorra doncs la veritat tampoc l’he pogut provar.

Això si tants quilòmetres amunt i avall tinc una d’informació inútil que vaig aprenent per la carretera, què és informació inútil. Per exemple, a Andorra hi ha un hotel molt famós que es diu: Roc blanc doncs a Ponts, un dels famosos pobles pels que es passa per anar a Andorra des de casa meva hi ha un hotel que es diu: pedra negra. Interessant,eh!?

Doncs res nanos, altres efectes d’anar tan avui i avall és tenir dies com el que m’espera demà, no us perdeu l’horari que m’espera:

  • 9:00-9:15 trucada d’un projecte de seguretat nou
  • 9.15-10:30 reunió per montar una nova vpn per un client
  • 10:30-13:00 reunió amb l’equip de programació d’AS2
  • 13:00-14:00 reunió amb partner del projecte movilpoint
  • 16:00-18:00 reunió pel tema d’una web de música

Com mola el meu dia,eh!? això si quan plegui me’n penso anar de pet cap a casa em fotre una dutxa ben relaxant i entraré en mode vegetal fins dilluns així que si algú em parla i no li contesto que no s’ho prengui com algo personal perquè la setmana que vé no pinta molt millor 🙂

UpDate: podeu veure més informació sobre les primeres proves amb la VRA a: Servidors web i de fitxers i servidor web alimentat amb patates.

UpDate 2: mentre espero que vingui la reunió de les 16h m’he connectat amb la VRA que ara automàticament m’ha passat a 3G des de l’oficina de Cornellà. La cosa va molt millor que des de casa, ni punt de comparació. No diria que és com una ADSL de 256 però de moment pel que veig poc li té que envejar. Aquesta afegit l’estic fent des de la VRA. He vist com a nota curiosa que la IP que em sortia des de casa era del tipus 212.x.x.x i la que m’ha sortit des de Cornellà és 62.x.x.x no sé si canviarà segons si uso 3G o GPRS ja us ho comentaré.

Canviar el directori d’spool de windows

Reading time: 3 – 5 minutes

Les cues d’impresió al windows estan a: %SystemRoot%\system32\spool\PRINTERS si pel motiu que sigui necessitu canvi la localització d’aquestes cues, podeu editar la següent entrada del registre:

System Key: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers]
Value Name: DefaultSpoolDirectory
Data Type: REG_SZ (String Value)
Value Data: Full path to printer spool directory

NOTA: no oblideu que perquè això tingui efecte cal re-iniciar el sistema.

FONT: Changing the Default Printer Spool Directory (Windows NT/2000/XP)

Passant nou firmware a un Cisco via tftp

Reading time: 2 – 4 minutes

cisco.gif

Seguint amb la línia d’explicar tonteries sobre els Cisco, coses molt simples que passen poc sovint i que quan passen mai recordem com es feien. Avui vull fer-me un petit apunt a com carregar un nou IOS a un router de Cisco.

Primer cal que tinguem al nostre PC instal·lat un servidor de TFTP amb el nou IOS apunt per descarrega. Un bon manual per configurar el atftp en gentoo: Gentoo Linux based Netboot HOWTO (cache)mireu-vos només la secció: The tftpd Daemon. Després cal connectar-se al router amb el cable de consola de Cisco (DB9-RJ45) com sempre amb el minicom (programa terminal que uso des de linux per configurar els routers, equivalent a l’hyperterminal del win). Recordeu que la configuració serie és 9600bps, 8 bits dades, sense control de fluxe i 1 bit stop (9600 8N1).

Posem al portatil, per exemple, la següent configuració: 10.0.0.2/255.255.255.0 i a la fastethernet interface del cisco: 10.0.0.1/255.255.255.0.

Router>enable
Router#
Router# config t
Router(config)# interface fastethernet 0/0
Router(config-if)# ip address 10.0.0.1 255.255.255.0
Router(config-if)# no shutdown
Router(config-if)#exit
Router(config)#exit
Router# wr mem
Destination filename [startup-config]?  enter

Comproveu que podeu ‘pinguejar al router’. Després de confirmar que tenim enllaç només cal assegurar-nos de que el servidor TFTP i el IOS estan apunt per ser descarregats pel router.

Comença el procés interessant, el canvi de IOS:

Router#copy tftp flash
Address or name of remote host []? 10.0.0.2   /* ip portatil */
Source filename []? c1700-y7-mz.122-15.T7.bin /* nom del IOS */
Destination filename [c1700-y7-mz.122-15.T7.bin]? enter /* nom IOS al router */
Accessing tftp://10.0.0.2/c1700-y7-mz.122-15.T7.bin...
Erase flash: before copying? [confirm] ? enter
Erasing the flash filesystem will remove all files! Continue? [confirm] enter
Erasing device... eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ...erasedee
Erase of flash: complete
Loading c1700-y7-mz.122-15.T7.bin from 10.0.0.2 (via FastEthernet0): !!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 6393852 bytes]
	Verifying checksum...  OK (0x5D11)
6393852 bytes copied in 78.804 secs (81136 bytes/sec)
Router#
Router#reload
Proceed with reload? [confirm] enter

Ja tenim el nou IOS al router ara quan acabi de rebotar podem comprovar que així és:

Router>en
Router#sh version
Cisco Internetwork Operating System Software
IOS (tm) C1700 Software (C1700-Y7-M), Version 12.2(15)T7,  RELEASE SOFTWARE (fc2)
TAC Support: http://www.cisco.com/tac
Copyright (c) 1986-2003 by cisco Systems, Inc.
Compiled Sat 09-Aug-03 06:42 by ccai
Image text-base: 0x80008120, data-base: 0x80AB2194
	ROM: System Bootstrap, Version 12.2(7r)XM2, RELEASE SOFTWARE (fc1)
	Router uptime is 23 minutes
System returned to ROM by reload
System image file is "flash:c1700-y7-mz.122-15.T7.bin"

La comanda screen

Reading time: 2 – 4 minutes

Doncs la veritat és que amb els anys que fa que uso linux que no són pocs ja, havia sentit ha parlar moltes vegades d’eines com l’screen però no sé per quin motiu mai m’havia dedicat a mirar-les a fons. Doncs bé aprofitant que ara mateix estic a Andorra més sol que un mussol, que no fan res a la TV i que no tinc cap peli en DIVX per mirar al portatil m’he llegit un article de NOVELL que tenia descarregat sobre el tema de l’screen i realment m’he quedat sorprés de la potència i la de coses interessants que ens permet fer.

Havia pensat en reescriure el manual que acabo de llegir en anglès en català però crec que no val la pena perquè el manual és molt simple. Així que us recomano que el mireu: Turbocharge an SSH Connection with screen (cache local)a més és molt fàcil de llegir i ple de captures de pantalla. El que si que faré és argumentar-vos perquè l’heu de llegir i què té de bo l’screen.

Una de les avantatges que més m’han agradat és el fet de poder mantenir sessions amb aplicatius de linia de comanda sense que aquestes es perdin quan perdem una sessió remota. O sigui, que podem fer el mateix que fem amb la comanda nohup (man nohup) deixar aplicacions funcionant quan sortim de la sessió però a més aquestes aplicacions poden ser interactives i les podem recuperar quan vulguem. Bàsicament la diferència esta en que nohup llença comandes sense associar-les a un tty i screen treballa amb pseudo-ttys (pts).

L’altre avantatge que m’ha agradat molt és el fet de poder tenir multiples sub-consoles dins de la propia consola remota. O sigui, que només obrint un SSH (un sol socket) podem tenir més d’un programa funcionant a la vegada (encara que sigui interactiu) i podem anar canviant de l’un a l’altre sense haver d’obrir més sessions. En el document de NOVELL usen d’exemple 3 comandes simultanees: top, vi i ps. A més ens permet saltar d’una sessió a l’altre o fer coses tan espectaculars com partir la pantalla i veure la sortida de les dues aplicacions simultaneament.

La potència de la comanda no acaba aquí, podeu copiar i enganxar texte entre consoles i moltes altres coses així que us recomano que us passeu pel wiki del programa i aprofundiu en el tema si us ha agradat tan com a mi.

Primer enllaç wifi a base de Nesquik a Torrelavit

Reading time: 1 – 2 minutes

Tal com s’explicava a comesfa, el nostre mestre de les manualitats en Toni amb la incalculable ajuda del Jordi tal com explica el Toni al seu propi blog s’han currat una anteneta a base de Nesquik. Així que ja hem substituït un dels colls de d’ampolla que teniem a la xarxa per un enllaç tipus g que de moment rendeix a 36Mbps.

UPDATE 14/09/2005: ja teniu més fotos del procés de l’antena Nesquik penjades per si us pot ser útil i/o curiós veure-les.

Truquillo: desactivar regla de NAT a una CLI Cisco

Reading time: 1 – 2 minutes

cisco.gif

Hi ha una comanda dels routers Cisco que sempr se m’oblida de fet és una tonteria però cansat de perdre sempre 5min buscant-la quan la necessito m’he decidit a escriure aquest post al blog.

Quan tenim regles de DNAT, SNAT o simplement NAT a un router Cisco si aquesta regla està en ús no podem desactivar-la amb la típica instrucció:

no ip nat {inside | outside}

Ja que dona el següent error: Dynamic mapping in use, cannot remove així que el que primer hem de fer és el següent:

clear ip nat translation force

Per més informació sobre el tema el document oficial de Cisco que parla del tema és: How to Change the Dynamic NAT Configuration (pdf).

Obsesiones

Reading time: < 1 minute

Així es diu aquesta foto que va fer l’Oriol Mercadé el nostre figura de la web de la TMB, que a més com ja comentava en aquell post va guanyar un concurs amb la mateixa i li van publicar en un llibre… guapa,eh!?

obsesiones.jpg

Truquillo: Linksys WRT54G configuració via tftp

Reading time: 24 – 40 minutes
linksys.gif
<div class="rightbox"></div>

Aquest agost vaig ‘postejar’ el nou mapa de la xarxa de Torrelavit. Doncs bé com haureu vist en el gràfic els APs tenen en molts casos múltiples interficies virtuals i rutes estàtiques. Ja que degut a la naturalesa de la nostre petita i modesta xarxa ciutadana no ens encaixa gaire el tema de l’enrutament dinàmic per OSPF i coses d’aquestes tan xules. Així doncs, vam trobar-nos en el dilema de com posar més d’una IP per cada interficie, cosa que la interficie web del router no permet. A més per afegir rutes estàtiques sense usar un adreçament dinàmic com RIP2 o OSPF la interficie gràfica tampoc ens ho permet.

Per tal de solucionar aquests problemes i de centralitzar el sistema de configuració dels APs en un punt. El que hem fet és montar un servidor TFTP al firewall. Amb accés només de les IPs dels APs. Un bon manual per configurar el atftp en gentoo: Gentoo Linux based Netboot HOWTO (cache)mireu-vos només la secció: The tftpd Daemon.

Una de les coses interessants que hem fet és usar només un fitxer de configuració per tots els APs de forma que aquest script sigui prou espavilat per poder configurar les particularitats diferents de cada AP. Després us explico com ho hem fet. Abans d’entrar en materia també us comento que tot el que explico només ho hem provat amb Alchemy. Imagino que amb altres firmwares també es deu poder fer però no ho hem provat.

La primera dificultat és com dir-li al Linksys que després d’arrencar s’ha de connectar al servidor TFTP s’ha de baixar el fitxer de configuració i l’ha d’executar després de baixar-lo. A més el que no voliem és que pas del TFTP pogués fallar i l’AP quedes desconfigurat a l’espera de que el tornessim a resetejar. O sigui, que el TFT s’ha de repetir fins que aconsegueixi connectar-se i agafar el fitxer. Tampoc cal una solució perfecte però si amb un mínim de control d’errors.

Com sabreu, si accedim per telnet al Linksys podem fer un nvram show per veure les variables que es guarden a la NVRAM (non-volatile RAM) on realment es guarda la configuració de l’AP. Doncs bé la variable que concretament ens interessa és la rc_startup podem consultar el seu valor: nvram get rc_startup. Doncs bé el que nosaltres volem és col·locar el següent codi dins la variable:

while sleep 30s;
do
 if ping -c 1 172.25.0.2>/dev/null;
 then
  tftp -g -l /tmp/s.sh -r s.sh 172.25.0.2;
  sh /tmp/s.sh;
  break;
 fi;
done

Com podeu veure el codi el que fa és que cada 30s intenta descarregar per TFTP el fitxer s.sh i el guarda a /tmp després l’executa. Això es repeteix fins que es pugui completar el cicle amb èxit. Ara només queda fixar aquest codi dins de la variable rc_startup i després guardar el codi a la NVRAM.

Ho podem fer així:

nvram set rc_startup="while sleep 30s;do if ping -c 1 172.25.0.2>/dev/null;then tftp -g -l /tmp/s.sh -r s.sh 172.25.0.2;sh /tmp/s.sh;break;fi;done"
nvram commit

Ara ja ens podem centrar en l’script en qüestió. Per complicar la cosa, aquí només explicaré com creem els alias de les interficies i les rutes estàtiques no posaré cap opció de firewalling ni de filtratge de MACs. Com he comentat la gràcia de l’script és que és el mateix per tots els APs de la xarxa, així que en algún lloc s’han de guardar els paràmetres pròpis de cada AP. Doncs bé per fer això hem fet un petit ‘trick’. Es tracta d’usar la interficie de definició de rutes estàtiques que té la interficie web per entrar totes les direccions que ens interessen.

Aquesta interficie gràfica l’usen els protocols dinàmics RIP2 i OSPF per definir rutes estàtiques. Si marquem la opció d’enrutament dinàmic com a ‘disable’ llavors podem afegir rutes a la configuració del sistema qu no s’executaràn degut al que acabo de dir, però si que estan guardades en la configuració. Això és el que aprofiarem per després recollir la informació i segons la lògica següent les usarem en el nostre script:

La lògica és molt senzilla, penseu que quan volem definir l’alias d’una interficie de xarxa ecencialment només ens cal la IP de la mateixa i la màscara. Així doncs en la interficie de de rutes estàtiques només haurem de definir aquestes dues dades si volem que la informació serveixi per declarar l’alias.

alias.png
<div class="imatge" style="text-align: center;"></div>

Si pel contrari el que volem afegir a la interficie és una ruta estàtica aquesta haurà d’usar un gateway. O sigui, una direcció de xarxa, una màscara i un gateway això ho interpretarà l’script per definir una ruta estàtica.

route.png
<div class="imatge" style="text-align: center;"></div>

Amb aquest petit ‘trick’ ja tenim una interficie que ens permet de forma molt senzilla en cada AP per guardar-hi la informació que el diferenciarà dels seus veins. Després el que fa el nostre script s.sh és mirar les variables d’NVRAM on es guarden i tractar aquesta informació segons la lògica que he comentat anteriorment. A continuació us enganxo un tros del contingut del s.sh on podeu veure com es fa això.

# Rutes i interficies virtuals
COMPTADOR=0
for AD in `nvram get static_route`;
do
        IP=`echo $AD | cut -f 1 -d ":"`
        MASK=`echo $AD | cut -f 2 -d ":"`
        GW=`echo $AD | cut -f 3 -d ":"`
        IF=`echo $AD | cut -f 4 -d ":"`
        echo $IP $MASK $GW $IF
        # es un enllas punt a punt
        if [ $GW = "0.0.0.0" ];
        then
                # creem les ips virutals de la interficie lan/wlan
                # trafic backbone
                COMPTADOR=`dc $COMPTADOR 1 + p`
                ifconfig br0:$COMPTADOR $IP netmask $MASK
        else
                # afegim rutes cap a trafic d'usuaris
                route add -net $IP netmask $MASK gw $GW
        fi
done

Encara que sembli mentida el que més va costar en aquest script és implementar el comptador, ja que la shell del Alchemy és molt reduida i no ens permet implementar comptadors de forma directa. Per fer això varem trobar un petit paquet que va instal·lat al sistema que es diu dc, és semblant al bc la famosa calculadora en format CLI que porten els linux, però la sintaxi és una mica diferent. Així que el tema ens va fer suar una bon estona.

La resta de l’script no té cap misteri com podeu comprovar. Obviament és molt millorable i es poden integrar moltes més funcions, però com a introducció a la idea crec que ja he donat prou dades sinó trobo que ho complicaria massa. Així que espero que us sigui útil i si en voleu més o teniu algún dubte ja sabeu on sóc.

Scroll to Top