lunes, 2 de diciembre de 2013

Ubuntu Server huesped en VMWARE - IP Estática

Primero que nada debemos ver como tiene configurada la red en nuestro servidor el VMWARE, para eso introducimos:
ifconfig
Para fijar una IP estática en un ubuntu server debemos modificar el archivo:
sudo nano /etc/network/interfaces
Previamente comentamos poniéndole una almohadilla delante a la configuración dinámica actual cuyas lineas deberían ser:
auto eth0
En el que debe quedar configurado de la siguiente forma:
user@ubuntu:~$ ifconfig
eth0     Link encap:Ethernet  direcciónHW 00:1c:92:4c:dc:9b
         Direc. inet:192.168.202.142  Difus.:192.168.202.255  Másc:255.255.255.0
         Dirección inet6: fe80::20c:29ff:fe0c:dc9b/64 Alcance:Enlace
         ACTIVO DIFUSIÓN FUNCIONANDO MULTICAST  MTU:1500  Métrica:1
         Paquetes RX:689 errores:0 perdidos:0 overruns:0 frame:0
         Paquetes TX:150 errores:0 perdidos:0 overruns:0 carrier:0
         colisiones:0 long.colaTX:1000
         Bytes RX:48595 (48.5 KB)  TX bytes:21060 (21.0 KB)
         Interrupción:19 Dirección base: 0x2000
lo       Link encap:Bucle local
         Direc. inet:127.0.0.1  Másc:255.0.0.0
         Dirección inet6: ::1/128 Alcance:Anfitrión
         ACTIVO BUCLE FUNCIONANDO  MTU:65536  Métrica:1
         Paquetes RX:0 errores:0 perdidos:0 overruns:0 frame:0
         Paquetes TX:0 errores:0 perdidos:0 overruns:0 carrier:0
         colisiones:0 long.colaTX:0
         Bytes RX:0 (0.0 B)  TX bytes:0 (0.0 B)
Nos fijamos que la dirección que nos da en mi caso para el Interface eth0 en la Direc. inet es el 192.168.202.142. A partir de aquí configuramos la información para fijar una IP estática con el mismo número que nos da el propio VMWARE. Modificamos el archivo:
sudo nano /etc/network/interfaces
y a partir de "auto eth0" tiene que figurar de la siguiente manera:
auto eth0
iface eth0 inet static
address 192.168.202.142
netmask 255.255.255.0
network 192.168.202.0
broadcast 192.168.202.255
gateway 192.168.202.2
dns-nameservers 8.8.8.8 8.8.4.4
Ahora reiniciamos la red, y ya está hecho.
sudo /etc/init.d/networking restart

sábado, 12 de octubre de 2013

Desarrollo en Django. Truquis ;-).


Acceder al servidor web de dasarrollo desde otro ordenador


python manage.py runserver 0.0.0.0:8000 

Openerp Timeout

A veces, cuando instalamos un módulo de openerp en la web y tarda más de la cuenta se produce un mensaje de Timeout y se interrumpe el proceso.

Esto se corrige cambiando el tiempo de espera del servidor web nginx (el que se sirve las páginas del cliente web) de la siguiente manera.

Según hayamos instalado tenemos que modificar el fichero de configuración del sitio que puede ser "openerp" o "default" en la ubicación: "/etc/nginx/sites-available/".

sudo /etc/nginx/sites-available/default

Hemos de añadir la siguiente línea después de la primera aparición de la palabra "location":

proxy_read_timeout 300;

No olvidar después reiniciar el servidor nginx

sudo service nginx restart




domingo, 21 de julio de 2013

Convierte tu Raspberry Pi en un servidor VPN con OpenVPN

Este artículo es una traducción al español de "Turn your Raspberry into an OpenVPN VPN-server" del sitio Raspberry Pi Hacks

Si estás en una red pública, por ejemplo en la universidad o en un aeropuerto, tu tráfico de datos puede ser grabado y desencriptado. Para prevenir que otros hagan esto pueden enviar tu tráfico de datos a través de un tunel seguro VPN. Los túneles VPN envían tu tráfico encriptado a un servidor que procesa tus peticiones.

Requerimientos:
  • Raspberry Pi
  • Raspbian o similar
  • OpenVPN
En el siguiente tutorial aprenderás como correr un servidor OpenVPN en tu Raspberry Pi:

Paso 1
Para ser capaz de instalar la última versión del programa deberemos actualizar nuestra fuente de paquetes:
sudo apt-get update

Paso 2
Ahora instalaremos OpenVPN y OpenSSL.
sudo apt-get install openvpn openssl

Paso 3
Cambiamos al directorio de OpenVPN y pegamos un directorio que necesitaremos a continuacion.
cd /etc/openvpn 
sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 ./easy-rsa

Paso 4
Ahora abrimo el archivo easy-rsa/vars con el nano y aplicamos el siguiente cambio:
nano /easy-rsa/vars 
export EASY_RSA="`pwd`"
export EASY_RSA="/etc/openvpn/easy-rsa"

Paso 5
Cambiamo al directorio, nos logeamos como root y realizamos algunas configuraciones.
cd easy-rsa
sudo su
source vars
./clean-all
./pkitool --initca
ln -s openssl-1.0.0.cnf openssl.cnf


Paso 6
Ahora seremos capaces de generar los componentes para la encriptación de OpenVPN. Después de la primera entrada se te preguntará por la abreviación de tu pais (ES=España, MX=México, VE=Venezuela, etc.). Las siguiente entradas serán simplemente confirmadas.
./build-ca OpenVPN
./build-key-server server
./build-key client1


Paso 7
El cálculo de los últimos componentes puede durar algunos minutos.
./build-dh
exit

Paso 8
Tenemos que cambiar al directorio anterior otra vez y crea el archivo openvpn.conf con el siguiente contenido:
cd ..
sudo touch openvpn.conf
sudo nano openvpn.conf


dev tun
proto udp
port 1194
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
user nobody
group nogroup
server 10.8.0.0 255.255.255.0
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
client-to-client
push "redirect-gateway def1"
#set the dns servers
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
log-append /var/log/openvpn
comp-lzo


Puedes cambiar si quieres la información de los DNS a unos de tu preferencia.

Paso 9
Ahora, crea la redirección de internet para los clientes CPN. Si no estás usando un cable ethernet (p.e. Wifi) deberás reemplazar  el "eth0" por el nombre de tu dispositivo de red.
sudo sh -c ‘echo 1 > /proc/sys/net/ipv4/ip_forward’
sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/8 ! -d 10.0.0.0/8 -o eth0 -j MASQUERADE


Paso 10
Uno de los pasos finales será borrar el "#" delante de la línea net.ipv4.ip_forward=1 en sysctl.conf.
cd ..
sudo nano sysctl.conf


Paso 11
Una parte de la configuración anterior tiene que endosarse como un crontab para funcionar permanentemente. Inserta la siguiente línea al final del archivo crontab (reemplaza "eth0" si lo hiciste arriba). 
crontab -e
@reboot sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/8 ! -d 10.0.0.0/8 -o eth0 -j MASQUERADE

Paso 12
Cambia de nuevo al usuario root y al directorio  /etc/openvpn/easy-rsa/keys en el cual crearemos el archivo  raspberrypi.ovpn y lo llenaremos con el siguiente código (en cursiva). RASPBERRY-PI-IP habrás de reemplazarlo con la ip de tu Raspberry Pi o, si estás usando un servicio tipo DynDNS, con el domino registrado en el servicio.
sudo su
cd /etc/openvpn/easy-rsa/keys
nano raspberrypi.ovpn


dev tun
client
proto udp
remote RASPBERRY-PI-IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3


Paso 13
Ahora crea un paquete comprimido con todos los archivos necesarios para el cliente VPN, que moveremos al /home/pi y le daremos al usuario pi los derechos necesarios sobre el archivo.
tar czf openvpn-keys.tgz ca.crt ca.key client1.crt client1.csr client1.key raspberrypi.ovpn
mv openvpn-keys.tgz /home/pi
chown pi:pi /home/pi/openvpn-keys.tgz
exit


Paso 14
Reinicia el servidor OpenVPN.
sudo /etc/init.d/openvpn start

Finalizado! Ahora seremos capaces de descargar el archio openvpn-keys.tar.gz al cliente y extraer los archivos a la carpeta del cliente OpenVPN.

Un cliente OpenVPN para Windows en http://openvpn.se/
para Mac: https://code.google.com/p/tunnelblick/
Los usuarios de Linux simplemente instalan el paquete openvpn.

sábado, 23 de julio de 2011

Primera salida con Pedro

Hemos navegado en el Castañuela, un SOMO 28, impecable y cuidado, amarrado en el Puerto Deportivo de Las Palmas. Era la primera salida con Pedro, su armador, un tío fantástico que sabe muchísimo de navegación y de "las cosas de los barcos". Navegar con Pedro es toda una experiencia, nos reimos muchísimo y estuvimos navegando unas 4 horas que se fueron volando. Pedro ha hecho muchísimos traslados de veleros entre la Península y Canarias y vicerversa. Su sueño es cruzar el atlántico en breve. La navegación fue muy sencilla, salimos del puerto deportivo de Las Palmas de Gran Canaria a las 16.30 horas (GMT) con viento flojo pero suficiente para rascar unos 4,5 a 5 nudos. Dirección, primero 90º (Fuerteventura) y luego mantuvimos los 60º. A las 2 horas viramos hacia el lado de estribor y cogimos el rumbo de regreso, 240º. A las 19.30 horas (GMT) amarramos en el puerto.

Bueno, esperamos repetir pronto. A ver si terminamos de poner a punto el Diablillo y navegamos juntos en mi barco. Pedro es de esas personas que recien conocidos y te saldrías a navegar 100 días con el sin tocar puerto.

Somo 28, Castañuela

martes, 24 de mayo de 2011

Instalar phpmyadmin en Ubuntu

Requisitos:
  • Hemos de tener instalado el servidor MySQL en nuestro UBUNTU
Procedimiento:
  • shell> sudo apt-get install phpmyadmin
  • Nos preguntará si deseamos instalarlo y responderemos afirmativamente
  • Nos preguntará por la contraseña de root de MySQL, le ponemos la que dimos de alta al instlar nuestro servidor MySQL.
  • Nos preguntará por una contraseña de administrador 'root' para poder acceder a phpmyadmin desde internet. Poned una contraseña segura porque. Y luego os pedirá que la repitáis.
  • Ahora os pedéis conectar a vuestra base de datos poniendo la dirección:
  • Es muy conveniente forzar SSL cada vez que os conectéis a phpmyadmin automáticamente mediante el protocolo seguro 'https'. Para esto tenéis que tener habilitado SLL en vuestro servidor apache (esto se hace como se explica en Habilitar SSL en Apache).De esta manera la comunicación con vuestro servidor irá encriptada y no tendréis problemas de 'fisgoneo'. Para hacer esto tenéis que editar el archivo 'config.inc.php' de la siguiente manera:
    • shell> cd /etc/phpmyadmin
    • shell> vi config.inc.php
    • Tenéis que incluir la siguiente linea al final del archivo:
             $cfg['ForceSSL'] = true;
    • Y ya está!!

    Habilitar SSL en Apache (Ubuntu) sin Certificados

    Vamos a habilitar el protocolo SSL en Apache sin certificado sirve para codificar la comunicación con nuestro servidor web pero sin que la persona que accede pueda comprobar la propiedad del servidor. Esto sirve fundamentalmente para asegurar el flujo de información con nuestro servidor. Para nosotros no es necesario saber si nuestro servidor es nuestro servidor :-), por lo tanto es útil y sencillo esta opcion de no utilizar certificado.

    Los pasos son (en Ubuntu):
    • Cargamos el modulo SSL en Apache de la siguiente manera:
      • shell> a2enmod ssl
    • Reiniciamos el servidor Apache:
      • shell> /etc/init.d/apache restart
    • Activamos el sitio seguro por defecto
      • shell> a2ensite default-ssl
    • Reiniciamos el servidor Apache:
      • shell> /etc/init.d/apache restart

    Y ya está, así de sencillo. Ahora podemos acceder a nuestro servidor con https:// y asegurar nuestro flujo de datos con el servidor. Al no tener certificado y el navegador no poder comprobar la identidad del servidor, nos aparecerá la primera vez un mensaje advirtiendonos que dependiendo del navegador debemos proceder de diferentes maneras para continuar con la navegación al sitio.