Para borrar ficheros menores de 25 k:
find . -size -25k -exec rm -f {} \;
Para borrar ficheros mayores de 10 M:
find . -size +10M -exec rm -f {} \;
Más info en el man.
30/12/09
26/12/09
Copias remotas con rsync
Vamos a configurar rsync como demonio para poder copiar ficheros remotamente.
Instalamos rsync:
apt-get install rsync
Para que se ejecute automáticamente como demonio, editamos el fichero:
/etc/default/rsync
Y cambiamos el valor de:
RSYNC_ENABLE=true
Ahora configuramos los recursos que queremos compartir, creando el fichero:
/etc/rsyncd.conf
Con un contenido similar a:
max connections = 2
log file = /var/log/rsync.log
timeout = 300
[RECURSO]
comment = COMENTARIO
path = /DIRECTORIO
read only = no
list = yes
uid = nobody
gid = nogroup
auth users = USUARIO
secrets file = /etc/rsyncd.secrets
Y configuramos la contraseña creando el fichero:
/etc/rsyncd.secrets
Con el contenido en el siguiente formato:
USUARIO:CONTRASENYA
Cambiamos los permisos para tener mayor privacidad de la contraseña:
chmod 600 /etc/rsyncd.secrets
Y reiniciamos el servicio rsync:
/etc/init.d/rsync restart
Ahora desde un equipo remoto podríamos ver el contenido de los recursos con:
rsync USUARIO@IP::RECURSO
Y realizar una copia sincronizada con:
rsync -avz USUARIO@IP::RECURSO/SUBDIRECTORIO/ DESTINO
Más opciones en el man.
Instalamos rsync:
apt-get install rsync
Para que se ejecute automáticamente como demonio, editamos el fichero:
/etc/default/rsync
Y cambiamos el valor de:
RSYNC_ENABLE=true
Ahora configuramos los recursos que queremos compartir, creando el fichero:
/etc/rsyncd.conf
Con un contenido similar a:
max connections = 2
log file = /var/log/rsync.log
timeout = 300
[RECURSO]
comment = COMENTARIO
path = /DIRECTORIO
read only = no
list = yes
uid = nobody
gid = nogroup
auth users = USUARIO
secrets file = /etc/rsyncd.secrets
Y configuramos la contraseña creando el fichero:
/etc/rsyncd.secrets
Con el contenido en el siguiente formato:
USUARIO:CONTRASENYA
Cambiamos los permisos para tener mayor privacidad de la contraseña:
chmod 600 /etc/rsyncd.secrets
Y reiniciamos el servicio rsync:
/etc/init.d/rsync restart
Ahora desde un equipo remoto podríamos ver el contenido de los recursos con:
rsync USUARIO@IP::RECURSO
Y realizar una copia sincronizada con:
rsync -avz USUARIO@IP::RECURSO/SUBDIRECTORIO/ DESTINO
Más opciones en el man.
24/12/09
Eliminar gdm del arranque
Si no deseamos que en el arranque se ejecute el entorno gráfico, podemos deshabilitarlo con:
sudo update-rc.d -f gdm remove
(Podríamos lanzarlo manualmente con startx)
Para volver a habilitarlo:
sudo update-rc.d -f gdm defaults
Otros métodos aquí.
sudo update-rc.d -f gdm remove
(Podríamos lanzarlo manualmente con startx)
Para volver a habilitarlo:
sudo update-rc.d -f gdm defaults
Otros métodos aquí.
13/12/09
Usa la Fuerza, Luke!
Quiso la casualidad que tecleara "ps xa" en una ventana de terminal mientras grababa un dvd con brasero, y entre otras me encuentro la siguiente linea:
2248 ? Rl 0:02 growisofs -use-the-force-luke=notray -use-the-force-l
WTF!
Con "man growisofs" descubro que el prefijo -use-the-force-luke se aplica a diversas funciones no documentadas del programa para grabar isos.
¡Muy friki!
2248 ? Rl 0:02 growisofs -use-the-force-luke=notray -use-the-force-l
WTF!
Con "man growisofs" descubro que el prefijo -use-the-force-luke se aplica a diversas funciones no documentadas del programa para grabar isos.
¡Muy friki!
2/12/09
Configurar exim4
Resulta muy práctico poder enviar correos desde el sistema, para enviarnos avisos, logs, etc.
Utilizaremos exim4 que es el que instalan debian y ubuntu por defecto y que es más sencillo de configurar que sendmail. En caso de que sendmail estuviera instalado se pueden dar incompatibilidades, por lo que es conveniente desinstalarlo previamente.
Primero instalamos exim4:
apt-get install exim4
Ejecutamos el asistente de configuración:
dpkg-reconfigure exim4-config
Contestando lo siguiente:
En “configuración general del correo” seleccionamos “Internet site”.
En “Nombre del sistema de correo” escribimos el nombre del dominio que cualificará las direcciones de correo sin nombre de dominio, generalmente será el nombre de la máquina, por ejemplo “nombredemimaquina.int”. Debemos asegurarnos de que como tal esté definida en /etc/hosts.
En “Direcciones IP en las que recibir conexiones SMTP entrantes” escribimos “127.0.0.1” para que no acepte peticiones de otras máquinas.
En “Otros destinos para los que se acepta el correo” podemos dejar el valor por defecto, que será el nombre del equipo.
En “Dominios para los que se reenvía el correo” dejamos el valor en blanco.
En “Máquinas para las cuales reenviar correo” también lo dejamos en blanco.
En “Limitar el número de consultas de DNS” dejamos el valor “No”.
En “Mecanismo de entrega para el correo local” seleccionamos “formato mbox”.
Y en “Dividir la configuración en pequeños ficheros” seleccionamos “No”.
Con esto ya podemos enviar correos.
Ahora podemos configurar el servidor para que nos envíe el correo interno a una cuenta de email.
Para ello editamos el fichero:
/etc/aliases
Y editamos/añadimos lineas de la siguiente manera:
root: usuariosistema
usuariosistema: usuario@correoelectron.ico
De esta forma los mensajes dirigidos a root serán entregados a usuariosistema y los de este enviados a la dirección de correo indicada.
Para evitar que se marque nuestro correo como spam, podemos utilizar una configuración alternativa para que se envíen los correos a través de nuestro servidor smtp.
Editamos el fichero:
/etc/exim4/passwd.client
Y añadimos una linea con la forma:
servidor.smtp:nombreusuario:password
Volvemos a configurar exim4:
dpkg-reconfigure exim4-config
Pero esta vez en la primera opción seleccionamos "el correo se envía mediante un smarthost; se recibe a través de SMTP".
Contestamos al resto de las preguntas igual que antes, y cuando pregunte "Dirección IP o nombre de equipo para el smarthost saliente", introducimos la dirección del servidor smtp que vayamos a usar.
En "Desea ocultar el nombre de correo local en los mensajes salientes" marcamos "No".
Ahora se entregarán los correos a través de nuestro servidor smtp.
Para el caso particular de querer emplear una cuenta de gmail, podemos emplear este tutorial.
Utilizaremos exim4 que es el que instalan debian y ubuntu por defecto y que es más sencillo de configurar que sendmail. En caso de que sendmail estuviera instalado se pueden dar incompatibilidades, por lo que es conveniente desinstalarlo previamente.
Primero instalamos exim4:
apt-get install exim4
Ejecutamos el asistente de configuración:
dpkg-reconfigure exim4-config
Contestando lo siguiente:
En “configuración general del correo” seleccionamos “Internet site”.
En “Nombre del sistema de correo” escribimos el nombre del dominio que cualificará las direcciones de correo sin nombre de dominio, generalmente será el nombre de la máquina, por ejemplo “nombredemimaquina.int”. Debemos asegurarnos de que como tal esté definida en /etc/hosts.
En “Direcciones IP en las que recibir conexiones SMTP entrantes” escribimos “127.0.0.1” para que no acepte peticiones de otras máquinas.
En “Otros destinos para los que se acepta el correo” podemos dejar el valor por defecto, que será el nombre del equipo.
En “Dominios para los que se reenvía el correo” dejamos el valor en blanco.
En “Máquinas para las cuales reenviar correo” también lo dejamos en blanco.
En “Limitar el número de consultas de DNS” dejamos el valor “No”.
En “Mecanismo de entrega para el correo local” seleccionamos “formato mbox”.
Y en “Dividir la configuración en pequeños ficheros” seleccionamos “No”.
Con esto ya podemos enviar correos.
Ahora podemos configurar el servidor para que nos envíe el correo interno a una cuenta de email.
Para ello editamos el fichero:
/etc/aliases
Y editamos/añadimos lineas de la siguiente manera:
root: usuariosistema
usuariosistema: usuario@correoelectron.ico
De esta forma los mensajes dirigidos a root serán entregados a usuariosistema y los de este enviados a la dirección de correo indicada.
Para evitar que se marque nuestro correo como spam, podemos utilizar una configuración alternativa para que se envíen los correos a través de nuestro servidor smtp.
Editamos el fichero:
/etc/exim4/passwd.client
Y añadimos una linea con la forma:
servidor.smtp:nombreusuario:password
Volvemos a configurar exim4:
dpkg-reconfigure exim4-config
Pero esta vez en la primera opción seleccionamos "el correo se envía mediante un smarthost; se recibe a través de SMTP".
Contestamos al resto de las preguntas igual que antes, y cuando pregunte "Dirección IP o nombre de equipo para el smarthost saliente", introducimos la dirección del servidor smtp que vayamos a usar.
En "Desea ocultar el nombre de correo local en los mensajes salientes" marcamos "No".
Ahora se entregarán los correos a través de nuestro servidor smtp.
Para el caso particular de querer emplear una cuenta de gmail, podemos emplear este tutorial.
30/11/09
Bucle for con nombres de fichero con espacios
A veces intentamos usar un bucle for en bash para recorrer un listado de ficheros, pero si los nombres de los ficheros contienen espacios, se separa el nombre en dos o más trozos, provocando errores. Para evitarlo hay que definir con la variable IFS que caracteres se deben utilizar como delimitadores, ya que por defecto incluye además del salto de linea y retorno de carro, el espacio y el tabulado.
Un ejemplo de como emplearlo:
#!/bin/sh
IFS=$'\x0A'$'\x0D'
for fichero in $(ls *)
do
/usr/bin/HAZALGO $fichero
done
Visto aquí y aquí.
Un ejemplo de como emplearlo:
#!/bin/sh
IFS=$'\x0A'$'\x0D'
for fichero in $(ls *)
do
/usr/bin/HAZALGO $fichero
done
Visto aquí y aquí.
29/11/09
Proxy sobre ssh
Podemos crear un proxy a partir de una conexión ssh con un comando del tipo:
ssh -D 9999 USUARIO@IP
Y en el navegador seleccionar en la configuración del proxy 'localhost' como servidor SOCKS y 9999 como puerto.
Más información aquí.
ssh -D 9999 USUARIO@IP
Y en el navegador seleccionar en la configuración del proxy 'localhost' como servidor SOCKS y 9999 como puerto.
Más información aquí.
Exportar DISPLAY
Si en nuestra sesión gráfica abrimos una terminal con una sesión de root, y queremos desde esta ejecutar una aplicación gráfica, nos dará el error:
Error: Can't open display:
Para evitarlo debemos exportar el display con el siguiente comando:
export DISPLAY=:0.0
Ahora podremos ejecutar correctamente las aplicaciones gráficas.
Error: Can't open display:
Para evitarlo debemos exportar el display con el siguiente comando:
export DISPLAY=:0.0
Ahora podremos ejecutar correctamente las aplicaciones gráficas.
5/11/09
Montar carpeta Samba en el arranque
Para montar una carpeta Samba en el arranque, debemos tener instalado el paquete smbfs y añadir al /etc/fstab una línea similar a esta:
//IP/RECURSO /media/PUNTOMONTAJE smbfs auto,username=USUARIO,password=CONTRASENYA,dir_mode=0777,file_mode=0777,rw,uid=1000,gid=1000 0 0
Ahora bien, esto deja nuestro nombre de usuario y contraseña para el recurso samba muy a la vista. Para evitarlo, como usuario root, creamos un fichero, por ejemplo:
/root/smbpwd
Con las líneas:
username=USUARIO
password=CONTRASENYA
Y modificamos sus permisos para que sólo el root pueda leerlo y escribir en él:
chmod 600 /root/smbpwd
Y cambiamos la línea del fstab de la siguiente manera:
//IP/RECURSO /media/PUNTOMONTAJE smbfs auto,credentials=/root/smbpwd,dir_mode=0777,file_mode=0777,rw,uid=1000,gid=1000 0 0
¡Mucho más seguro!
Más información aquí.
//IP/RECURSO /media/PUNTOMONTAJE smbfs auto,username=USUARIO,password=CONTRASENYA,dir_mode=0777,file_mode=0777,rw,uid=1000,gid=1000 0 0
Ahora bien, esto deja nuestro nombre de usuario y contraseña para el recurso samba muy a la vista. Para evitarlo, como usuario root, creamos un fichero, por ejemplo:
/root/smbpwd
Con las líneas:
username=USUARIO
password=CONTRASENYA
Y modificamos sus permisos para que sólo el root pueda leerlo y escribir en él:
chmod 600 /root/smbpwd
Y cambiamos la línea del fstab de la siguiente manera:
//IP/RECURSO /media/PUNTOMONTAJE smbfs auto,credentials=/root/smbpwd,dir_mode=0777,file_mode=0777,rw,uid=1000,gid=1000 0 0
¡Mucho más seguro!
Más información aquí.
4/11/09
Problemas con Tuxguitar
Tuxguitar es un editor de partituras para guitarra que nos permite visualizar las partituras en solfeo, tablatura y también visualizar las notas en el mástil de la guitarra. Admite varios formatos de partitura y también importar desde ficheros midi.
Podemos instalarlo fácilmente con:
apt-get install tuxguitar
En el caso de que al reproducir la partitura no suene el sonido, probablemente se deba a que no tengamos instalado un player de midis. Para solucionarlo instalamos el reproductor/conversor
timidity:
apt-get install timidity
Posteriormente editamos el fichero:
/etc/init.d/timidity
Y modificamos la linea con el parámetro TIM_ALSASEQ para que quede:
TIM_ALSASEQ=true
Reiniciamos el servicio:
/etc/init.d/timidity restart
Y por último en tuxguitar vamos al menú Herramientas -> Preferencias -> Sonido y en el apartado de Puerto MIDI seleccionamos "TiMidity port 0 #1".
¡A tocar!
Podemos instalarlo fácilmente con:
apt-get install tuxguitar
En el caso de que al reproducir la partitura no suene el sonido, probablemente se deba a que no tengamos instalado un player de midis. Para solucionarlo instalamos el reproductor/conversor
timidity:
apt-get install timidity
Posteriormente editamos el fichero:
/etc/init.d/timidity
Y modificamos la linea con el parámetro TIM_ALSASEQ para que quede:
TIM_ALSASEQ=true
Reiniciamos el servicio:
/etc/init.d/timidity restart
Y por último en tuxguitar vamos al menú Herramientas -> Preferencias -> Sonido y en el apartado de Puerto MIDI seleccionamos "TiMidity port 0 #1".
¡A tocar!
18/10/09
montar carpeta samba
Para montar una carpeta samba:
sudo mount -t smbfs //192.168.0.XX/RECURSO /directorio/carpeta
Si es necesario identificarse para acceder al recurso:
sudo mount -t smbfs -o username=USUARIO,password=CONTRASENYA //192.168.0.XX/RECURSO /directorio/carpeta
Para desmontar, lógicamente:
sudo umount /directorio/carpeta
Si no sabemos los nombres de los recursos compartidos en un equipo:
smbclient -L 192.168.0.XX
Una vez montada la carpeta, estará completamente integrada en nuestro sistema de ficheros, permitiendo todas las operaciones usuales.
sudo mount -t smbfs //192.168.0.XX/RECURSO /directorio/carpeta
Si es necesario identificarse para acceder al recurso:
sudo mount -t smbfs -o username=USUARIO,password=CONTRASENYA //192.168.0.XX/RECURSO /directorio/carpeta
Para desmontar, lógicamente:
sudo umount /directorio/carpeta
Si no sabemos los nombres de los recursos compartidos en un equipo:
smbclient -L 192.168.0.XX
Una vez montada la carpeta, estará completamente integrada en nuestro sistema de ficheros, permitiendo todas las operaciones usuales.
17/10/09
Consola unix para windows
Con MobaXterm podremos tener toda la potencia de una consola unix en sistemas windows, con acceso a todos sus recursos. La aplicación es portable, por lo que se puede llevar en un pendrive, y otra de sus utilidades es utilizarla como cliente ssh.
11/10/09
Actividades educativas
Un par de paquetes con actividades educativas para los peques:
GCompris:
apt-get install gcompris
apt-get install gcompris-sound-es
Childsplay:
apt-get install childsplay
¡Y a aprender!
GCompris:
apt-get install gcompris
apt-get install gcompris-sound-es
Childsplay:
apt-get install childsplay
¡Y a aprender!
28/9/09
Emulador de máquinas recreativas
Para echar unas partiditas a las viejas máquinas de "cinco duros", podemos emplear el emulador MAME.
Lo instalamos con:
apt-get install xmame-common
Descargamos la interfaz gráfica con:
wget http://surfnet.dl.sourceforge.net/sourceforge/gxmame/gxmame_0.35beta2-1_i386.deb
Y la instalamos con:
dpkg -i gxmame_0.35beta2-1_i386.deb
O si nuestra arquitectura es de 64 bits:
dpkg -i --force-architecture gxmame_0.35beta2-1_i386.deb
Y copiamos las ROMS de los juegos y de la BIOS a:
/usr/share/games/xmame/roms
Y he aquí un 'Comorl' para consultar el funcionamiento del emulador, teclas, etc.
Lo instalamos con:
apt-get install xmame-common
Descargamos la interfaz gráfica con:
wget http://surfnet.dl.sourceforge.net/sourceforge/gxmame/gxmame_0.35beta2-1_i386.deb
Y la instalamos con:
dpkg -i gxmame_0.35beta2-1_i386.deb
O si nuestra arquitectura es de 64 bits:
dpkg -i --force-architecture gxmame_0.35beta2-1_i386.deb
Y copiamos las ROMS de los juegos y de la BIOS a:
/usr/share/games/xmame/roms
Y he aquí un 'Comorl' para consultar el funcionamiento del emulador, teclas, etc.
Drivers para impresora
Si alguna impresora se nos resiste, en OpenPrinting.org hay referencia a multitud de modelos, con sus correspondientes drivers para descargar en .ppd, .deb y/o .rpm.
9/9/09
Montar partición NTFS en el arranque
Para montar una partición NTFS en el arranque, debemos tener instalado el paquete ntfs-3g y añadir al /etc/fstab una línea similar a esta:
/dev/sdXX /media/PUNTOMONTAJE ntfs-3g defaults,uid=1000,gid=1000 0 0
Más información aquí.
/dev/sdXX /media/PUNTOMONTAJE ntfs-3g defaults,uid=1000,gid=1000 0 0
Más información aquí.
2/9/09
GParted con soporte NTFS
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.
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.
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.
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.
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.
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):
Por último en el directorio donde lo hemos descomprimido, buscamos las .iso's para instalar las VMware tools.
Instrucciones detalladas aquí.
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 /DIRECTORIODESTINOPor ú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.
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.
/usr/lib/evolution-webcal/evolution-webcal http://direccion.privada.ICAL.calendario.google
Visto en tuxapuntes.
17/7/09
Controlar de forma gráfica la carga de la CPU
Como persona responsable, seguramente querrás controlar en todo momento la carga de la CPU.
Para ello instala el paquete hot-babe:
apt-get install hot-babe
Y cuando lo ejecutes tendrás un peculiar medidor de carga de CPU: aparecerá en pantalla una chica que irá desprendiéndose de prendas conforme suba la carga de la CPU.

¡En mi equipo está casi siempre desnuda!
Para ello instala el paquete hot-babe:
apt-get install hot-babe
Y cuando lo ejecutes tendrás un peculiar medidor de carga de CPU: aparecerá en pantalla una chica que irá desprendiéndose de prendas conforme suba la carga de la CPU.

¡En mi equipo está casi siempre desnuda!
11/7/09
VPN PPTP
Vamos a configurar un servidor VPN PPTP en un ubuntu y configurar clientes ubuntu y windows.
Comenzaremos por la configuración del servidor VPN.
En primer lugar instalamos el paquete pptpd:
apt-get install pptpd
Seguidamente modificamos el fichero de configuración:
/etc/pptpd.conf
Y modificamos las líneas localip y remoteip, por ejemplo:
localip 10.0.0.1
remoteip 10.0.0.10-100
Trabajaremos con un rango de IPs diferente del de la red local, localip será la IP que tendrá el servidor y el rango de remoteip las IPs que se asignarán a los terminales que se conecten al VPN.
A continuación editamos el fichero de opciones:
/etc/ppp/pptpd-options
Donde tenemos la opción de cambiar el nombre de la red VPN en la línea name (por defecto pptpd):
name pptpd
Y donde debemos configurar los servidores dns, por ejemplo:
ms-dns 10.0.0.1
ms-dns 80.58.61.250
ms-dns 80.58.61.254
Ahora damos de alta las cuentas de los clientes en el fichero:
/etc/ppp/chap-secrets
Para cada cliente añadimos una línea con el formato:
nombreCliente nombreRed contraseña *
Donde nombreCliente y contraseña serán los que necesitarán los usuarios para identificarse; nombreRed si no lo hemos cambiado será pptpd y el * indica que se le asignará una ip del rango remoteip previamente establecido, pero también podemos sustituirlo por una ip concreta si así lo deseamos.
Finalmente reiniciamos el servicio con:
/etc/init.d/pptpd restart
Ya tenemos configurado el servidor VPN. Aquí hay más información al respecto.
A continuación para poder conectarnos al servidor VPN a través de internet redirigimos en el router los puertos 1723 TCP y 47 UDP al equipo que hemos configurado como servidor VPN.
Ahora vamos a configurar los clientes, empezaremos por windows xp:
Vamos al menú Inicio -> Panel de Control -> Conexiones de red e Internet -> Crear una conexión a la red de su trabajo. Seleccionamos 'Conexión de red privada virtual', le damos un nombre descriptivo a la conexión, si nos pregunta marcamos 'No usar la conexión inicial' y a continuación introducimos la IP externa del servidor VPN, por último por comodidad podemos marcar que agregue un acceso directo a la conexión en el escritorio.
Es posible que cuando nos conectemos a la VPN tengamos problemas para navegar por internet, cuando la puerta de enlace de la red remota esté en un rango de IPs diferente, en cuyo caso editamos la conexión de red a través del menú 'Propiedades' , seleccionamos la pestaña 'Funciones de red', escogemos 'Protocolo Internet (TCP/IP)' y pulsamos el botón 'Propiedades', en la nueva ventana seleccionamos 'Opciones avanzadas...' y en la ventana que se abrirá desmarcamos de la pestaña 'General' la opción 'Usar la puerta de enlace predeterminada en la red remota'.
Y ahora los clientes ubuntu, podemos conectarnos por consola o a través del entorno gráfico.
Para hacerlo gráficamente, debemos en primer lugar instalar el plugin pptp para el network manager:
apt-get install network-manager-pptp
A continuación desplegamos el menú del network manager y seleccionamos Conexiones VPN -> Configurar VPN... Pulsamos el botón 'Añadir' y elegimos 'Protocolo de túnel punto a punto (PPTP)'. Le damos un nombre descriptivo a la conexión, en 'Pasarela' escribimos la IP externa del servidor VPN, escribimos el nombre de usuario y si lo deseamos la contraseña y por último pulsamos el botón 'Avanzado...' y en la nueva ventana marcamos 'Usar cifrado punto a punto (MPPE)'.
Ahora podemos conectarnos a la VPN desplegando el menú del network manager y en 'Conexiones VPN' seleccionando la conexión creada, el icono del network manager mostrará un candado para indicar que estamos en una red segura.
Lamentablemente en la versión actual del network manager no he encontrado la manera de indicarle que use la puerta de enlace local para el acceso a internet. Por lo que es posible que al conectar a la VPN, no podamos navegar por internet.
Este problema no se da si en lugar de usar el network manager, establecemos la conexión por consola, mediante los sonoros comandos pon y poff.
Para conectarnos usaremos el comando pon, pasándole un fichero de configuración de la conexión que deseamos establecer.
Crearemos este fichero en el directorio:
/etc/ppp/peers
El fichero llamado por ejemplo REDVPN tendrá el siguiente formato:
pty "pptp 99.99.99.99 --nolaunchpppd"
name USUARIO
remotename PPTP
require-mschap-v2
require-mppe-128
file /etc/ppp/options.pptp
ipparam tunnel
Donde 99.99.99.99 es la IP del servidor, USUARIO es el nombre de usuario del VPN y PPTP el nombre que deseamos darle a la conexión.
Por último añadimos los datos del usuario en:
Con una línea en el formato que ya conocemos:
nombreCliente nombreRed contraseña *
En el caso que nos ocupa nombreRed será PPTP, tal como hemos establecido en remotename.
Y ya podemos conectarnos a la VPN con:
pon REDVPN
y desconectarnos con:
poff
Más información sobre la configuración del terminal por consola aquí.
Comenzaremos por la configuración del servidor VPN.
En primer lugar instalamos el paquete pptpd:
apt-get install pptpd
Seguidamente modificamos el fichero de configuración:
/etc/pptpd.conf
Y modificamos las líneas localip y remoteip, por ejemplo:
localip 10.0.0.1
remoteip 10.0.0.10-100
Trabajaremos con un rango de IPs diferente del de la red local, localip será la IP que tendrá el servidor y el rango de remoteip las IPs que se asignarán a los terminales que se conecten al VPN.
A continuación editamos el fichero de opciones:
/etc/ppp/pptpd-options
Donde tenemos la opción de cambiar el nombre de la red VPN en la línea name (por defecto pptpd):
name pptpd
Y donde debemos configurar los servidores dns, por ejemplo:
ms-dns 10.0.0.1
ms-dns 80.58.61.250
ms-dns 80.58.61.254
Ahora damos de alta las cuentas de los clientes en el fichero:
/etc/ppp/chap-secrets
Para cada cliente añadimos una línea con el formato:
nombreCliente nombreRed contraseña *
Donde nombreCliente y contraseña serán los que necesitarán los usuarios para identificarse; nombreRed si no lo hemos cambiado será pptpd y el * indica que se le asignará una ip del rango remoteip previamente establecido, pero también podemos sustituirlo por una ip concreta si así lo deseamos.
Finalmente reiniciamos el servicio con:
/etc/init.d/pptpd restart
Ya tenemos configurado el servidor VPN. Aquí hay más información al respecto.
A continuación para poder conectarnos al servidor VPN a través de internet redirigimos en el router los puertos 1723 TCP y 47 UDP al equipo que hemos configurado como servidor VPN.
Ahora vamos a configurar los clientes, empezaremos por windows xp:
Vamos al menú Inicio -> Panel de Control -> Conexiones de red e Internet -> Crear una conexión a la red de su trabajo. Seleccionamos 'Conexión de red privada virtual', le damos un nombre descriptivo a la conexión, si nos pregunta marcamos 'No usar la conexión inicial' y a continuación introducimos la IP externa del servidor VPN, por último por comodidad podemos marcar que agregue un acceso directo a la conexión en el escritorio.
Es posible que cuando nos conectemos a la VPN tengamos problemas para navegar por internet, cuando la puerta de enlace de la red remota esté en un rango de IPs diferente, en cuyo caso editamos la conexión de red a través del menú 'Propiedades' , seleccionamos la pestaña 'Funciones de red', escogemos 'Protocolo Internet (TCP/IP)' y pulsamos el botón 'Propiedades', en la nueva ventana seleccionamos 'Opciones avanzadas...' y en la ventana que se abrirá desmarcamos de la pestaña 'General' la opción 'Usar la puerta de enlace predeterminada en la red remota'.
Y ahora los clientes ubuntu, podemos conectarnos por consola o a través del entorno gráfico.
Para hacerlo gráficamente, debemos en primer lugar instalar el plugin pptp para el network manager:
apt-get install network-manager-pptp
A continuación desplegamos el menú del network manager y seleccionamos Conexiones VPN -> Configurar VPN... Pulsamos el botón 'Añadir' y elegimos 'Protocolo de túnel punto a punto (PPTP)'. Le damos un nombre descriptivo a la conexión, en 'Pasarela' escribimos la IP externa del servidor VPN, escribimos el nombre de usuario y si lo deseamos la contraseña y por último pulsamos el botón 'Avanzado...' y en la nueva ventana marcamos 'Usar cifrado punto a punto (MPPE)'.
Ahora podemos conectarnos a la VPN desplegando el menú del network manager y en 'Conexiones VPN' seleccionando la conexión creada, el icono del network manager mostrará un candado para indicar que estamos en una red segura.
Lamentablemente en la versión actual del network manager no he encontrado la manera de indicarle que use la puerta de enlace local para el acceso a internet. Por lo que es posible que al conectar a la VPN, no podamos navegar por internet.
Este problema no se da si en lugar de usar el network manager, establecemos la conexión por consola, mediante los sonoros comandos pon y poff.
Para conectarnos usaremos el comando pon, pasándole un fichero de configuración de la conexión que deseamos establecer.
Crearemos este fichero en el directorio:
/etc/ppp/peers
El fichero llamado por ejemplo REDVPN tendrá el siguiente formato:
pty "pptp 99.99.99.99 --nolaunchpppd"
name USUARIO
remotename PPTP
require-mschap-v2
require-mppe-128
file /etc/ppp/options.pptp
ipparam tunnel
Donde 99.99.99.99 es la IP del servidor, USUARIO es el nombre de usuario del VPN y PPTP el nombre que deseamos darle a la conexión.
Por último añadimos los datos del usuario en:
/etc/ppp/chap-secretsCon una línea en el formato que ya conocemos:
nombreCliente nombreRed contraseña *
En el caso que nos ocupa nombreRed será PPTP, tal como hemos establecido en remotename.
Y ya podemos conectarnos a la VPN con:
pon REDVPN
y desconectarnos con:
poff
Más información sobre la configuración del terminal por consola aquí.
8/7/09
Configurar teclado en debian
Recientemente instalé debian en un equipo y me di cuenta de que en la pantalla de login no estaba correctamente configurado el teclado. Una vez iniciabas sesión, si funcionaba correctamente, así como haciendo login en una consola; pero la distribución del teclado era incorrecta en la pantalla de login.
La solución es editar el archivo
/etc/X11/xorg.conf
y modificar la sección del teclado para dejarla así:
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "es"
EndSection
¡Solucionado!
La solución es editar el archivo
/etc/X11/xorg.conf
y modificar la sección del teclado para dejarla así:
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "es"
EndSection
¡Solucionado!
3/7/09
Instalar manualmente drivers de nvidia en ubuntu
Grabar sesiones de consola
En ocasiones nos puede resultar útil poder tener un registro de todos los comandos ejecutados durante una sesión de consola, así como de la salida de los mismos.
Podemos hacerlo con script:
script FICHERO.TXT
y para finalizar el registro:
exit
o bien Ctrl+D.
Visto en tuxapuntes.
Podemos hacerlo con script:
script FICHERO.TXT
y para finalizar el registro:
exit
o bien Ctrl+D.
Visto en tuxapuntes.
Login remoto desde Windows con Xming
Si tenemos habilitado el login remoto con XDMCP, podemos hacer login desde un sistema windows mediante Xming, un gestor X Windows para MS Windows.
Para ello ejecutamos XLaunch.exe, seleccionamos el modo de visualización -fullscreen, por ejemplo-, luego especificamos "Open session via XDMCP", y luego introducimos la IP del equipo, pasamos la pantalla de parámetros adicionales, salvamos la configuración si lo deseamos, ¡y nos conectamos a nuestro linux!
Más info aquí.
Para ello ejecutamos XLaunch.exe, seleccionamos el modo de visualización -fullscreen, por ejemplo-, luego especificamos "Open session via XDMCP", y luego introducimos la IP del equipo, pasamos la pantalla de parámetros adicionales, salvamos la configuración si lo deseamos, ¡y nos conectamos a nuestro linux!
Más info aquí.
2/7/09
Login remoto con XDMCP
En ubuntu es muy sencillo habilitar el login remoto, basta con ir a "Sistema" -> "Administración" -> "Ventana de entrada" y en la pestaña "Remota" seleccionar "Igual que la entrada local". Posteriormente habrá que reiniciar gdm para que los cambios tomen efecto:
/etc/init.d/gdm restart
De esta forma podremos hacer un login gráfico remoto desde otro equipo de nuestra red local con el comando:
X :1.0 -query IP_DEL_HOST
O bien directamente desde la ventana de login de ubuntu, a través del apartado "opciones" (esto último podemos hacerlo incluso desde un LiveCD).
Más información aquí.
/etc/init.d/gdm restart
De esta forma podremos hacer un login gráfico remoto desde otro equipo de nuestra red local con el comando:
X :1.0 -query IP_DEL_HOST
O bien directamente desde la ventana de login de ubuntu, a través del apartado "opciones" (esto último podemos hacerlo incluso desde un LiveCD).
Más información aquí.
28/6/09
Ubuntu como servidor de DNS
Vamos a ver como utilizar ubuntu como servidor de DNS en una red local, para poder emplear nuestros propios dominios en lugar de trabajar con IPs.
En primer lugar instalamos el paquete bind9.
apt-get install bind9
Editamos el fichero:
/etc/bind/named.conf.local
Y añadimos las zonas que queramos, por ejemplo para cafetera.com:
zone "cafetera.com" {
type master;
file "/etc/bind/db.cafetera";
};
Ahora copiamos db.local a db.cafetera.
cp db.local db.cafetera
Y lo editamos para dejarlo así:
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA cafetera.com. root.cafetera.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS cafetera.com.
@ IN A 192.168.0.30
@ IN AAAA ::1
www IN A 192.168.0.30
Nótese la última línea, gracias a la cual podremos usar tanto cafetera.com como www.cafetera.com.
Reiniciamos el servicio:
/etc/init.d/bind9 restart
Y ya podemos configurar en los ordenadores de nuestra LAN la IP del ordenador que hemos configurado como servidor de DNS.
La información está obtenida de este tutorial, que a su vez es un resumen de este otro.
En primer lugar instalamos el paquete bind9.
apt-get install bind9
Editamos el fichero:
/etc/bind/named.conf.local
Y añadimos las zonas que queramos, por ejemplo para cafetera.com:
zone "cafetera.com" {
type master;
file "/etc/bind/db.cafetera";
};
Ahora copiamos db.local a db.cafetera.
cp db.local db.cafetera
Y lo editamos para dejarlo así:
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA cafetera.com. root.cafetera.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS cafetera.com.
@ IN A 192.168.0.30
@ IN AAAA ::1
www IN A 192.168.0.30
Nótese la última línea, gracias a la cual podremos usar tanto cafetera.com como www.cafetera.com.
Reiniciamos el servicio:
/etc/init.d/bind9 restart
Y ya podemos configurar en los ordenadores de nuestra LAN la IP del ordenador que hemos configurado como servidor de DNS.
La información está obtenida de este tutorial, que a su vez es un resumen de este otro.
26/6/09
Simular instalación de paquetes con apt-get
Si no tenemos claro que dependencias tiene un determinado paquete, y a la configuración de que otros paquetes puede afectar, podemos simular su instalación con el parámetro -s.
Por ejemplo:
apt-get -s install PAQUETE
Nos mostrará un listado de las acciones que se realizarían: paquetes instalados, desinstalados y configurados.
Mucha más información sobre el uso de apt-get en esta página.
Por ejemplo:
apt-get -s install PAQUETE
Nos mostrará un listado de las acciones que se realizarían: paquetes instalados, desinstalados y configurados.
Mucha más información sobre el uso de apt-get en esta página.
25/6/09
Borrar por fecha
Mi compañero del curro me pasó hace tiempo este práctico comando, junto a la explicación de cada uno de los parámetros, para borrar ficheros con más de 30 días de antigüedad. ¡Muchas gracias!
Aquí tienes un comando para que te borre los ficheros modificados hace más 30 dias.
find . -maxdepth 2 -ctime +30 -exec rm -f {} + \;
maxdepth es para indicar hasta que profundidad puede llegar desde el directorio que estas
ctime es n*24 horas, n es el numero de días que indicas
exec ejecuta lo que quieras
{} find sustituye esto por el resultado que devuelve
+ es obligatorio como parametro del exec
\ fin de comando
; creo que es preciso tambien.
Aquí tienes un comando para que te borre los ficheros modificados hace más 30 dias.
find . -maxdepth 2 -ctime +30 -exec rm -f {} + \;
maxdepth es para indicar hasta que profundidad puede llegar desde el directorio que estas
ctime es n*24 horas, n es el numero de días que indicas
exec ejecuta lo que quieras
{} find sustituye esto por el resultado que devuelve
+ es obligatorio como parametro del exec
\ fin de comando
; creo que es preciso tambien.
Subir o bajar el volumen por consola
Con los siguientes comandos podemos subir o bajar el volumen del sistema:
Para subir un 10% el volumen:
amixer sset Master 10%+
Y para bajarlo:
amixer sset Master 10%-
Esto puede ser útil para emplearlo en un script o asignarlo a una combinación de teclas.
Lo vi aquí.
Para subir un 10% el volumen:
amixer sset Master 10%+
Y para bajarlo:
amixer sset Master 10%-
Esto puede ser útil para emplearlo en un script o asignarlo a una combinación de teclas.
Lo vi aquí.
Borrar mensajes de la cola de correo
Con el siguiente script podemos borrar de la cola de correo de nuestro servidor los mensajes de determinado usuario.
Por ejemplo para borrar los de spam@basura.com
for i in `mailq | grep spam@basura.com | cut -f1 -d*`; do postsuper -d $i; done
En ocasiones esto nos puede ser muy útil para aliviar la cola de correo.
Por ejemplo para borrar los de spam@basura.com
for i in `mailq | grep spam@basura.com | cut -f1 -d*`; do postsuper -d $i; done
En ocasiones esto nos puede ser muy útil para aliviar la cola de correo.
Comparar ficheros gráficamente
Con Meld, podemos comparar ficheros de texto y además sustituir las diferencias de uno a otro. Un práctico programa que podemos encontrar en los repositorios de ubuntu.
24/6/09
Sugerencias tras una nueva instalación de Ubuntu
¡Muy práctico ToDo trás una nueva instalación de Ubuntu!
Cambiar nombre host
Para cambiar el nombre del host, utilizamos el comando:
hostname NUEVONOMBRE
Si lo introducimos sin argumentos, nos muestra el nombre de host actual, si le pasamos un argumento, lo cambia.
También debemos actualizar las referencias al anterior nombre de host en los ficheros:
/etc/hostname
/etc/hosts
Lo vi aquí.
hostname NUEVONOMBRE
Si lo introducimos sin argumentos, nos muestra el nombre de host actual, si le pasamos un argumento, lo cambia.
También debemos actualizar las referencias al anterior nombre de host en los ficheros:
/etc/hostname
/etc/hosts
Lo vi aquí.
22/6/09
Filtrar IPs
Vamos a ver como filtrar con iptables las IPs de spammers y hackers que pretendan atacar a nuestro servidor.
Una vez hayamos detectado la IP atacante, por ejemplo con logcheck, crearemos una regla para filtrar dicha IP.
Por ejemplo para filtrar la ip 99.99.99.99:
iptables -A INPUT -s 99.99.99.99 -j DROP
Podemos eliminar una línea cambiando el parámetro -A por -D.
Para listar todas las reglas creadas usamos:
iptables -L
Estas reglas se pierden al reiniciar el sistema, por lo que vamos a salvarlas a un fichero y hacer que se carguen en el arranque:
Si es necesario creamos el directorio /var/lib/iptables
Comprobamos que están activas las reglas deseadas con iptables -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.
Seguidamente vamos a configurar el sistema para que guarde en un log registro de los accesos denegados:
Editamos: /etc/syslog.conf
Y añadimos la línea:
kern.warning /var/log/iptables.log
Debemos añadir este log a los logs monitorizados por logcheck.
Ahora lo que hay que hacer es para cada ip bloqueada, crear dos reglas iptables: una para guardar el registro y la otra para rechazar la conexión.
Por ejemplo:
iptables -A INPUT -s 99.99.99.99 -j LOG --log-prefix 'IP BLOQUEADA ' --log-level 4
iptables -A INPUT -s 99.99.99.99 -j DROP
Para reiniciar el servicio de monitorización: /etc/init.d/sysklogd restart
(Si tras reiniciar el servicio, no registra los accesos denegados en el log, probar reiniciando todo el sistema).
Una vez hayamos detectado la IP atacante, por ejemplo con logcheck, crearemos una regla para filtrar dicha IP.
Por ejemplo para filtrar la ip 99.99.99.99:
iptables -A INPUT -s 99.99.99.99 -j DROP
Podemos eliminar una línea cambiando el parámetro -A por -D.
Para listar todas las reglas creadas usamos:
iptables -L
Estas reglas se pierden al reiniciar el sistema, por lo que vamos a salvarlas a un fichero y hacer que se carguen en el arranque:
Si es necesario creamos el directorio /var/lib/iptables
Comprobamos que están activas las reglas deseadas con iptables -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.
Seguidamente vamos a configurar el sistema para que guarde en un log registro de los accesos denegados:
Editamos: /etc/syslog.conf
Y añadimos la línea:
kern.warning /var/log/iptables.log
Debemos añadir este log a los logs monitorizados por logcheck.
Ahora lo que hay que hacer es para cada ip bloqueada, crear dos reglas iptables: una para guardar el registro y la otra para rechazar la conexión.
Por ejemplo:
iptables -A INPUT -s 99.99.99.99 -j LOG --log-prefix 'IP BLOQUEADA ' --log-level 4
iptables -A INPUT -s 99.99.99.99 -j DROP
Para reiniciar el servicio de monitorización: /etc/init.d/sysklogd restart
(Si tras reiniciar el servicio, no registra los accesos denegados en el log, probar reiniciando todo el sistema).
15/6/09
Monitorizar logs con logcheck
Usaremos logcheck para monitorizar los logs del apache.
Para instalarlo:
apt-get install logcheck
Configurarlo:
Editar /etc/logcheck/logcheck.conf
e indicar en la línea
SENDMAILTO="correo@electron.ico"
la dirección donde queremos recibir las notificaciones
Editar /etc/logcheck/logcheck.logfiles
y añadir las líneas:
/var/log/apache2/access.log
/var/log/apache2/error.log
Para programar su ejecución:
editar /etc/cron.d/logcheck
y modificar la frecuencia que deseemos en:
5 * * * * logcheck if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck; fi
Para instalarlo:
apt-get install logcheck
Configurarlo:
Editar /etc/logcheck/logcheck.conf
e indicar en la línea
SENDMAILTO="correo@electron.ico"
la dirección donde queremos recibir las notificaciones
Editar /etc/logcheck/logcheck.logfiles
y añadir las líneas:
/var/log/apache2/access.log
/var/log/apache2/error.log
Para programar su ejecución:
editar /etc/cron.d/logcheck
y modificar la frecuencia que deseemos en:
5 * * * * logcheck if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck; fi
Monitorizar logs con logwatch
logwatch realiza un chequeo de los logs del sistema y envía un email con el resultado.
Para instalarlo:
apt-get install logwatch
Configurarlo:
copiar el fichero /usr/share/logwatch/default.conf
a /etc/logwatch/conf/logwatch.conf
y editar este último, realizando los siguientes cambios si es necesario:
Print = No
Output = mail
MailTo = correo@electron.ico
Range = Today
Detail = High
Si al ejecutar logwatch da un error crear el directorio:
mkdir /var/cache/logwatch
Por último para programar su ejecución diaria añadir a /etc/crontab
0 6 * * * root /usr/sbin/logwatch
Para instalarlo:
apt-get install logwatch
Configurarlo:
copiar el fichero /usr/share/logwatch/default.conf
a /etc/logwatch/conf/logwatch.conf
y editar este último, realizando los siguientes cambios si es necesario:
Print = No
Output = mail
MailTo = correo@electron.ico
Range = Today
Detail = High
Si al ejecutar logwatch da un error crear el directorio:
mkdir /var/cache/logwatch
Por último para programar su ejecución diaria añadir a /etc/crontab
0 6 * * * root /usr/sbin/logwatch
Chequeo de actualizaciones con apticron
El paquete apticron chequea diariamente las actualizaciones disponibles para el sistema y las descarga y envía un mail notificándolo.
Para instalarlo:
apt-get install apticron
Configurarlo:
Editar /etc/apticron/apticron.conf
e indicar en la línea
EMAIL="correo@electron.ico"
la dirección en la que queremos recibir las notificaciones.
Para instalarlo:
apt-get install apticron
Configurarlo:
Editar /etc/apticron/apticron.conf
e indicar en la línea
EMAIL="correo@electron.ico"
la dirección en la que queremos recibir las notificaciones.
8/6/09
3/6/09
Arrancar máquina VMW desde una iso
Supongamos que tenemos creada una máquina VMWare y queremos que arranque desde la iso de un cd, en lugar de un cd. Tenemos que editar el fichero .vmx de la máquina, localizar las líneas:
ide1:0.present = “true”
ide1:0.fileName = “auto detect”
ide1:0.deviceType = “atapi-cdrom”
comentarlas y sustituirlas por:
ide1:0.present = “true”
ide1:0.fileName = "IMAGEN.iso”
ide1:0.deviceType = “cdrom-image”
Me inspiré en este artículo.
ide1:0.present = “true”
ide1:0.fileName = “auto detect”
ide1:0.deviceType = “atapi-cdrom”
comentarlas y sustituirlas por:
ide1:0.present = “true”
ide1:0.fileName = "IMAGEN.iso”
ide1:0.deviceType = “cdrom-image”
Me inspiré en este artículo.
10/4/09
Crear máquina vmw online
Montar discos por etiqueta en fstab
Cuando tenemos discos extraíbles en el ordenador, el orden de los dispositivos en /dev puede cambiar según que discos tengamos conectados. Por ello en /etc/fstab puede ser conveniente indicar que se monte el disco por su etiqueta, en lugar de por la ruta del dispositivo.
Para ello sustituimos en /etc/fstab su ruta:
/dev/DISPOSITIVO
Por su etiqueta:
LABEL=ETIQUETA
De esta forma montará la unidad que esté etiquetada con dicha label.
Para ello sustituimos en /etc/fstab su ruta:
/dev/DISPOSITIVO
Por su etiqueta:
LABEL=ETIQUETA
De esta forma montará la unidad que esté etiquetada con dicha label.
2/4/09
Agenda Sunbird
25/3/09
Caducidad del certificado SSL
Crear certificado SSL
Las instrucciones para hacerlo se encuentran en el fichero /usr/share/doc/apache2/README.Debian.gz: que podemos descomprimir para leer o leer directamente con el comando zless.
En primer lugar hemos de instalar, si no lo tenemos ya, el paquete ssl-cert:
apt-get install ssl-cert
Luego debemos ejecutar los comandos:
a2ensite default-ssl
a2enmod ssl
Y ahora creamos nuestro certificado:
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /RUTA/NOMBRE.crt
Tras lo cual modificamos el fichero:
/etc/apache2/sites-available/default-ssl
Para que SSLCertificateFile y SSLCertificateKeyFile apunten a los ficheros creados en el paso anterior.
Reiniciamos apache:
/etc/init.d/apache2 restart
Y listo!
En primer lugar hemos de instalar, si no lo tenemos ya, el paquete ssl-cert:
apt-get install ssl-cert
Luego debemos ejecutar los comandos:
a2ensite default-ssl
a2enmod ssl
Y ahora creamos nuestro certificado:
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /RUTA/NOMBRE.crt
Tras lo cual modificamos el fichero:
/etc/apache2/sites-available/default-ssl
Para que SSLCertificateFile y SSLCertificateKeyFile apunten a los ficheros creados en el paso anterior.
Reiniciamos apache:
/etc/init.d/apache2 restart
Y listo!
18/3/09
Edición de video
Cinelerra es un completo editor de video. En Taringa podemos ver como instalarlo en ubuntu.
14/3/09
Crear etiquetas cd/dvd
gLabels es una práctica aplicación para imprimir todo tipo de etiquetas, con plantillas para un montón de marcas de papel adhesivo (en ubuntu disponible a través del gestor de paquetes).
7/2/09
Montar partición FAT en el arranque
Para montar una partición fat en el arranque, añadimos al /etc/fstab una linea como esta:
/dev/PARTICION /media/DIRECTORIO vfat auto,quiet,uid=1000,gid=1000,fmask=177,dmask=077,utf8=true 0 0
Más información aquí.
/dev/PARTICION /media/DIRECTORIO vfat auto,quiet,uid=1000,gid=1000,fmask=177,dmask=077,utf8=true 0 0
Más información aquí.
3/2/09
X Windows en MS Windows
Hemos visto como ejecutar aplicaciones X Windows a través de una conexión ssh.
¿Y si conectamos desde un sistema MS Windows, a través de putty?
¡También podemos ejecutar aplicaciones gráficas con Xming, el servidor de X Windows para MS Windows!
Además también se puede ejecutar de manera portable desde un usb.
Se puede descargar desde aquí.
¿Y si conectamos desde un sistema MS Windows, a través de putty?
¡También podemos ejecutar aplicaciones gráficas con Xming, el servidor de X Windows para MS Windows!
Además también se puede ejecutar de manera portable desde un usb.
Se puede descargar desde aquí.
Túneles ssh
En este ejemplo, vamos a conectarnos por ssh al equipo 99.99.99.99 por el puerto 9999 y como usuario "bender" y redirigiremos el puerto 5900 (el puerto por defecto para vnc) del equipo de la red remota con ip 192.168.0.99 al puerto 1111 de nuestra máquina:
ssh -p 9999 -P -L 1111:192.168.0.99:5900 bender@99.99.99.99
Como resultado, si tenemos el vnc server trabajando en 192.168.0.99, podríamos acceder a él por el puerto forwadeado:
127.0.0.1:1111
Mucha más información aquí.
ssh -p 9999 -P -L 1111:192.168.0.99:5900 bender@99.99.99.99
Como resultado, si tenemos el vnc server trabajando en 192.168.0.99, podríamos acceder a él por el puerto forwadeado:
127.0.0.1:1111
Mucha más información aquí.
ssh
Para conectarnos a otra máquina por ssh:
ssh -p puerto usuario@ip
Si queremos copiar un fichero:
scp -P puerto fichero usuario@ip:directorio
Si queremos ejecutar aplicaciones gráficas añadimos el parámetro -X:
ssh -X -p puerto usuario@ip
En caso de querer ejecutar un navegador por este método, es recomendable usar epiphany, pues es mucho más liviano que otros.
ssh -p puerto usuario@ip
Si queremos copiar un fichero:
scp -P puerto fichero usuario@ip:directorio
Si queremos ejecutar aplicaciones gráficas añadimos el parámetro -X:
ssh -X -p puerto usuario@ip
En caso de querer ejecutar un navegador por este método, es recomendable usar epiphany, pues es mucho más liviano que otros.
17/1/09
Autocompletado en el historial de comandos
Si pulsamos CTRL + R en la línea de comandos del terminal, y tecleamos parte de un comando, conforme vayamos escribiendo irá buscando en el historial de comandos ejecutados el que más se le parezca, si volvemos a pulsarlo buscará el anterior. ¡Muy útil!
Otros atajos de teclado.
Otros atajos de teclado.
Suscribirse a:
Entradas (Atom)