NFS a través de un firewall

El cliente de nfs al conectarse es comprobado mediante las reglas que tenga el servidor en su fichero /etc/exports. Si estamos entre las IPs que se pueden conectar, el portmapper (/sbin/portmap del servidor) nos dará el siguiente puerto libre para montar (mountd) la carpeta nfs.

Este es el funcionamiento por defecto, pero podemos forzar a mountd a ligarse a un puerto determinado. Si cambiamos /etc/default/nfs-kernel-server (en el servidor) y ponemos algo como:

# Number of servers to start up

RPCNFSDCOUNT=8
# Options for rpc.mountd

RPCMOUNTDOPTS="--port 2000"

Obligamos a mountd a ligarse a ese puerto. De esa forma, en el firewall, bastará con abrir el puerto 2000 (además del 2049 nfs y el 111 del portmap) para que todo funcione,

Un par de utilidades: pmap_dump (o bien rcpinfo -p localhost) que muestra los puertos a los que están ligados el portmapper, mountd, etc. y pmap_set que los cambia.

# pmap_dump

100000 2 tcp 111 portmapper

100000 2 udp 111 portmapper

100024 1 udp 793 status

100024 1 tcp 796 status

100003 2 udp 2049 nfs

100003 3 udp 2049 nfs

100003 4 udp 2049 nfs

100003 2 tcp 2049 nfs

100003 3 tcp 2049 nfs

100003 4 tcp 2049 nfs

100021 1 udp 32773 nlockmgr

100021 3 udp 32773 nlockmgr

100021 4 udp 32773 nlockmgr

100021 1 tcp 38611 nlockmgr

100021 3 tcp 38611 nlockmgr

100021 4 tcp 38611 nlockmgr

100005 1 udp 2000 mountd

100005 1 tcp 2000 mountd

100005 2 udp 2000 mountd

100005 2 tcp 2000 mountd

100005 3 udp 2000 mountd

100005 3 tcp 2000 mountd

Enlaces relacionados

nfs.sourceforge.net/nfs-howto/security.html

j j j

iptables, ipchains y Netfilter ? Diferencias ?

Extraído de la página oficial de Shorewall firewall

Netfilter – the packet filter facility built into the 2.4 and later Linux kernels.
ipchains – the packet filter facility built into the 2.2 Linux kernels. Also the name of the utility program used to configure and control that facility. Netfilter can be used in ipchains compatibility mode.
iptables – the utility program used to configure and control Netfilter. The term ‘iptables’ is often used to refer to the combination of iptables+Netfilter (with Netfilter not in ipchains compatibility mode).

j j j

Un nuevo artículo

Si quieres abrir archivos lha desde tu File-roller, o simplemente leer otra de mis tragedias griegas con un programita te recomiendo este artículo. Probado y funciona.

j j j

Preguntas inocentes

Sucedió el pasado Domingo 24 de Julio. Mi mujer se había descargado de Internet unos documentos en formato PDF que quería imprimir. Mala suerte, porque el autor de los PDF los había protegido para que no se pudieran imprimir, de forma que tuvieras que leerlos en la pantalla del ordenador. Yo estoy acostumbrado a mirar la pantalla durante horas, por lo que no entiendo que a alguien le cueste. Pero les cuesta. Además, a mi me gusta leer los libros de informática con forma de libro.

Es entonces cuando surgió la pregunta inocente: «Diego, ¿estos PDF no se pueden imprimir de alguna manera?». Yo aún no sabía cuánto dolor estaba encerrado en esas diez palabras.

«Bueno, puedo intentarlo» – le contesté.

Sencillo, a fin de cuentas, para un freaky de la informática como yo. Bastaba con copiar uno de los PDF a la carpeta compartida pública de mi servidor Linux (mi mujer usa Windows XP). Para ser totalmente ordenado, dentro de /public creé una carpeta Paqui. Una vez situado, desde una terminal tecleé:

$ cd /public/Paqui $ pdf2ps nombre-fichero.pdf

¡Exito! El fichero se había convertido de PDF a PS (PostScript) y ahora sí que se podía imprimir usando el visor de PostScript de GNOME gvv (Gnome Ghostview). Ahora mismo alguien de la audiencia estará pensando «bueno, sí, eres muy listo, pero eso es precisamente lo que el autor del PDF quería impedir». Pues sí, me confieso. Los casados entre la audiencia me entenderán.

Un momento de triunfo

Exultante por mi triunfo (conseguido en apenas cinco minutos) me dirigí a la mesa de mi mujer con los papeles prueba de mi triunfo en la mano. «Listo» – le dije con una gran sonrisa.

«Gracias, está muy bien, pero… ¿y cuándo tú no estés?. ¿No hay alguna manera de automatizar el proceso para que lo pueda hacer yo sola?»

El mundo pareció enmudecer. Me sentía cada vez más pequeño. Ese es el tipo de preguntas inocentes que suelen hacer los usuarios y que normalmente suelen llevar aparejados un tremendo marrón.

Volví cabizbajo a mi servidor Linux y pensé. «Bueno, probablemente con un pdf2ps *.pdf esté todo solucionado. Me equivocaba. pdf2ps no admite comodines. Luego para procesar varios ficheros hay que hacerse un pequeño script.

«Ese peaso de script»

Bueno, nada más fácil que un pequeño script. En cinco minuto (más) tuve escrito algo como ésto:

#!/bin/bash
 PROGRAM=pdf2ps
for f in $1
do
echo $PROGRAM $f $f.ps
$PROGRAM $f $f.ps
done
nautilus /public/Paqui

El lector avezado en programación de la BASH Linux sabrá que el bucle for recorre todos los ficheros que coincidan con un patrón, pasado como parámetro en $1. Luego este script se usa así:

$ multiple-pdf2ps.sh *.pdf

generando un fichero pdf.ps por cada pdf.

¡Bueno, segundo momento de triunfo! Ya estaba todo listo. O casi. Subí el nuevo script a la rama correspondiente del CVS y me puse a pensar.

Mi reino por un visor de PostScript para Xp

Pues eso. La conversión había tenido éxito. Pero no quería que mi mujer tuviera que lidiar con CUPS y la impresión desde Linux (entre otras cosas porque aún no he configurado el driver de impresión para sacar dos páginas por hoja, pero ese es otro tema). Luego necesitaba un visor de PostScript para XP.

Sencillo: Google me llevó a http://www.cs.wisc.edu/~ghost/ de donde me descargué el visor Ghostview para Windows y el propio GhostScript (un intérprete de PostScript Software Libre; PostScript es de Adobe y los visores de PostScript valen pasta o en cualquier caso no son Software Libre). Dejé los ficheros en /public/Paqui y desde el XP instalé ambos ficheros (por cierto, la conexión por red a \einstein\public la había automatizado con una unidad de red, F: concretamente: otra tarea de «un minuto»).

La prueba fue un éxito absoluto: podía imprimir dos páginas por hoja abriendo el .PS desde XP. ¡Triunfo! ¿Ya? No, falta algo…

Un usuario en Linux

Claro. Si quiero que mi mujer pueda hacer ésto cuando yo no esté, debe poder entrar en el servidor. Bueno, sencillo, adduser Paqui, le pongo una clave, entro en su sesión de GNOME, le pongo un escritorio bonito, le creo un lanzador en el escritorio que ponga «convertir los PDFs» y que llame al script y listo. Otros cinco minutos.

Probemos. ¡Cómo!?. No puedo acceder a los ficheros de /public/Paqui. Horror. Al montar la unidad en Linux, tengo una línea en el /etc/fstab como:

/dev/hdc1 /mnt/hdc1-xp vfat auto,user,exec,uid=1000,gid=1000 0 0

que, entre otras cosas, monta la unidad /dev/hdc1 con el usuario de uid 1000 como propietario, o sea, yo. Por eso el usuario de mi mujer no puede leer /public

Solución: meter a los dos usuarios en el grupo users (de GID 100) y en el fstab poner:

/dev/hdc1 /mnt/hdc1-xp vfat auto,user,exec,gid=100,umask=002 0 0

de ésta forma, el propietario de la carpeta es ahora el grupo 100 (al que pertenecen los dos usuarios de Linux) y la umask permite unos permisos de lectura y escritura para el grupo. Todo solucionado.

Epílogo

Hay que ver lo que puede originar una preguntita inocente. Son los «poyaques». Es decir «po ya que puedo convertir de pdf a ps, vamos a convertir en masa», «po ya que he convertido en masa, que se haga con otro usuario», «po ya que …».

Muchas veces los «poyaques» ocupan más tiempo en los proyectos que las especificaciones originales. Ojo con los «poyaques» y las preguntas inocentes. Antes de decir «sí, si eso son sólo cinco minutos» piensa no vaya a ser que sean cinco tras otros cinco tras otros cinco….

j j j

¡He recibido mis diez copias de Ubuntu!

Los CDs de Ubuntu junto con el que últimamente es mi libro de cabecera: el archifamoso NAG en formato arbol muerto.

Comprobado, el envío de CDs de Ubuntu funciona. Entras en la web (www.shipit.ubuntu.com), pides los que quieras, introduces los datos para el envío (dirección, nombre y esas cosas) y pasado un tiempo, te llega un sobre con los CDs.

He pedido diez para compartirlo con mis amigos. Este verano (en Agosto) una de las cosas que quiero hacer es instalarme Ubuntu y probarla a fondo. Tengo esperándole un fantástico disco duro IDE de 4 GB. ¡Qué derroche!

j j j

Segunda Conferencia Internacional de Software Libre

Despu?s de una larga espera (la I Conferencia Int. del S.L. se celebr? en Febrero de 2004), por fin tenemos fechas y lugares para la 2?.

Estavez ser? en dos ediciones, la 1? en M?rida en Octubre de 2005 y la 2? en Febrero en M?laga. Todos los detalles sobre la Conferencia est?n disponibles en el enlace de abajo.

Ya se encuentra abierto el "call for paper", es decir, el plazo para enviar ponencias a la Conferencia. ?Alguien se anima?

j j j

No se puede imprimir desde ningún programa

Tenemos una impresora, en red o conectada directamente, pero no imprime.

Suponiendo que la red esté correctamente configurada, desde una terminal comprobaremos si existen trabajos «atascados» esperando a imprimirse con:

# lpq

Este mandato nos muestra las colas de impresión y qué ficheros se están imprimiendo. Si vemos que al imprimir algo se añade a la cola pero nunca se imprime, probablemente la cola esté detenida.

Para activarla, desde un navegador Mozilla, apuntaremos a http://localhost:631 (config. de las impresoras mediante CUPS). Basta con ir a Printers y activar la impresora. Habrá que autenticarse como root y proporcionar la clave de root.

j j j

Moviendo Evolution de un ordenador a otro

Tengo dos ordenadores con Guadalinex. El problema es el siguiente: leo habitualmente el correo en uno de ellos, pero quiero migrarlo al otro, para tener una copia de seguridad y poder tambi?n leer el correo en este ?ltimo si lo necesito. Los ordenadores, en un alarde de originalidad, los voy a llamar origen y destino

Debemos transferir dos cosas:

# las carpetas con los mensajes de correo, etc. Los datos

# las configuraciones de las cuentas de correo, filtros, etc. que tengamos en el ordenador origen. No es plan de volver a meter esta informaci?n una y otra vez.

Todo se reduce a mover las carpetas /home/usuario/evolution y /home/usuario/.gconf/apps/evolution que contienen, respectivamente, los datos y las configuraciones. Pero algunas consideraciones antes de lanzarse sobre el Nautilus:

– En la m?quina origen y destino debe existir el mismo usuario para el que transferimos el correo. Es decir, si en origen mi usuario se llama "manolo", con UID 1000, en la m?quina destino debe existir un usuario con UID 1000 (y si lo llamamos manolo, tanto mejor)

– Yo no uso mv, ni Nautilus. Para estas cosas me basta con comprimir a tgz, pasar el fichero a la m?quina destino y descomprimir.

– Las contrase?as de las cuentas de correo NO se transfieren y hay que volver a meterlas en la m?quina destino.

– Estoy usando Evolution 1.4 y me funciona. Quejas, flames y llantos en los comentarios.

Para los perezosos:

origen# cd /home/manolo

origen# tar cvfz evolution.tgz evolution/ .gconf/apps/evolution/

origen# mv evolution.tgz /mnt/carpeta-compartida-por-red-de-destino

(cambiad de ordenador y teclado )

destino# cp /mnt/mi-carpeta-compartida/evolution-tgz /home/manolo

destino# tar xvfz evolution.tgz

voila!

j j j