Consola Java de SSH/Telnet

Navegant per la xarxa m’he trobat una aplicació en Java que es pot executar tant en local com penjar-la com a applet a una web i executar-la des de la web i que fa la funció de consola SSH i Telnet.

L’aplicació es pot baixar d’ací. Pertany a la empresa AppGate i s’anomena Mindterm, dins del comprimit es troben diversos txt on ens mostren les opcions de configuració, com executar com a applet des de la web,… i el *.jar que es pot executar des de la consola:

java -jar nom.jar

o des de la web amb els exemples que hi ha als txt i els mostre ací:

  • Consola SSH

<APPLET CODE="com.mindbright.application.MindTerm.class"
ARCHIVE="mindterm.jar" WIDTH=0 HEIGHT=0>
<PARAM NAME="cabinets" VALUE="mindterm.cab">
<PARAM NAME="sepframe" value="true">
<PARAM NAME="debug" value="true">
</APPLET>

  • Consola Telnet

<APPLET CODE="com.mindbright.application.MindTermTelnet.class"
ARCHIVE="mindterm.jar" WIDTH=0 HEIGHT=0>
<PARAM NAME="cabinets" VALUE="mindterm.cab">
<PARAM NAME="sepframe" value="true">
<PARAM NAME="server" value="telnet.server.com">
</APPLET>

El programa ocupa cap a 1’4Mb i el problema que hi ha en aquesta versió (gratuïta) es que no està signada. Al no estar signada no es pot executar des de la web (lloc remot) per seguretat i com no és convenient que es desactive la seguretat mostre com signar l’arxiu per a que es puga executar:

Primer es baixa el SDK de Java. Quina versió? En teoria qualsevol és vàlida però a la pràctica m’ha costat prou trobar-ne per la web de SUN i al final he pogut baixar la J2SE v 1.3.1_20 (versió SDK). El que ens interessa es que contigna la funció keytool i la jarsigner. Una vegada instal·lada, des de la consola ens dirigim al directori on es troben els binaris del Java instal·lat i escrivim:

keytool -alias keyname -genkey

i després:

jarsigner ruta_de_directoris\mindterm.jar keyname

Ja està signada, ara ja es pot utilitzar des de remot, eixirà una finestra advertint del certificat quan s’execute l’aplicació. També hi ha altres vies per a signar l’arxiu amb un certificat “més fiable” però ara no trobe l’enllaç, a part també hi ha en la web del progama un apartat que parla sobre aquest tema.

Així que ja tenim un terminal SSH/Telnet ens connectem des d’on vulgam, el problema (per a les meues necessitats) es que s’execute a la part del client i no a la del servidor, però ja sabem d’una eina més a part del famós putty

Nanostation I. Configurar les rutes

El Nanostation ve amb mini linux empotrat anomenat AirOS, porta una interficie web i per defècte porta la IP 192.168.1.20 i user ubnt/ubnt. Via web es pot configurar ‘casi tot’ però no tot, per exemple les rutes. La configuració de les rutes es pot fer de forma estàtica o mitjançant RIP o OSPF.

Per a la segona opció tant sols cal actualitzar el firmware a la versió de inveneo i i seguir els passos que s’indiquen en l’enllaç, encara que està millor explicat ací. En aquest enllaç també hi ha una referència a una altra web en la qual expliquen com poder fer una xarxa en topologia mesh

Per a la primera opció cal accedir al AP per SSH i crear un script amb el route i les seues opcions. EL AirOS té una carpeta anomenada /etc/persistent al qual es poden crear scripts, els quals al engegar-se la màquina s’executen. Els noms dels scripts són:

  • /etc/persistent/rc.prestart
  • /etc/persistent/rc.poststart
  • /etc/persistent/rc.prestop
  • /etc/persistent/rc.poststop

El fitxer a crear (perquè el més segur es que no estiga creat) és el rc.poststart. Per a crear-lo s’escriu a la consola (estaguent al directori correcte)

#vi rc.poststart

I s’edita amb l’editor vi, primer premer ‘a’ i després ja es pot escriure. Quan estiga tot escrit, premer ‘Esc’ i ‘:x’ per a guardar els canvis al fitxer. Ja en consola se li donen permisos d’execució:

#chmod +x rc.poststart

I finalment per a que els canvis no desapareguen en quan es reinicie la màquina:

#cfgmtd -w -p /etc/

I arreando! ja està, fàcil del tot. Ara pose un exemple de script de rutes estàtiques:

#! /bin/sh
route add -net 10.10.10.0 netmask 255.255.255.0 gw 192.168.2.101 dev eth0

Pàgines d’interés:

http://www.ubnt.com/wiki/index.php/Manual_Routes

http://wiki.ubnt.com/wiki/index.php/User:Skyhook#How_to_add_a_static_route

http://wiki.ubnt.com/wiki/index.php/Linux_Script_FAQ

http://www.dc.fi.udc.es/~afyanez/info-vi/index.html Manual de VI

ací

Ja ha arribat tot el material

Ja tinc les Nanostations en casa, van arribar el dilluns. La veritat és que ha sigut bastant ràpid ja que la transferència la vaig fer el divendres abans de les 9 i el dilluns matí ja ho tenia en casa. Ja he estat trastejant en elles, la mala noticia és que no accepten punt a punt, però no passa res perquè com aquest projecte també és el principi d’un altre més important que vull empendre, em servirà aquesta topologia. Altra cosa en la que també he topat ha sigut en la configuració del iptables, que no accepta tots els paràmetres que em pensava (o ho estaré fent mal).

Aquests AP’s són una ‘virgueria’ tenen bona potència i accepten altres firmwares oberts com Openwrt i altres de pagament que ara mateix no recorde els noms, porten per defecte el PoE (cosa que em facilitarà molt la instal·lació del cabletjat).

Ja he estat fent proves de configuracions en ma casa i una vegada testejat l’enllaç he passat directe a casa ma tia, on anirà muntat esta ‘fira’. Allí una vegada configurat ha anat perfecte, això sí, dins d’una habitació emulant l’enllaç, ara falta veure si l’enllaç es pot aconseguir (la configuració ja està).La connexió que he realitzat amb èxit és la següent:

PC – ROUTER CASETA – UBNT2 -UBNT1 – PLC – PLC – SERVIDOR VPN – ROUTER CASA – INTERNET

UBNT1 i 2 són els noms que tenen per ara els AP’s i l’enllaç entre ells és inalàmbric. Les xarxes ente ROUTER CASETA – UBNT2, UBNT2 – UBNT1 i UBNT1 – SERVIDOR VPN són /30 i l’enllaç wifi és obert amb la SSID wifi4t encara que ara ho tinc en /30 més endavant la deixaré en /16 amb la IP de xarxa 10.10.0.0

Enllaç del dia:

www.comprawifi.com

Preliminars Caseta – Casa

Després d’haver fet les proves amb els components que ja tinc i després haver fet una estructura amb màquines virtuals de la forma Server VPN – Router – Router – Client VPN i configurant els tallafocs via iptables per a que al server vpn sols es puga accedir als ports que s’utilitzen per a les connexions VPN i a la part del client no acceptar connexions entrants a no ser que els ha establert ell abans de forma gratificant, ja he comprat els 2 punts d’accés Nanostation2, esta setmana espere que arriben. Torne a posar un diagrama actualitzat de la estructura de xarxa que implantaré, més que res perquè està fet en el software lliure anomenat DIA

CASETA-CASA TIA

Ara encara no tinc temps però al pròxim post ja posaré la configuració entre routers ja que com la xarxa WAN serà lliure i es podrà connectar qualsevol (sols accés a la xarxa, no accés a Internet)

(Modificat 4/11/09) Comentar que l’enllaç entre R2 i SERVER VPN és a través de PLC’s)

Instal·lar vmware server al Debian

Ací faig una breu explicació sobre com slolucionar l’error que m’ha eixit mentre intentava instal·lar el vmware server 2 al debian, després de fotre’m la partició del Ubuntu sense voler he decidit instal·lar-me el debian (ja no m’en recordava el que era un linux de veritat, jajaja) i, com no, he tingut que configurar a ma la gràfica i la wifi. I mentre estic escrivint m’acabe de donar compte que la webcam segurament tampoc estarà configurada…

Al intentar instal·lar el vmware server 2 m’he trobat en un error que no sabia com eixir d’ell, prèviament ja havia instal·lat el make, build-essentials, gcc i g++ (un dels dos sobra però no se quin…) els headers del linux que utilitze…. i eixia el següent error:

/tmp/vmware-config0/vmmon-only/linux/driver.c: In function ‘LinuxDriverSyncCallOnEachCPU’:
/tmp/vmware-config0/vmmon-only/linux/driver.c:1423: error: too many arguments to function ‘smp_call_function’
/tmp/vmware-config0/vmmon-only/linux/driver.c: In function ‘LinuxDriver_Ioctl’:
/tmp/vmware-config0/vmmon-only/linux/driver.c:1987: error: ‘struct task_struct’ has no member named ‘euid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1987: error: ‘struct task_struct’ has no member named ‘uid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1988: error: ‘struct task_struct’ has no member named ‘fsuid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1988: error: ‘struct task_struct’ has no member named ‘uid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1989: error: ‘struct task_struct’ has no member named ‘egid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1989: error: ‘struct task_struct’ has no member named ‘gid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1990: error: ‘struct task_struct’ has no member named ‘fsgid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1990: error: ‘struct task_struct’ has no member named ‘gid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:2007: error: too many arguments to function ‘smp_call_function’
make[2]: *** [/tmp/vmware-config0/vmmon-only/linux/driver.o] Fehler 1
make[1]: *** [_module_/tmp/vmware-config0/vmmon-only] Fehler 2
make[1]: Leaving directory `/usr/src/linux-2.6.29′
make: *** [vmmon.ko] Fehler 2
make: Leaving directory `/tmp/vmware-config0/vmmon-only’
Unable to build the vmmon module.

For more information on how to troubleshoot module-related problems, please
visit our Web site at “http://www.vmware.com/go/unsup-linux-products” and
“http://www.vmware.com/go/unsup-linux-tools”.

Execution aborted.

He googlejat i ràpidament he trobat aquesta solució:

– S’instal·la però no s’executa la configuració

– Es baixa l’arxiu http://www.saarlinux.de/blog/wp-content/uploads/2009/03/vmware-server-modules-2629tar.gz

– Es guarda tot el que hi ha a /usr/lib/vmware/modules/source en un altre lloc (per si les mosques)

– Es descomprimix l’arxiu baixat en /usr/lib/vmware/modules/source

– S’executa el configurador (vmware-config.pl)

I així ja es pot instal·lar el vmware server 2

Font d’informació:

http://www.saarlinux.de/blog/?p=5

Tornant a parlar del projecte d’enllaç Caseta-Casa

Retornant a l’enllaç que vull fer de forma més professional, ja he escollit els elements que quedaven per escollir i ja els he comprat, la veritat es que no m’he calfat molt el cap, he entrat en les webs de PCBOX i de APPINFORMATICA i he estat mirant routers fiables i PLC’s a bon preu, al final m’he fet amb el router WRT54G2 de Linksys i amb un kit de LEVEL ONE PLC (els dos a la tenda d’APP que esta vegada els tenien més barats que a PCBOX), la veritat que el router també l’he escollit per el disseny, ja que feia les funcions que m’interesen i quedarà be penjat a la paret de la caseta XD

Com ja tenia aquest material no he pogut esperar a demanar els AP’s que vull i he provat l’esquema que vull fer però sense els AP’s, connectat el router dirèctament a un PLC. La prova ha sigut possitiva, encara que he estat ‘peleant’ 3 dies fins que ho he descobert com configurar-h0.

Primer he intentat fer un enllaç amb IP estàtica de router_caseta a router_casa, donant aquest últim accés a internet al primer, sense cap problema, es configura les ips en el rang de la xarxa de casa i ‘arreando’, he connectat el portàtil al router_caseta i funcionava la connexió.

El següent pas era configurar el servidor VPN i que el router es connecte a través d’aquest servidor, aquest pas ha sigut el que m’ha dut de cap 3 dies. Com el servidor VPN estaria situat a casa ma tia i allí en sa casa no puc tenir tot un CPD muntat m’he tingut que decidir de muntar el servidor VPN que porta el Windows XP, ja que és el més senzill de configurar i posar en marxa ademés que poden seguir utilitzant-lo amb l’emule, msn, navegar… sense cap problema. Si no se sap com fer del Windows XP un servidor VPN, a googlejar “servidor VPN Windows xp” i eixiran milers de webs on ho expliquen, és ben senzill. El que més ha costat és que el router fera de client VPN i el windows li donara les ip’s correctes. Primer ho he fet al meu portàtil utilitzant la ethernet per a connectar-li el router i la wifi per a connectar-se al router de casa, donant ip’s del mateix rang a les dos targetes (que aquest era la causa de que no funcionara correctament) finalment he reproduit un escenari paregut al vmware, on un windows xp feia de servidor VPN amb 2 targetes de xarxa (una en cada rang diferent d’IPs) i un altre windows xp feia de client sobre una targeta de xarxa, al connectar-se i vore que funcionava correctament m’he posat a analitzar l’escenari i és on me n’he adonat que el problema el tenia en el direccionament que donava.

El client i el servidor estan units en una xarxa amb el mateix rang d’ips i el que fa el servidor al connectar-se el client a ell és donar-li a aquest una ip del rang de l’altra targeta per a que puga accedir a la xarxa a la que està unida, exemple:

1. El servidor està connectat a 2 xarxes diferents: 192.168.0.0/24 i 192.168.5.0/24

2. El client està connecta a la xarxa 192.168.5.0/24, per tant sols té accés a aquesta xarxa

3. Quan el client es connecta al servidor per la xarxa 192.168.5.0, aquest li dona una IP del rang 192.168.0.0/24, des de la qual el client ja té accés a la xarxa 192.168.0.0/24 a través de la connexió VPN

Respecte als PLCs… cap problema, realment plug and play, els he connectat a la xarxa elèctrica i en un extrem al servidor VPN i a l’altre al router i he fet ping i resposta.

Resumint:

La connexió Router_caseta – PLC – PLC – Servidor VPN – Router_casa – Internet s’ha establit correctament, per a dur a terme aquest esquema li he instal·lat una altra targeta de xarxa al pc de taula de casa al qual es connecta al PLC, ho he provat en els tallafocs deshabilitats, ara falta fer-ho anar amb més seguretat aplicada

Després d’aquest èxit ja estic esperant poder demanar els APs per a provar la connexió wifi i el tunel VPN a través dels APs, que no se com reaccionaran els APs i els enrutament de direccions

BACKUP’s (LFTP)

Existix una ferramenta molt útil per a realitzar còpies de seguretat quan no es pot fer servir el totpoderós ‘rsync’, aquesta ferramenta s’anomena LFTP, al Ubuntu no hi ha hagut ningun problema a l’hora d’instal·lar-la (apt-get install lftp i ‘arreando’) aquesta ferramenta permet connectar-se a sistemes remots, que no tinguen la possibilitat d’executar el rsync, i copiar des de (o fins a) sistemes remots a local, podent fer un espill del sistema remot i restaurar-lo, té la opció de executar-se i sols copiar els fitxers que s’han modificat, no he indagat molt en les opcions ja que (igual que al post anterior) sols em dedique a comentar el que he trobat en un altre blog, per tant pose les opcions que poden ser més utils:

Fer un espill d’un servidor remot:

lftp -c "open -u usuario,contraseña ftp://dominio.com; mirror -ne /ruta/remota /ruta/local/backup"

Restaurar de la còpia local al servidor remot:

lftp -c "open -u usuario,contraseña ftp://dominio.com; mirror -neR /ruta/remota /ruta/local/backup"

També es pot executar la còpia des de diversos servidors remots alhora com es mostra al post d’on he tret aquesta informació:

LFTP, alternativa a RSYNC para backup remoto