Está en: »

Etiquetas : sysAdmin

Añadir interfaz virtual en systemd

Recientemente he utilizado un usb-wifi como AP para un proyecto en casa. La cuestión es que necesitaba varias redes separadas según el dispositivo por lo que creé varias interfaces virtuales dependientes del dispositivo principal.

Lo primero, saber cuál es nuestro dispositivo:

root@homesrv:~# iw phy | head -3
Wiphy phy0
        wiphy index: 0
        max # scan SSIDs: 4
En mi caso es el 0 (cero)
Continúe leyendo…

Lanzar script según evento ACPI para desactivar el panel táctil (o lo que desees)

Partiendo del problema que me surgía con la pantalla táctil de mi portátil y que comentaba en https://miguelcarmona.com/articulos/desactivar-el-panel-tactil-touch-screen-mediante-bash-y-teclas-rapidas he decidido hacerlo algo más automático y no depender de desactivar o activar el control táctil cuando abro o cierro la pantalla.

Continúe leyendo…

Reenvío de puertos a través de SSH

Hay veces que nos encontramos con tener que acceder a un puerto específico de equipo de una red remota pero no tenemos acceso directo al mismo. Creo que lo entenderemos mejor con esta ilustración:

ssh_reenvio_puertos

En este ejemplo tenemos un equipo de una red remota (remoto_lan) que tiene un servicio escuchando en el puerto 88 sólo para la red interna. En esta misma red tenemos un equipo al cual sí que podemos acceder externamente a través de ssh (sshd_remoto).

El proceso sería sencillo (en el equipo de trabajo):

ssh -4 -L localhost:8888:remoto_lan:88 usuario@sshd_remoto
Continúe leyendo…

Ceder dispositivos a contenedores lxc (passthrough)

containers

Para compartir un dispositivo con un contenedor lxc (una tarjeta de tv dvb por ejemplo), haremos:

ls -lh /dev/dvb/adapter0/
crw-rw----+ 1 root video 212, 0 dic 13 17:00 demux0
crw-rw----+ 1 root video 212, 1 dic 13 17:00 dvr0
crw-rw----+ 1 root video 212, 3 dic 13 17:00 frontend0
crw-rw----+ 1 root video 212, 2 dic 13 17:00 net0

Ya tenemos identificador necesario para dicho dispositivo (212 en este caso).

Ahora, con la máquina contenedor en marcha, vamos a indicar desde el host principal que comparta dichos nodos con el contenedor:

Continúe leyendo…

Apache: No space left on device: Couldn’t create accept lock

El servidor web Apache lo he visto fallar de dos formas distintas (persistentes a reinicios) por el mismo problema de semáforos. Vamos a ver cómo solucionarlo:

En varias ocasiones he visto el siguiente error en el log:

[emerg] (28)No space left on device: Couldn't create accept lock

Continúe leyendo…

Pausar procesos (aplicaciones)

A veces, por algún motivo específico, necesitamos pausar alguna aplicación pero no cerrarla. Puede ser un caso el que hagamos una pausa en nuestra programación con nuestro flamante comedor de recursos como es eclipse o aptana y queramos ver un vídeo flash (otro glotón de recursos) con fluidez. Sería incómodo cerrar todo el IDE para luego volver a abrirlo. Pero el kernel Linux pensó en esos pequeños detalles y nos brinda ciertas posibilidades entre las que se encuentra detener, pausar o matar un proceso (o aplicación para los menos curtidos).

El caso es que podemos mandar la señal detener ( -19 ) a un determinado proceso para posteriormente poder iniciarlo de nuevo ( -18 ). Esta señal se puede mandar con el comando kill y el id de proceso o con el comando killall y el nombre de proceso. Como no me gusta dar tantas vueltas, me centraré en killall:

Continúe leyendo…

evitar desconexión por timeout en ssh

Problema: El servidor ssh al que te conectas cierra la conexión cuando detecta inactividad del usuario.

Solución:crear un fichero ~/.ssh/config con el contenido que indico a continuación.

Ese fichero se leerá cada vez que iniciemos una conexión ssh con cualquier host. Lo que indicamos es que queremos lanzar un paquete a modo de señal cada 120 segundos (2 minutos), haciendo saber que seguimos conectados y que no queremos que nos corte la conexión. Si por cualquier razón el servidor no respondiera tras 3 intentos de envío de señal (2*3 = 6 minutos), se cancelará la conexión.

Continúe leyendo…

Diferentes versiones de PHP según VirtualHost o directorio

Con los cambios de las versiones de PHP 5.3 y 5.4 puede resultar interesante mantener ciertas partes en una versión de PHP anterior y seguir otras con la última estable. Vamos a ver como instalar varios PHP en un mismo Apache.

La instalación del PHP, en este caso 5.2 deberá ser en modo CGI, simplemente deberemos preocuparnos de instalarlo con un prefix diferente y con el fichero de configuración en otro sitio:
Continúe leyendo…

Identificación de la key por el random art

Al generar una clave privada con ssh-keygen podemos ver al final una imagen asciigenerada a partir de la clave:

$ ssh-keygen -t dsa
(...)
The key's randomart image is:
+--[ DSA 1024]----+
|   oE   .        |
|  .. . o o       |
|      o + .      |
|   . o * +       |
|  o O = S        |
|   = X .         |
|    o o          |
|                 |
|                 |
+-----------------+

Continúe leyendo…

Reenviar el correo recibido a otro servidor (a la misma cuenta/dominio)

Para reenviar el correo recibido en un servidor a otro, tenemos los transportes de postfix. Estos transportes nos permiten definir que para un dominio dado (o todo el correo que se reciba) se encole a algún otro servidor. Esto es realmente útil para migraciones de cuentas otros servidores de forma que mientras actualizan las dns, estaremos recibiendo todo el correo en el nuevo servidor.

El proceso es sencillo; en el antiguo servidor, añadiremos al archivo /etc/postfix/transport Continúe leyendo…