lunes, noviembre 08, 2010

OpenVPN Debian (RoadWarriors)

OpenVPN Debian (RoadWarriors)

El objetivo es que los usuarios se puedan conectar con la oficina cuando están fuera de ella de forma segura y puedan hacer uso de todos los recursos en forma similar a cuando están en la misma.

Instalación de OpenVPN paso a paso para soportar roadwarriors en Linux (Debian, similar para otras distribuciones) y Windows. Basado en este post http://routerman.blogsome.com/2007/08/30/roadwarrior-en-openvpn-debian-etch/ , pero actualizado en algunos detalles. La parte del servidor Linux
# Don't leave any of these fields blank. export KEY_COUNTRY="PA" export KEY_PROVINCE="PA" export KEY_CITY="Panama" export KEY_ORG="Panama" export KEY_EMAIL="me@myhost.mydomain"
  • ejecutar: . vars (hay un punto adelante de vars)
  • ejecutar: ./clean-all (para eliminar cualquier cosa anterior)
  • ejecutar: ./build-ca
Esto último produce los siguientes archivos:
/etc/openvpn/easy-rsa/2.0/keys# ls ca.crt ca.key index.txt serial 01.pem ca.crt ca.key dh1024.pem index.txt index.txt.attr index.txt.old serial serial.old servidor.crt servidor.csr servidor.key * copiar ca.crt, servidor.crt, servidor.key, dh1024.pem de /etc/openvpn/easy-rsa/2.0/keys a /etc/openvpn
  • Contenido del archivo server.conf que va en /etc/openvpn:
  • *******************************************************************************
# puerto 5000 es recomendado en lugar del 1194 port 5000 proto udp dev tun persist-tun ca ca.crt cert servidor.crt key servidor.key dh dh1024.pem #Direcciones que se asignaran a los #clientes, el server es .1 server 10.1.1.0 255.255.255.0 ifconfig-pool-persist ipp.txt #Ruta para que los clientes alcancen la red local del server (1.0/24) #ajustar de acuerdo a la red que se va a rutear push "route 192.168.1.0 255.255.255.0" #Para que los clientes se visualicen entre ellos client-to-client keepalive 10 120 comp-lzo user nobody group nogroup persist-key persist-tun status openvpn-status.log verb 4
  • ********************************************************************************
  • editar /etc/default/openvpn : poner AUTOSTART="server" (para que cargue la configuración server.conf que hicimos anteriormente al iniciar)
  • Generar las llaves de cada cliente (en nuestro caso edgardo) desde /etc/openvpn/easy-rsa/2.0
  • ./build-key edgardo
  • Esto genera los archivos adicionales:
    edgardo.crt edgardo.csr edgardo.key
en mi caso uso un firewall iptable. admito el acceso al puerto 5000: $IPTABLES -A INPUT -s 0.0.0.0/0 -p UDP --dport 5000 -m state --state NEW -j ACCEPT La parte del Cliente Linux
  • Copiar los archivos generados anteriormente (en el servidor) al directorio /etc/openvpn del cliente:
ca.crt edgardo.crt edgardo.key
  • Contenido del archivo cliente.conf que va en /etc/openvpn:
  • *****************************************************************************
client dev tun proto udp remote url_o_ip_del_servidor.com float #debido a que la IP de arriba es dinamica resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert edgardo.crt key edgardo.key comp-lzo
  • ***********************************************************************************
  • editar /etc/default/openvpn : poner AUTOSTART="cliente" (para que cargue la configuración cliente.conf que hicimos anteriormente al iniciar)
  • Esto sería todo para el cliente Linux, reiniciar el openvpn en ambas máquinas y listo (/etc/init.d/openvpn restart)
La parte del Cliente Windows Instalar http://openvpn.net/release/openvpn-2.1.3-install.exe o la versión disponible en http://openvpn.net/index.php/open-source/downloads.html donde quedó la instalación (archivos de programas o la que sea) hay un directorio llamado config, copiar ahí los siguientes archivos (eliminar todo lo existente primero) creados anteriormente: ca.crt edgardo.crt edgardo.key
  • Además del siguiente archivo de configuración edgardo.ovpn (es simple texto)
  • *************************************************************************************
##############################################
# Sample client-side OpenVPN 2.0 config file #
# for connecting to multi-client server. #
# #
# This configuration can be used by multiple #
# clients, however each client should have #
# its own cert and key files. #
# #
# On Windows, you might want to rename this #
# file so it has a .ovpn extension #
##############################################

# Specify that we are a client and that we
# will be pulling certain config file directives
# from the server.
client

# Use the same setting as you are using on
# the server.
# On most systems, the VPN will not function
# unless you partially or fully disable
# the firewall for the TUN/TAP interface.
;dev tap
dev tun

# Windows needs the TAP-Win32 adapter name
# from the Network Connections panel
# if you have more than one. On XP SP2,
# you may need to disable the firewall
# for the TAP adapter.
;dev-node MyTap

# Are we connecting to a TCP or
# UDP server? Use the same setting as
# on the server.
;proto tcp
proto udp

# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.

remote url_o_ip_del_servidor.com 5000 ############ojo esta es la línea importante

;remote my-server-2 1194

# Choose a random host from the remote
# list for load-balancing. Otherwise
# try hosts in the order specified.
;remote-random

# Keep trying indefinitely to resolve the
# host name of the OpenVPN server. Very useful
# on machines which are not permanently connected
# to the internet such as laptops.
resolv-retry infinite

# Most clients don't need to bind to
# a specific local port number.
nobind

# Downgrade privileges after initialization (non-Windows only)
;user nobody
;group nobody

# Try to preserve some state across restarts.
persist-key
persist-tun

# If you are connecting through an
# HTTP proxy to reach the actual OpenVPN
# server, put the proxy server/IP and
# port number here. See the man page
# if your proxy server requires
# authentication.
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]

# Wireless networks often produce a lot
# of duplicate packets. Set this flag
# to silence duplicate packet warnings.
;mute-replay-warnings

# SSL/TLS parms.
# See the server config file for more
# description. It's best to use
# a separate .crt/.key file pair
# for each client. A single ca
# file can be used for all clients.

ca ca.crt ############ojo esta es la línea importante
cert edgardo.crt ############ojo esta es la línea importante
key edgardo.key ############ojo esta es la línea importante

# Verify server certificate by checking
# that the certicate has the nsCertType
# field set to "server". This is an
# important precaution to protect against
# a potential attack discussed here:
# http://openvpn.net/howto.html#mitm
#
# To use this feature, you will need to generate
# your server certificates with the nsCertType
# field set to "server". The build-key-server
# script in the easy-rsa folder will do this.
ns-cert-type server

# If a tls-auth key is used on the server
# then every client must also have the key.
;tls-auth ta.key 1

# Select a cryptographic cipher.
# If the cipher option is used on the server
# then you must also specify it here.
;cipher x

# Enable compression on the VPN link.
# Don't enable this unless it is also
# enabled in the server config file.
comp-lzo

# Set log file verbosity.
verb 3

# Silence repeating messages
;mute 20
***************************************************************************
Opcionalmente se puede poner el OpenVPN GUI para iniciarse automáticamente copiando el acceso directo al menú de inicio.



lunes, agosto 16, 2010

Mis estimados proveedores de Internet

Después de algunos meses sin sufrir graves problemas, con excepción de router de Cable and Wireless que me dejó 4 días sin trabajar (casi nada) y el apagón de dns de CW (no me afecta directamente pues utilizo los de open dns), podemos decir que los servicios que tengo con ambos, Cables and Wireless y Cable Onda están relativamente estable (me da cierta aprensión decirlo ;-) ).

Cable Onda tiene menos ruidos o tengo menos tiempos para jugar bzflag, una de dos. La verdad es que hemos visto mejoras en la reducción de ruidos.

CW va bien por ahora, cambiaron sus equipos en la calle por lo que esperamos sobrevivir el invierno de este año sin mayores problemas.

martes, marzo 30, 2010

Cable Onda es un asco

Primero queremos dejar constancia de que Cable and Wireless por fin se apiadó de las cajillas que estaban a voluntad de los elementos hace poco en frente de nuestra oficina. Esperamos en este invierno no tener los problemas de todos los años.

Por otro lado he contratado para la casa los servicios de Cable Onda para internet. En corto el veredicto: Es lo peor, no puedes jugar ciertos juegos online porque la calidad de la internet no lo permite. Supuestamente tengo 2Mbits pero sólo si lo mides contra los servidores de ellos. Si utilizas por ejemplo http://www.speedtest.net/ la velocidad es de un 10% de lo nominal.

Verdaderamente no recomiendo esto a menos que sea gratis y aún así si estás muy necesitado que no puedes pagar algo que sirva.

Todas las medidas que he hecho muestran velocidades de 22 a 40 kbits.

Acostumbro a trabajar a distancia usando nomachine y a jugar bzflag... Pero esto no sirve para nada... Esta gente de cable onda me está robando descaradamente.

resultado de la medición:

http://www.speedtest.net/result/766621965.png


http://www.speedtest.net/result/766624152.png

Debo reconocer que por lo menos he cuidado siempre a mis clientes diciéndole que Cable Onda es para usos sin importancia y no para asuntos de trabajo. Por eso hemos soportado por tantos años a Cable and Wireless en la oficina... Porque los otros son peores !!!!!


hoy 31/03/2010 mi velocidad con Cable and Wireless en la oficina:

http://www.speedtest.net/result/767644323.png

http://www.speedtest.net/result/767646172.png

aceptable !!!!

sábado, octubre 03, 2009

cambiar codificación del código de iso-8859-1 a utf-8

La codificación predeterminada de muchas de las aplicaciones en Linux es la uft-8. La mayoría de nosotros hemos utilizado por varios años la codificación iso-8859-1 (latin1, europeo occidental).

En nuestro caso hemos escrito mucho código python en iso-8859-1 y por lo general nuestras bases de datos utilizan iso-8859-1.

Cambiar la codificación del código (en este caso python) resulta sencillo. El siguiente script bash en el directorio del código resuelve el problema


********************************************************************************
#!/bin/bash

FILES=`ls *.py`;

for FILE in $FILES; do
echo $FILE
sed -i 's/-*- coding: iso-8859-1 -*-/-*- coding: utf-8 -*-/g' $FILE
mv $FILE temp_$FILE
iconv --from-code=ISO-8859-1 --to-code=UTF-8 temp_$FILE> $FILE
rm temp_$FILE
done

*************************************************************************

En el caso de la base de datos (Postgresql) se puede aplicar el comando sobre el dump y con eso se resuelve:

iconv --from-code=ISO-8859-1 --to-code=UTF-8 dump_fuente.sql> dump_utf-8.sql


Si no se desea cambiar la codificación del sistema de base de datos se puede optar por cambiar la codificación hacia la base de datos:

sql=sql.decode('utf-8').encode('iso-8859-1') (esto es sólo necesario si el sql contiene simbolos que deban ser decodificado)

y desde la misma a la inversa:

s.decode('iso-8859-1').encode('utf-8')

miércoles, septiembre 16, 2009

Cable and wireless Panama: la historia de nunca acabar

hoy tenemos la siguiente situación:

http://www.speedtest.net/result/566757706.png

subimos a 10 KB y bajamos 0.7 Mbits... Me están robando los delincuentes de CW.

La línea sigue igual, con ruidos.

*******************************

En horas de la tarde vino un técnico de CW, hizo algunas mejoras y se nota en nuestro test de velocidad

http://www.speedtest.net/result/567138006.png


Esperemos nos dure la alegría.

viernes, septiembre 11, 2009

Cable and wireless Panama: la historia de nunca acabar

11 de septiembre, seguimos en las mismas. El último técnico que enviaron me dice que debo ser "optimista". Que me puede hacer pensar que un problema con el que llevo viviendo en cada época de lluvia durante los últimos años se resolverá pronto. Nada !!!

Los ruidos en la línea siguen haciendo que el router de internet entre en alarma constantemente, incluso durante la madrugada, ya que para evitar que los delincuentes (comunes, no los de cw) corten la línea de teléfono para evitar que la alarma contra robos notifique cualquier eventualidad monitorizamos desde la casa que nuestros equipos en la oficina tengan servicio de internet (ya en una ocación nos fue de utilidad y pudimos frustrar un intento de robo a las 4:35 am).

Ya no se que pensar.

miércoles, septiembre 09, 2009

Cable and wireless Panama: la historia de nunca acabar

hoy es 9 de septiembre, estoy subiendo un archivo urgente, el archivo tiene 6 MB y como los marranos de Cable and Wireless no han podido sustituir sus cables externos el archivo tomará unos 11 minutos.

Me pregunto hasta cuando hay que soportar tanta inoperancia en estas compañías. Lo digo en plural porque las otras son un asco también. Compiten en cual da el peor servicio o cual le roba más a sus clientes.