Prefacio:

Tal y como dice el títlulo, esta entrada que iré dividiendo en varias entregas para hacerla lo menos monótona de leer posible intentará explicar desde de la base como funciona un servidor de correo electrónico, su implementación en linux y por que es tan complicado de hacer para el usuario de a pié.

Todo lo que mas abajo transcribo se basa pura y exclusivamente en mi experiencia personal. Mi servidor de correo funciona en Gentoo, mi distribución favorita. Todos los comandos salvo quizás por el gestor de paquetes, trataré de hacerlos lo mas genérico posibles para que sean aplicables a cualquier versión de Linux.

Esta guía usará a tal efecto el par Postfix / Dovecot para transporte, postfixadmin para administración del servidor y MySQL como medio de almacenamiento del correo electrónico entrante y saliente.

Para toda la sección de configuración me basaré principalmente en la exelente guía de la Wiki de Gentoo.

Continúa leyendo

Mas que TIP, es una nota mental, ya es la segunda vez que tengo que hacer esto y googlear al respecto por no acordarme como mierdas se suponde que debe uno hablarle a syslog-ng en su críptico idioma como se hace:

Por defecto postfix escupe todo su log en syslog, por costumbre uso como syslog la aplicación syslog-ng, cuando se usa syslog-ng toda la salida de postfix va a parar derecho a /var/log/messages.

Esto no tiene nada de malo cuando no se trata de monitorear /var/log/messages con frecuencia, pero cuando varias aplicaciones vuelcan toda su salida al mismo lugar y hay que estar pendiente del log en cuestión, el asunto se pone denso. Postfix en su versión menos verborrágica inunda el log con mensajes cuando el servidor SMTP tiene mucho tráfico. Por esto es que me interesaba separar el log de postfix a un archivo aparte.

Por convención usé /var/log/mail.log, syslog-ng deberá volcar en ese archivo toda la salida de postfix.

Como se hace:

Editar el archivo /etc/syslog-ng/syslog-ng.conf, agregar las siguientes líneas:

destination mail { file(«/var/log/mail.log»); };

filter mail { facility(mail); };

filter notmail { not facility(mail); };

log { source(src); filter(mail); destination(mail); };

Y no me pregunten que significa cada cosa ni por qué funciona, por que no tengo ni idea, ni ganas de investigar al respecto, ni tiempo para hacerlo, pero funciona, doy fe.

Calidad de servicioAyer leyendo Un Sanjuanino en Rio Cuarto me dí con una entrada mencionando un vínculo a HowtoForge donde se plantea la alternativa mas facil que he visto hasta ahora para tener una implementación de QoS (por Quality of service en inglés: calidad de servicio) que aunque rudimentaria es totalmente funcional.

Se puede extender a cualquier otra disciplina de encolado y mejorar en función de las necesidades de cada uno, así que vamos a los bifes.

Requisitos necesarios:

  • Kernel con soporte para iptables.
  • Iptables instalado.
  • El comando tc instalado, que es parte del paquete iproute2
  • Opcional, l7filter para iptables.

Cualquier distribución orientada a servidor/router o redes en general ya trae estos tres requisitos preinstalados y configurados. En caso de no ser así basta con usar el gestor de paquetes de cabecera para instalar iproute2 e iptables, y seguir cualquier guía de configuración del kernel para darle soporte a iptables.

Esquematizando un poco:

El esquema de mi red es exactamente el mismo del ejemplo de howtoforge:

[internet]<–>[cablemodem]<–>[eth1  linux  eth0]<–>[red local]

Queda en cada uno adaptar las siguientes instrucciones para la topología de su red.Continúa leyendo

Siguiendo la línea del post anterior en que uso mplayer para reproducir videos de youtube, se me acaba de ocurrir otro tip estúpido, de esos que simplifican la vida:

Descargar videos de youtube simplemente presionando una combinación de teclas (evitando así eso de instalar extensiones para el navegador que cumplan la misma función y si te pasa como en mi caso, evitando llevar las manos hasta el mouse para hacer click, que soy de los que tienen mas tiempo las manos en el teclado que en el mouse).

La idea es:

  • Copiar la URL (la dirección del video de youtube) al clipboard o portapales – como prefieran
  • Llamar por medio de un atajo de teclado a un script de bash que descargue el video en donde le especifiquemos.
  • Opcional: reproducir el video descargado con mplayer o tu reproductor de cabecera.

Desde un terminal (o si prefieren, en modo gráfico) creen una carpeta en donde almacenar los videos que descargará el script. El siguiente comando crea una carpeta llamada videos dentro de /home/tu_usuario/ :

mkdir  ~/videos

Instalar el paquete youtube-dl y si no lo tienen instalado del post anterior instalen además el paquete xclip. No puedo dar instrucciones específicas para cada distribución. Usen su gestor de paquetes para instalarlos. En Gentoo:

emerge youtube-dl xclip

Crear un archivo en blanco:

touch ytdl.sh

hacerlo ejecutable:

chmod +x ytdl.sh

Editar con su editor de texto de cabecera el archivo ytdl.sh:

nano ytdl.sh

Copiar dentro del archivo el siguiente contenido:

#!/bin/bash

youtube_url=`xclip -o|sed “s/ .*//”|head -n1`

cd ~/videos

#Descomentar la opción que se vaya a usar:

#Opción 1 sin especificar nombre de usuario y contraseña:

#youtube-dl -b -t $youtube_url

#Opción 2, especificado usuario y contraseña:

#youtube-dl -u <usuario> -p <password> -b -t $youtube_url

Crear un atajo de teclado que llame a ytdl.sh:

De nuevo no puedo dar instrucciones específicas pero todos los gestores de ventanas (Gnome, KDE, XFCE, etc…) tienen algún modo de definir atajos de teclado.

He estado mirando un poco y para usar atajos de teclado en XCFE que es el entorno de escritorio que estoy usando hay que ir a Settings / Xfce 4 settings manager / Keyboard / Application shortcuts. (Sepan disculpar pero tengo XFCE instalado en inglés).

Por ejemplo, asociar el combo de teclas CTRL + Y para que al ser pulsado ejecute ytdl.sh o si quieren llamarlo por el path completo, que llame a /usr/bin/ytdl.sh

Es realmente un TIP estúpido ¿No? 😀

Simplifica mucho la vida, eso si…