Es paralitza el projecte

Doncs sí, es paralitza el projecte perquè hui he pujat a la teulada per a veure com es mantenia l’antena que vaig posar fa 2 anys i m’he trobat en que el màstil de l’antena està doblat. Ho he comentat i resulta que ja fa temps que està avisat l’electricista per a que ho arregle ja que està també l’antena per a veure la tele però…. passa prou del tema, com fa sempre, ara a esperar a que li vinga be canviar el màstil o que li vinga be al ferrer o ja vorem quina escusa posa

Projecte Carasol

Ja he configurat amb èxit tot el circuit al laboratori de proves (casa ma tia), aplicant-li la seguretat de tallafocs, rutes estàtiques i VPN. Adjunte una nova imatge de la topologia que he seguit (es que des que he descobert DIA que no pare d’utilitzar-lo, no trau uns gràfics tant definits com el VISIO però és programari lliure):

Diagrama Carasol

  • R1: Router Broadband, el que dóna accés a internet.
  • Servidor VPN: El nom ja ho diu tot, amb 2 interficies de xarxa, separant físicament la LAN local de la resta.
  • PLC1 i PLC2: Encarregats de portar la xarxa pel cablejat elèctric.
  • R2: UBNT1, el punt d’accés (Nanostation2) que hi ha a la casa per a unir-se a wifi4t.
  • R3: UBNT2, el punt d’accés (Nanostation2) que hi ha a la caseta per a unir-se a wifi4t.
  • R4: Router final de la caseta, on es connectaran els pc via LAN o wifi

wifi4t

Com ja havia dit alguns posts anteriors, la xarxa wifi4t és lliure, no està encriptada, així s’aprofita millor l’ample de banda que en les distàncies fa falta, jeje. En un principi es pot connectar qualsevol persona a la xarxa, encara que no tindrà accés a internet, però per ara l’he feta una xarxa /30 fent que no es pugui connectar a nivell d’IP més de 2 hosts (els 2 AP’s). Quan estiga tot en marxa i funcionant perfectament ja ho canviaré a una /16.

Tallafocs

Servidor VPN

És l’encarregat d’unir qualsevol client VPN a la xarxa local de casa i, per tant, a Internet. Conté un tallafocs que sols deixa passar els ports necessaris per a la connecció VPN

UBNT1

Conté un tallafocs que no permet que ixca res per la xarxa LAN, tant sols els paquets dirigits als ports que s’utilitzen per a l’enllaç VPN i que vinguen de la IP del R4.

R4

Tallafocs per a no deixar entrar ningun tràfic que no haja sigut provocat des de dins de la LAN. NAT habilitat. Com en la caseta la xarxa creada per R4 (que serà tabé wifi) és privada, aquesta si que anirà xifrada i amb un mínim de seguretat.

Les xarxes creades que són punt a punt van totes amb la màscara /30 per a donar un poc més de protecció, la wifi4t és lliure i les altres són privades, i els punts d’accés estan configurats com a “punt d’accés WDS” el de casa i com “estació WDS” el de la caseta. La connexió a la xaraxa wifi4t ja l’habilitaré quan ja haja finalitzat aquest projecte.

Ara falta implantar el projecte a la vida real, ja he vist que al laboratori funciona perfectament però falta veure com actuen els AP’s amb la distància i si fa falta connectar les antenes que ja estan instal·lades o no. A veure si demà dissabte al matí puc fer alguna prova i ja contaré

P.D.: Qaunta cosa s’ha de fer per a poder tenir internet a la caseta, no és més còmode un módem USB 3G? jajaja

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

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

Esquema de la xarxa

Be, abans que se m’amuntone la feina ja he fet l’esquema de la xarxa que tinc, per ara, al meu cap:

Esquema de la Xarxa

Aquest és l’esquema de la xarxa a la que vull arribar, però per ara l’apartat WAN sols estaria compost per les 2 antenes UBIQUITI, per tant l’enllaç entre elles intenta emular una WAN encara que siga un enllaç punt a punt. Com es pot observar, es configuraran els tallafocs a l’eixida a la WAN per a que sols puguen accedir dintre de les LANs les conexions entre aquestes.

Com no puc fer aquesta xarxa sense innovar amb alguna tecnologia que no haja provat, he decidit que l’enllaç entre l’antena UBIQUITI de casa i el router de casa el faré per la xarxa elèctrica, ja que no tinc forma de comunicar aquests dos punts per cable i per wifi necessitaria un altre punt d’accés.

El material que ja tinc escollit són les antenes UBIQUITI NS2, falta veure un router wifi per a la caseta i quin enllaç elèctric utilitze. Per si vos apetix pegar-li una miradeta a aquestes antenes podeu accedir a aquestos enllaços:

http://www.ubnt.com/products/nano.php – Pàgina oficial

http://demo.ubnt.com/ – Demo del AirOS (user: ubntdemo pass: ubnt), SO del Nanostation

http://wiki.ubnt.com/wiki/index.php/AirOS – Manual del AirOS

Quan tinga la llista de la compra realitzada ja vos informaré

continuem amb el servidor DNS-caché

Ja he estat trastejant amb el fitxer de configuració i ja he trobat altres utilitats i alguns error que he comés amb la configuració. Primer que res, l’arxiu /etc/resolv.conf el modifica el propi servidor DNS-caché quan arranca, així que tot el que s’escriga al fitxer serà esborrat. Per a afegir servidors DNS externs a la configuració tant sol cal escriure al fitxer de configuració den dnsmasq (/etc/dnsmasq.conf):

server=Ip del servidor DNS

Després, per a que faça de DNS intern, podent resoldre els noms i que no tenim que estar memoritzant les IP’s cal que s’ecriga el següent:

local=/localnet/        (on localnet pot ser canviat, quedant-se nomservidor.localnet)

ara tant sols queda posar en el fitxer /etc/hosts:

IP.DEL.SER.VIDOR    nomservidor.localnet    nomservidor

I quan s’intente accedir al servidor internament be siga per web o ssh o fent-li un ping, es posa nomservidor.localnet i ja està

I així ja està ben configurat el DNSMASQ

Servidor DHCP i DNS-Caché

No fa ni 10 minutets que he escrit el post d’abans i ja estic escrivint el següent, es que estic inspirat.

Com ja he dit abans, al intentar crear un servidor de hosting d’anar per casa i no configurar-lo be he estat atacat sense parar durant 2 setmanes, fent que la connexió a internte fora molt roïn i fins i tot es penjava el router, ja he aplicat algunes normes de seguretat, però d’això ja parlaré un altre dia. Un dels problemes més freqüents i que ara encara em passa és que de vegades el meu servidor DNS (és a dir, el meu router) no es capaç de consultar amb els servidors dns del meu ISP i aleshores no puc navegar per la xarxa (a no ser que em sàpida de memòria les ip’s de les webs que més visite…), tenint que posar la ip dels equips connectats a la meua xarxa en manual i posar-los les IP’s de les DNS del meu ISP, cosa que no m’agrada perque la gent va pegant-me un poc la vara quan se’n van fora de casa i tornen…

Per a sol·lucionar aquest petit problemeta he utilitzat el servidor de dades (de nom “servidor”, ja se que no és molt original, i que?) per a habilitar un servidor DHCP i un servidor DNS-Caché. Per a qui no ho sàpiga, el primer servidor és l’encarregat de donar una IP a qualsevol host que es connecte a la xarxa i el segon és l’encarregat de comunicar-se amb els DNS del meu ISP per a resoldre els noms i les ip’s, llevant-li aquestes funcions al router que tinc ara.

Primer que res una petita descripció del servidor:

– El S.O. que utilitza és el Ubuntu 8.04

– CPU: AMD Athlon 700Mhz

– 192Mb de RAM i un disc de 80Gb (sistema operatiu i swap) i un altre de 320Gb (carpetes de dades)

Primer he instal·lat el servidor DNS-Caché, i com estic gos i ja està explicat en una altra web… feu clic ací i ho voreu com es fa,és senzil. La única cosa diferent que he fet és al fitxer resolv.conf posar-li la ip local i després les dos ip’s dels servidors DNS del meu ISP, per a que busque també en eixos servidors en cas que no ho tinga en caché.

I després he instal·lat el servidor DHCP3 com ho diu ací i en la modificació del fitxer de configuració dhcpd.conf he posat el següent:

# A slightly different configuration for an internal subnet.
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.128 192.168.0.254;
option domain-name-servers 192.168.0.2,80.58.61.250;
# option domain-name “internal.example.org”;
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 600;
max-lease-time 7200;
}

On es defineix el rang de IP’s que s’utilitzarà per a donar per DHCP, la porta d’enllaç i els servidors DNS predeterminats, que com es pot veure s’utilitza com a DNS primari el servidor i el DNS secundari un del ISP

Fins que no es configura correctament l’arxiu de configuració /etc/dhcp3/dhcpd.conf el servidor no arranca correctament i també tenir en compte de deshabilitar el servidor DHCP del router per a evitar confusions, ja que si estan els dos habilitats… el host agafarà la IP del primer servidor DHCP que trobe.

I així és com ho he configurat. Quan tinga més temps ja em posaré a descriure amb més detall les funcions del servidor i del serweb (el servidor web)

(Actualitzat 5/1/2009) Referències

Com es pot observar, he posat més enllaços sobre NTP que sobre DHCP, simplement és perque he vist més fàcil la recerca d’informació per a muntar un servidor DHCP que NTP