El bocabyte vascodilatador

Blog creado por un estudiante de informática relacionado con linux y las nuevas tecnologías

Compartir vpn a traves de wifi (pcmcia hostap + hostapd + dnsmasq + vpnc + iptables)

Posted by Pedro en mayo 28, 2010

Como algunos sabreis estoy en China y me ha surgido un problema.

Tengo un teléfono android y quiero poder acceder a todo (youtube, facebook, wordpress, …) desde el mismo. Con lo cual vamos a montar un sistemita para poder llevar a cabo esto.

Lo primero es la lista de material.

  • Un ordenador con Linux
  • Una tarjeta wifi que soporte modo master (en mi caso una pcmcia zcom que usa chip hostap_cs)
  • Una cuenta vpn, el de tu uni por ejemplo (yo tengo la de la uni francesa ENSIMAG)

Primero conectamos el ordenador a internet.

Una vez que lo tenemos (ese paso no debería ser muy dificil) configuramos la vpn.

VPN

En mi caso es un cliente cisco con lo que uso vpnc, ni que decir tiene que esta configuracion es para los que estudian en la escuela ENSIMAG en Grenoble, en otra parte del mundo pues será otra cosa

Edito /etc/vpnc/vpnc.conf y pongo
# IPSec gateway 10.4.4.4
IPSec gateway 195.83.76.161 ## servidor para acceder desde el exterior de la red de la escuela (en china usaré este)
IPSec ID inpg
IPSec secret mantas01
Xauth password CONTRASEÑA
Xauth username USUARIO

y lo lanzamos con /etc/init.d/vpnc start como root claro.

En este momento ya tenemos facebook y de todo pero solo en el ordenador

Ahora hay que crear un punto de acceso con la tarjeta wifi (en mi caso la pcmcia). Para lograrlo vamos a configurar 3 cosas, la propia tarjeta, el servidor hostapd (punto de acceso) y el servidor dnsmasq (seridor dns y dhcp)

Comenzemos con la tarjeta.

lo primero creamos el script del servicio asi:

ambasaguas ~ # ln -s /etc/init.d/net.wlan0 /etc/init.d/net.wlan1

Y luego lo configuramos asi:

cat /etc/conf.d/net.wlan1

modules_wlan1=”!wpa_supplicant !ifconfig”
config_wlan1=( “192.168.0.1/24″ )
mode_wlan1=”master”
ssid_wlan1=”espronceda”
channel_wlan1=”6″

A continuacion vamos a por hostapd

tras instalarlo lo configuramos asi:

ambasaguas ~ # cat /etc/hostapd/hostapd.conf

ssid=espronceda
interface=wlan1
driver=hostap

debug=0
ctrl_interface_group=0
macaddr_acl=0
deny_mac_file=/etc/hostapd/hostapd.deny
auth_algs=3
eapol_key_index_workaround=0
eap_server=0
dump_file=/tmp/hostapd.dump
wpa=3
wpa_passphrase=password
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP

hw_mode=b
channel=6

logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=1
debug=1

own_ip_addr=192.168.0.1


ambasaguas ~ # cat /etc/conf.d/hostapd
# Space separated List of interfaces which needs to be started before
# hostapd
INTERFACES=”wlan1″

# Space separated list of configuration files
CONFIGS=”/etc/hostapd/hostapd.conf”

# Extra options to pass to hostapd, see hostapd(8)
OPTIONS=””

Y para finalizar dnsmasq:

ambasaguas ~ # cat /etc/dnsmasq.conf

dhcp-range=192.168.0.100,192.168.0.250,72h
dhcp-host=00:23:76:10:fc:70,htcMagic,192.168.0.50
interface=wlan1

Y ya está? Bueno ahora falta lo más importante compartir internet desde la conexion vpn al punto de acceso.

Lo primero es que teneis que comfigurar el kernel para dar soporte a iptables. De eso hay muchos manuales por ahi.

Y lanzamos los servidores, para eso crearemos un script en /etc/init.d y meteremos las reglas iptables ahi.

ambasaguas init.d # cat /etc/init.d/compartir
#!/sbin/runscript
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

depend() {

}

start() {
iwconfig wlan1 mode master
/etc/init.d/net.wlan1 start
/etc/init.d/hostapd start
/etc/init.d/dnsmasq start
iptables -F
iptables -t nat -F
export LAN=wlan1
export WAN=tun0
iptables -A INPUT -s 192.168.0.0/24 -i ${LAN}  -j ACCEPT
iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done
}

stop() {
iwconfig wlan1 mode managed
/etc/init.d/hostapd stop
/etc/init.d/dnsmasq stop
iptables -F
iptables -t nat -F
}
restart() {
}

Y ahora si que está todo listo para meternos en facebook desde el movil con android

NOTA:

Si en /var/log/messages os sale un error del estilo :

May 28 19:13:00 ambasaguas kernel: [ 1674.642095] wlan1: dropped unencrypted RX data frame from 00:23:76:10:fc:70 (drop_unencrypted=1)

Solo teneis que ejecutar lo siguiente:

ambasaguas ~ # iwpriv wlan1 drop_unencrypte 0

Posted in General | Leave a Comment »

Backup de la particion root con rsync o tar

Posted by Pedro en junio 11, 2009

Hola amigos hoy en bricomania vamos a ver como hacer un backup de la particion de root en un disco duro o donde sea.

Pre:

Lo primero es montar la particion de root en otro sitio, para eso tenemos 2 opciones:
1) Iniciar con un cdlive y montar la particion en un directorio
2) usar mount -o bind

Usaremos la opción 2 por ser mas rápida y sin necesidad de gravar cds y esas mierdas que con el canon están por las nubes.

Creación del backup:

Pues al tajo, cojemos un teclado del 8 y escribimos lo siguiente como root

ambasAguas ~ # mount -o bind / /copia_de_root

Pues si amigos ya tenemos nuestra particion raiz montada y mientras termina de montarse veamos un consejo de bricochorradas consejo

Continuemos con nuestro quehacer.

Ahora tenemos 2 opciones o usar tar o usar rsync para hacer el backup.

Tar:

Nos creara un solo fichero. Podemos usar fat32 si nuestro root ocupa demos de 4 GB si no usaremos ntfs, ext3, …

Podemos crear el fichero comprimido con gzip, bzip2, …

Uso :

ambasAguas ~ # cd /copia_de_root

ambasAguas ~ # tar –exclude bakup.tar cpvf  bakup.tar  .

Si a las opciones le añadimos una z nos dejará bakup.tar comprimido con gzip

Si le añadimos una j nos dejará bakup.tar comprimido con bzip2

Después lo copiamos a un disco duro externo (/media/dico_duro para después) o donde queramos

Rsync:

Nos duplica el arbol de directorios tal y como está.

Nota: no podemos usar lugar de destino que esté formateado en fat32, usaremos por ejemplo uno en ext3

Haremos el backup diréctamente en el disco duro externo (/media/dico_duro/)

ambasAguas ~ # cd /copia_de_root

ambasAguas ~ # rsync -az ./ /media/dico_duro/backup

Y ya tenemos el backup completado.

Fácil, sencillo y para toda la familia

Restauración del backup:

Y os preguntareis claro, y como restauro el backup?

Pues tampoco es muy difícil, en este caso tenemos 3 opciones:

1) Compilar el kernel 3 veces mientras haces el pino y juegas al diabolo mientras cantas la sirenita. Resultado el ordenador te restaura el solo el backup para que dejes de hacer el ridiculo.

2) Método con tar:

montamos la particion de destino, por ejemplo /dev/sda1 en /nuevo_root :

ambasAguas ~ # mount /dev/sda1 /nuevo_root

descomprimimos el tar en /nuevo_root

ambasAguas ~ # cd /nuevo_root

ambasAguas ~ # tar xpvf  /media/dico_duro/bakup.tar

Si le hemos añadido la opcion z o j al comprimir se la añadimos tambien al descomprimir.

3) Método con rsync:

Es lo mismo que para hacer el backup pero en sentido contrario:

ambasAguas ~ # mount /dev/sda1 /nuevo_root

ambasAguas ~ # rsync -az /media/dico_duro/bakup/  /nuevo_root/

Pues nada  ya hemos terminado, solo quedaría configurar grub o lilo. eso os buscais la vida vosotros. 😀

Si no pues en los comentarios o en otro post mas adelante

Posted in General | Leave a Comment »

De dvd a mkv : volcando un dvd con mplayer o vlc si tiene protección ARccOS (dvd2mkv parte 1)

Posted by Pedro en noviembre 21, 2007

Resulta que me he hecho un scriptillo que me pasa un dvd a un fichero matroska video. En este primer post explicaré como volcar el dvd a un fichero .vob

mplayer dvd://TITULO -dvd-device DISPOSITIVO_o_IMAGEN.ISO -dumpstream -dumpfile dvd.vob

Con este comando especificando el título y el dispositivo, normálmente /dev/dvd volcamos el dvd ( o la imagen iso ) al fichero dvd.vob

Ejemplos:

mplayer dvd://1 -dvd-device /dev/dvd -dumpstream -dumpfile dvd.vob
mplayer dvd://4 -dvd-device casinoRoyale.iso -dumpstream -dumpfile dvd.vob

Si nos ocurre un error de lectura de entrada/salida puede que sea producido porque el dvd lleva protección anticopia en cuyo caso usaremos el programa vlc para ripear el dvd de este modo:

vlc dvd:RUTA_DVD@TIT --audio-track X --sub-track Y --sout "#standard{access=file,mux=ps,dst=FICH_SAL}"

Donde:

  • RUTA_DVD = la ruta al dispositivo dvd o al directorio o a la imagen iso.
  • TIT = el título del dvd que queremos ripear
  • X = el track de audio
  • Y = el track de subtítulos
  • FICH_SAL = el fichero donde guardamos el volcado

Ejemplo:

vlc dvd:/dev/dvd@4 --audio-track 1 --sub-track 1 --sout "#standard{access=file,mux=ps,dst=dvd.vob}"
vlc dvd:casinoRoyale.iso@4 --audio-track 1 --sub-track 1 --sout "#standard{access=file,mux=ps,dst=dvd.vob}"

Para saltarse ARccOS en linux (a la hora de volcad bien el dvd), hoy por hoy solo se puede usar vlc. El problema que tenemos es que tenemos que volcar los subtitulos y el audio uno por uno.

Posted in Encode, Linux | Etiquetado: , , | 2 Comments »

Introducir franja negra a un vídeo para ver mejor los subtítulos

Posted by Pedro en octubre 23, 2007

Resulta que tengo varias películas con subtítulos integrados, de modo que cuando la reproduzco con ellos se me sobreescriben encima de la película, dificultándome el poder leeros o incluso el ver algunos detalles de la película.

Estuve mirando y decubrí la opción que permite introducir una franjas negras encima,debajo, o a los lados de modo que los subtítulos se recoloquen ahí.

Las opciones en concreto son:

mplayer -vf expand[=w:h:x:y:o]

Si ponemos w = -100 le metemos un borde de 100 pixeles negros en la parte de arriba de la imagen

Si ponemos h = -100 le metemos un borde de 100 pixeles negros en la parte de la derecha de la imagen

mplayer -vf dsize=relacion

dsize le dice que reproduzca en el formato especificado, poniendole el relacion=16/9 conseguimos que al hacer pantalla completa no nos salgan una franjas negra a los lados consecuencia de haberle metido el -120 al expand.

También podríamos poner relación como un numero decimal, 1.33 para 4/3 o 1.77 para 16/9

Con lo que el comando final quedaría asi:

mplayer -vo x11 -vf expand=0:-120:0:0,dsize=16/9 pelicula.avi

Como comentario final diré que he añadido -vo x11 ya que por ejemplo con -vo gl2 en mi máquina los subtítulos permanecen en pantalla una vez que aparecen y se van solapando, con -vo x11 van desapareciendo correctamente.

Posted in Linux, Video | Etiquetado: , , | Leave a Comment »

Sonido full-duplex en linux configurando aoss y .asoundrc

Posted by Pedro en octubre 23, 2007

Una de las cosas que pueden hechar para atras a un usuario que llega a linux desde windows es que no te funcione el sonido con varias aplicaciones a la vez. Ya que es algo que no tienen por donde coger ni saben como solucionarlo.

Aqui una breve guia de lo que yo he hecho para que me funcione el Teamspeak y el Tactical Ops (un First Person Shooter)

Lo primero de todo es decir que yo uso gentoo por lo que esta guia va dirigida a esta distribución.

El primer paso es ver que tarjeta tenemos.
Sigue leyendo …

Posted in General | 6 Comments »

Llaves ssh = acceso automático sin poner contraseña

Posted by Pedro en octubre 22, 2007

Hace un tiempo tuve que administrar unas 30 máquinas simultáneamente para un concurso de programación de la comunidad de madrid. En ese momento tomé conciencia de lo útiles que resultan las llaves ssh.

¿Qué son?

Pues en resumen lo que conseguimos es que tras 3 comandos conseguimos acceder a un ordenador por ssh sin tener que poner la contraseña, consiguiendo de ese modo poder ejecutar scripts que usen ssh para lanzar aplicaciones, copiar archivos …

Al tajo:

  1. ssh-keygen -t dsa
  2. Sigue leyendo …

Posted in Linux, ssh | Etiquetado: , | 3 Comments »

Configurar Postfix para que acepte todo el correo vaya a quien vaya dirigido

Posted by Pedro en octubre 18, 2007

Este verano se nos quemó el ordenador en la asociación. La semana pasada estuvimos instalando kubuntu en la asociación y creamos las cuentas de usuario de los que estabamos por ahi.

El problema venía a la hora de recuperar el correo ya que en cuanto configuraramos la red, el servidor de la facultad nos iba a enviar todo el correo, con lo que si no lo guardamos de algún modo íbamos a perder el correo de los usuarios que en ese momento no tenían cuenta.

Por lo que tuvimos que configurar el postfix para que se tragara todo. Y ¿como configuramos postfix en modo agujero negro?, pues poniendo esto en el fichero de configuración:

Fichero : /etc/postfix/main.cf

local_recipient_maps =
luser_relay = root

De este modo todo el correo que se envie a algún usuario que no tiene cuenta se redirige al root.

Si queremos que se redirija a otro usuario cambiamos root por el nombre del usuario que sea.

Posted in Linux, mail | Etiquetado: , , | Leave a Comment »

De mpeg a 3gp

Posted by Pedro en marzo 7, 2006

Pues si ayer puse un post de como pasar de 3gp a mpeg hoy pongo uno al contrario.
El comando es:

  • ffmpeg -i video.mpeg -s qcif -r 25 -ac 1 -ar 8000 -b 100 -ab 25 video.3gp
  • mencoder video.mpeg -oac copy -nosound -ovc lavc -lavcopts vcodec=h263p:acodec=amr_nb -of lavf -vf scale=176:144 -o video.3gp

Posted in Encode, Linux | Leave a Comment »

De 3gp a mpeg

Posted by Pedro en marzo 6, 2006

¿Quien no tiene ya un movil que graba videos?, yo si 😀 y por eso he buscado como reproducir los 3gp, pero me he dado cuenta que es mejor convertirlos a mpg, de ese modo los puedes mandar por e-mail a quien quieras y es mucho mas compatible.

REQUISITOS:

  • mencoder
  • ffmpeg

Pasos para gentoo:

  • emerge ffmpeg mencoder

En este momento ya tenemos los codecs necesarios.
Ahora pasamos el 3gp a mpg, primero sacamos el audio con ffmpeg y luego los unimos con mencoder.

  • ffmpeg -i miArchivo.3gp -acodec mp2 -ar 22050 -f wav sonidoTmp.mp2
  • mencoder -audiofile sonidoTmp.mp2 -o miArchivo.mpg -oac copy -ovc lavc -lavcopts vcodec=msmpeg4v2 miArchivo.3gp

PASOS para otras distribuciones : AQUI

Posted in Encode, Linux | Leave a Comment »

Python sidebar

Posted by Pedro en febrero 3, 2006

Buenas a todos (aunque me parece que esto solo lo leo yo, jeje), pues resulta que me he viciado con el mejor lenguaje de programación que exixte, python, y el otro dia encontre esto por la web , es una barra lateral , al estilo de la del historial pero con todo lo necesario para un curioso de python.
Una cosa si estirais un poco la barra os dareis cuenta de que tiene incluso un buscador, digo si estirais porque a mi no me aparecia por defecto , a lo mejor es que tengo baja la resolución.
Bueno pues aqui os lo dejo, que os sea de ayuda

http://projects.edgewall.com/python-sidebar/html/toc-tutorial.html

Solo teneis que añadirla como un marcador y pulsar en el cuando necesiteis ayuda, está muy bien de verdad.
Probadlo.

Posted in Programación, Python | Leave a Comment »