Jun 03

Python: Reiniciem el router si no hi ha internet

Reading time: 1 – 2 minutes

Malgrat fa uns dies vaig canviar el meu vell Zyxel per un Cisco 837 a casa, la línia ADSL es continua penjant per motius desconneguts. Ja que quan les dades no circulen ni amunt ni aball les interficies ATM estan aixecades i tot sembla funcionar correctament. Així doncs, no m’ha tocat altre remei que fer-me un petit script amb Python a través del qual cada 5min comprovo si tornen els pings contra un dels servidors de OpenDNS. Si això no és així llavors es connecta contra el router Cisco i el reinicia. Ja que he fet proves baixant i pujant la interficie ATM i no hi ha manera. No se m’ha acudit cap millor idea que llençar un reload.

L’script guarda un fitxer de log a /var/log/online.log i usa el modul pexpect de Python. La resta de coses que usa són moduls que van instal·lats per defecte.

Si a algú li pot fer falta l’script el podeu descarregar: router.py.

Oct 01

Com funciona un switch segons Cisco (LAN SWITCH)

Reading time: < 1 minute

La gent de Cisco ha elavorat un document tècnic per les masses. O sigui, s’explica detalls del funcionament intern d’un switch de xarxa local ethernet (LAN) però a través de metàfores i d’altres recursos que simplifiquen moltíssim els detalls tècnics. És un document ideal per quan s’ha d’explicar el concepte a gent no tècnica. A més també inclou una animació en flash sobre el tema que és molt gràfica i senzilla d’entendre.

Sep 27

kvpnc: client universal d’VPN per kde

Reading time: 1 – 2 minutes

GUI per clients d’VPN universal, suporta openVPN, cisco VPN client, FreeS/WAN (Linux 2.4.x), ipsec-tools support (Linux 2.6.x/BSD native), PPTP support (pptpclient). A més s’encarrega de fer la gestió de certificats i perfils dins d’un mateix tipus d’VPN. Realment molt útil si com jo heu de tenir a mà múltiples sistemes de connexió remots per diferents empreses i entorns de xarxa molt canviants.

screenshot-kvpnc.png

Val la pena que hi doneu un cop d’ull a la infinitat de funcionalitats que ofereix el programa. A més de ben segur que el podeu fer correr amb l’idioma que més us agradi i, com no, esta suportat al portage de gentoo. Així que ja només queda que proveu l’kvpnc i a veure si us agrada tan com a mi.

May 02

La comanda EHLO (del SMTP) no funciona en remot amb un Postfix

Reading time: 2 – 2 minutes

Just el problema que descric al títol m’ha fet perdre una bona estona aquest matí, de fet, m’ha fet anar de cul. M’estava tornant boig connectava al port 25 des de dintre de la LAN:

$ telnet IP_XARXA_LOCAL 25
Trying IP_XARXA_LOCAL...
Connected to IP_XARXA_LOCAL.
Escape character is '^]'.
220 ESMTP
ehlo prova
250-nom_servidor
250-PIPELINING
250-SIZE 20480000
250-ETRN
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250 8BITMIME
quit
221 Bye
Connection closed by foreign host.

Si connectava des d’una IP de fora de la xarxa local:

$ telnet IP_PUBLICA 25
Trying IP_PUBLICA...
Connected to IP_PUBLICA.
Escape character is '^]'.
220 ******************
ehlo prova
502 Error: command not implemented
quit
221 Bye
Connection closed by foreign host.

M’he repassat tropocientes vegades la documentació del postfix a veure quina opció era la que feia comportar al servidor SMTP de forma diferent si estava en una IP de la xarxa local o una IP externa a la xarxa. Però no he trobat res de res, al final he trobat en un fòrum la inspiració divina. El problema era del coi de Cisco PIX que tenia entremig. El molt cabron m’estava filtrant la connexió!!!

Així que m’he hagut de connectar al PIX i dir-li que deixes de tractar el tràfic del port 25 com a tràfic SMTP, perquè no l’hi apliqués cap filtre:

pix # show fixup
fixup protocol dns maximum-length 512
fixup protocol ftp 21
fixup protocol h323 h225 1720
fixup protocol h323 ras 1718-1719
fixup protocol http 80
fixup protocol rsh 514
fixup protocol rtsp 554
fixup protocol sip 5060
fixup protocol sip udp 5060
fixup protocol skinny 2000
fixup protocol smtp 25
fixup protocol sqlnet 1521
fixup protocol tftp 69
pix # conf te
pix(config)# no fixup protocol smtp 25

Només amb aquest tonteria ja podia saludar al postfix (servidor SMTP) amb la comanda EHLO que em permet cursar autenticacions i d’altres comandes avançades de l’SMTP (ESMTP).

Oct 29

Cisco 837 VPN LAN-to-LAN i VPN Client (v4.0.x)

Reading time: 2 – 3 minutes

Aquesta tarda he configurat dos Cisco 837 per dos clients, un per fer un enllaç LAN2LAN entre Alacant i Vic, i un altre per fer enllaçar una oficina amb els seus usuaris en iterància, que connectaran amb VPNClient des de qualsevol lloc. Doncs bé no faré el típic mini-manual o cookbook per explicar com ho he fet. Ja que Cisco si algo té ben parit és la documentació tècnica que es pot obtenir a través del CCO (Cisco Connection Online). També s’ha de dir que si no teniu uns coneixements mínims e Cisco o un CCNA, almenys, no és tasca fàcil barallar-se de bones a primeres amb la CLI de Cisco.

cisco837.jpg

Pels que no conegueu els routers 837 de Cisco, són els que últimament més es monten ja que són routers ADSL i amb una gran diversitat de IOS per instal·lar, a més suporten moltes funcions de seguretat: VPNs, firewall, ssh, etc. Doncs bé a continuació us poso els links del CCO d’on he tret la informació per configurar el router i al costat un link amb el pdf en local, per la gent que no tingui accés al CCO de Cisco.

Sep 18

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"
Sep 10

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).

Sep 05

x25 i me’n vaig a Andorra

Reading time: 2 – 4 minutes

Doncs si nois, dues notícies en una… la més important o que com a mínim molts no esteu al corrent és que demà el Benja i jo ens n’anem a treballar a Andorra a montar un projecte de migració del sistema de recarrega de telèfons mòbils per caixers automàtics al país dels Pirineus. El projecte durarà uns 2 mesos i durant aquest temps estaré entre casa meva i Andorra amunt i aball, algunes setmanes totes allà altres quasi totes aquí, etc.

fassana.jpg

Com que la meva part del projecte es farà amb X25 i concretament amb XOT (X25 over TCP) he decidit enganxar alguns links sobre literatura d’aquest protocol tant pre-històric. De fet, quasi tots són documents de Cisco sobre el tema. Però he cregut que era un ‘remember’ molt autèntic. Com a dada cuirosa comentar que jo vaig ser una de les primeres persones del nostre país en implementar TCP/IP sobre AX25 (Amateur X25). O sigui, en passar paquest IP per una xarxa de paquet radio. D’això ja en fa un munt d’anys tants que quan passo de 10 em fa mal el cap pensar-ho.

Com a lectura més que curiosa us recomano llegir en que es basa el XOT i com s’usa.

  • X25 conceptes sobre X25 segons Cisco.
  • Configuring X.25 and LAPB com configurar un router Cisco per treballar en aquesta tecnologia
  • XOT un exemple de com configurar TCP sobre X25
  • XOT un exemple de com configurar el contrari, o sigui, X25 sobre TCP

Pels més curiosos els protocol XOT funciona pel port 1998tcp/udp i fins aquest projecte no sabia ni que existia, però el repte sembla interessant ja us diré què tal.

Un gràfic per aclarir les idees de com funciona el XOT segons l’estàndard comentat pel Pau en els comentaris, tot i que no sempre es fa segons l’estàndard ja que hi ha formes més òptimes/propietaries de fer-ho:

xot.png

NOTA: no entenc perquè el XOT no és canvi a TOX, quan és el TCP que va sobre el X25 i no alrevés com indiquen les sigles. Però així ho he trobat a tot arreu.