31/8/09

Ver ficheros .psd

Para poder ver los ficheros .psd de photoshop con el visor de imágenes de gnome, y ver sus thumbnails en el nautilus podemos usar el paquete gdk-pixbuf-psd, está en fase alfa, por lo que no todos los tipos de ficheros .psd están soportados. También hay un paquete para distribuciones de 64 bits, aunque algo más escondido.

28/8/09

Empaquetar con tar

Para crear un paquete:

tar -cvf PAQUETE.tar FICHEROS

Para extraer de un paquete:

tar -xvf PAQUETE.tar

Para listar el contenido de un paquete:

tar -tvf PAQUETE.tar

Para añadir a un paquete:

tar -rvf PAQUETE.tar FICHEROS

Como siempre, más info en el man.

22/8/09

Información Exif

Con exiftool podemos consultar y modificar la información Exif de nuestras fotos, muy práctico para consultar los valores con que se tomó la fotografía, por ejemplo:

exiftool -a -u -g1 PICTXXXX.JPG

Nos muestra amplia información: parámetros de la foto, modelo de cámara, etc.

16/8/09

Conectar televisor a tarjeta nvidia

Si al conectar un televisor a la salida svhs de vuestra tarjeta nvidia (una vez instalados los drivers privativos), la imagen no se visualiza correctamente, probad a modificar el fichero /etc/X11/xorg.conf, añadiendo a la sección "Device" las líneas:

Option "TVOutFormat" "svideo"
Option "TVStandard" "PAL-G"

De forma que quede algo así:

Section "Device"
Identifier "Configured Video Device"
Driver "nvidia"
Option "NoLogo" "True"
Option "TVOutFormat" "svideo"
Option "TVStandard" "PAL-G"
EndSection

Los valores "svideo" y "PAL-G", se pueden sustituir, si es el caso por "Composite" y/o "NTSC" o los apropiados.

VPN OpenVPN

Vamos a configurar un servidor vpn ubuntu con openvpn, con clientes ubuntu y windows. Los clientes podrán acceder a los recursos tanto del servidor como de los equipos de la LAN del servidor; además su configuración será tipo RoadWarrior, donde los clientes podrán acceder también unos a otros.

En primer lugar instalamos el paquete openvpn:

apt-get install openvpn

Seguidamente crearemos los certificados del servidor y los clientes. Por comodidad copiamos los scripts para generar certificados al directorio de openvpn:

mkdir /etc/openvpn/easy-rsa
cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa

A continuación editamos el fichero vars, para personalizar los parámetros que deseemos:

export KEY_COUNTRY="ES"
export KEY_PROVINCE="03"
export KEY_CITY="Alicante"
export KEY_ORG="Empre S.A."
export KEY_EMAIL="correo@electroni.co"

Y ahora para generar los certificados, desde el directorio easy-rsa, ejecutamos los comandos:

. ./vars
./clean-all
./build-ca

Al crear los parámetros, por defecto tomará los datos que hemos introducido en el fichero vars, el único campo que debemos especificar cuando nos pregunte el script es Common Name, donde pondremos el nombre que queramos darle a la vpn.

Primero creamos el certificado y la clave privada para el servidor:

./build-key-server server

De nuevo tomaremos los parámetros por defecto, excepto en Common Name, donde introduciremos "server". Debemos contestar yes a las preguntas: "Sign the certificate?" y "1 out of 1 certificate request certified, commit?".

Ahora creamos los certificados y llaves para los clientes, por ejemplo:

./build-key client1
./build-key client2
...etc

Y por último para generar los parámetros de Diffie Hellman ejecutamos:

./build-dh

Ya tenemos las llaves generadas, para el servidor necesitamos los ficheros:

ca.crt
ca.key
server.crt
server.key
dh1024.pem

Los copiamos a /etc/openvpn o al directorio de nuestra elección.

A cada cliente debemos hacerle llegar de forma segura los ficheros:

ca.crt
client1.crt
client1.key

Vamos a crear los ficheros de configuración, podemos encontrar ficheros de ejemplo en /usr/share/doc/openvpn/examples/sample_config_files, los cuales podemos copiar a /etc/openvpn y modificar, o crear uno nuevo directamente. El fichero de ejemplo está bastante bien documentado con comentarios.

En el servidor creamos o modificamos el fichero /etc/openvpn/server.conf con el contenido:

port 1194
proto udp
dev tun
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem

#rango de direcciones que se asignará a los clientes, el server es .1
server 10.99.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

#ruta para que los clientes alcancen la lan del server
push "route 192.168.0.0 255.255.255.0"

client-to-client
keepalive 10 120
comp-lzo

#asegurarse que existan el usuario y grupo utilizados
user nobody
group nogroup

persist-key
persist-tun
status openvpn-status.log
log-append /var/log/openvpn.log
verb 4


Y reiniciamos el servicio para que los cambios tomen efecto:

/etc/init.d/openvpn restart

Para que podamos acceder desde internet debemos redirigir el puerto 1194 del router al del equipo del servidor vpn.

Para poder acceder a internet a través de la VPN debemos realizar un par de cambios en el servidor.

En el fichero /etc/sysctl.conf

Debemos añadir o modificar la línea:

net.ipv4.ip_forward=1

Y debemos crear en iptables la regla:

iptables -t nat -A POSTROUTING -s 10.99.0.0/24 -o eth0 -j MASQUERADE

Para que esta regla se ejecute cada vez que reiniciemos el servidor, vamos a salvarla en un fichero y hacer que se cargue en el arranque.

Si es necesario creamos el directorio /var/lib/iptables

Comprobamos que están activas las reglas deseadas con:

iptables -t nat -n -L

Las volcamos a un fichero con:

iptables-save > /var/lib/iptables/iptablesReglas

Ahora crearemos un script en el directorio:

/etc/network/if-up.d

Lo llamaremos por ejemplo inicioIptables y el contenido será el siguiente:

#!/bin/sh
/sbin/iptables-restore < /var/lib/iptables/iptablesReglas

Hay que darle permisos de ejecución al fichero:

chmod a+x inicioIptables

Con esto en cada inicio del sistema, se cargaran las reglas para iptables.

Ya tenemos listo el servidor.


Para configurar un cliente ubuntu, instalamos el paquete openvpn:

apt-get install openvpn

Copiamos al directorio /etc/openvpn los certificados:

ca.crt
client1.crt
client1.key

Y creamos el fichero /etc/openvpn/cliente.conf con el contenido:

client
dev tun
proto udp
remote IP_PUBLICA_SERVIDOR_VPN 1194
resolv-retry infinite
nobind
#asegurarse que existan el usuario y grupo utilizados
user nobody
group nogroup
redirect-gateway def1
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client1.crt
key /etc/openvpn/client1.key
comp-lzo
verb 4

En los clientes, seguramente no nos interesará que la vpn se arranque en el inicio del sistema, por lo que editamos el fichero /etc/default/openvpn y modificamos o agregamos la línea:

AUTOSTART="none"

Y para iniciar manualmente la vpn, ejecutaremos:

openvpn /etc/openvpn/cliente.conf &

Y para detenerla mataremos el proceso.


También podemos configurar el network manager de gnome para establecer la conexión desde el entorno gráfico.
Insatalamos el plugin para conexiones openvpn:

apt-get install network-manager-openvpn

(Nota: después de instalar el plugin, es conveniente reiniciar el sistema.)

Y en el menú del network manager seleccionamos "Conexiones VPN" y luego "Configurar VPN", le damos al botón de "Añadir", seleccionamos tipo de conexión "OpenVPN" y rellenamos los campos:

Nombre de conexión: el que queramos.
Pasarela: la ip pública del servidor vpn.
Tipo: certificados (TLS)
Certificado de usuario, Certificado CA, Clave privada: seleccionamos la ruta correspondiente.
Y en "Avanzado" marcamos "Usar compresión LZO".

Guardamos los cambios y ya podemos utilizar el network manager para conectar y desconectar a la vpn.


Para configurar un cliente windows xp, descargamos el programa cliente de http://openvpn.se/download.html, instalándolo con las opciones por defecto.

A través del grupo de programas que crea en el menú de Inicio de windows, podremos acceder a la carpeta de configuración del programa, en la que copiaremos los certificados:

ca.crt
client1.crt
client1.key

Y creamos el fichero client.ovpn con el contenido:

client
dev tun
proto udp
remote IP_PUBLICA_SERVIDOR_VPN 1194
resolv-retry infinite
nobind
redirect-gateway def1
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 4

A través del icono que coloca el programa en la barra de tareas podremos conectar y desconectar la conexión vpn.

No he probado con windows vista, pero parece ser que es necesario instalar y ejecutar el programa con permisos de administrador para que pueda funcionar.


Tanto en ubuntu como en windows, cuando nos conectemos a la vpn, podremos acceder al servidor, los equipos de la LAN y a los otros clientes, y navegar por internet (con la ip pública del servidor).

Si queremos crear certificados para más clientes, debemos tener ca.crt y ca.key en el directorio keys y ejecutar desde el directorio easy-rsa los comandos:

source ./vars
./build-key clientX

Obteniendo los nuevos certificados.

Actualización:

Para configurar clientes con windows vista en ediciones de 64 bits, descargamos el cliente OpenVPN_2.1_rc20 (o más reciente), y lo instalamos como administrador, nos creará un icono en el escritorio para lanzar el terminal, que también deberemos lanzar como administrador.

Escanear rango de IPs

Con el comando nmap podemos escanear un rango de IPs para detectar las IPs activas:

nmap -sP 192.168.0.1-255

Además puede ofrecernos mucha otra información.

6/8/09

Instalar VMware Tools en VMware Player

VMware Player no incluye las VMware Tools, pero podemos instalarlas en nuestras máquinas virtuales con este pequeño truco.

Para ello nos descargamos la versión demo de VMware Workstation.

Y descomprimir los ficheros con (no es necesario instalarlo):

/usr/lib/vmware/installer/vmware-installer --install-bundle VMware-Workstation-6.5.2-156735.i386.bundle --extract /DIRECTORIODESTINO

Por último en el directorio donde lo hemos descomprimido, buscamos las .iso's para instalar las VMware tools.

Instrucciones detalladas aquí.

Descargar de un servidor ftp

Para descargar ficheros de un servidor ftp podemos emplear el comando wget, por ejemplo:

wget -r --ftp-user=USUARIO --ftp-password=CONTRASEÑA ftp://DIRECCION_IP/DIRECTORIO/

Para descargar todos los ficheros del directorio.

1/8/09

Google Calendar en el calendario del panel de gnome

Podemos visualizar los eventos de nuestra agenda de Google Calendar en el calendario del panel de gnome ejecutando el siguiente comando:

/usr/lib/evolution-webcal/evolution-webcal http://direccion.privada.ICAL.calendario.google

Visto en tuxapuntes.