Alta disponibilidad de Internet con Linux (i)

En unos firewalls con Linux hay infinitas maneras de intentar conseguir alta disponibilidad de salida a Internet, aunque todas tienen sus inconvenientes. Voy a contar un ejemplo combinando Conntrack, Iptables, Corosync, Pacemaker y un script inspirado en la solución de amperis.

Una de las soluciones que primero se vienen a la cabeza es utilizar un algoritmo de pesos con ip route según la relación de velocidad de los proveedores contratados o nuestras preferencias, configurando una ruta por defecto multicamino. Pero esto pronto empezará a dar problemas en según qué conexiones o aplicaciones al encontrarse que según qué paquetes les llegan por distintas IP públicas, como las páginas de los bancos. Y aunque la lógica de dividir el tráfico entre proveedores también puede hacerse con iptables y el módulo statistic, no se evita el problema del multicamino.

Justo acabo de mencionar a iptables […] (continuar leyendo)

Anotaciones para un CPD

Montar un centro de procesamiento de datos o una sala de máquinas es de esas cosas sobre las que todo el mundo sabe pero que pocos quieren echarse al hombro. Es fácil acabar aglutinando a un montón de empresas de distinto oficio y beneficio, cada una encargándose de una cosa, pero sin una supervisión común ni fina. Lo cual suena a tiquismiquis, pero asegurarse de que todo quede como debe ahorrará muchos quebraderos de cabeza y misterios a futuro.

El que escribe esto es como todos, con muchas ideas, pero que tampoco sabe diseñar la construcción de un Centro de Procesamiento de Datos de principio a fin. Sin embargo puedo aportar algunos detalles.

Ubicación. Partimos de la base de que vamos a tener una sala llena de máquinas con un considerable valor económico, pero que a su vez van a albergar una información y prestar un servicio con mucho más valor, que es el que realmente va a dar dinero. De manera que es necesario elegir un lugar con:

  • Acceso restringido. Que no sea el c**o de la Bernarda.
  • Unas variables físicas estables. No como el desierto con sus cambios de temperatura.
  • Una temperatura del aire que absorben las máquinas comprendida entre 24 ºC y 26 ºC o incluso mayor. Es una moda de los últimos años a favor de un menor derroche energético, que depende también de las máquinas y sus especificaciones. En CPD de lugares públicos, esos cuya factura de la luz pagamos entre todos, siguen con configuraciones de 19 ºC y tan pichis.
  • Una humedad relativa en torno a un 50 %. Este valor también depende de las especificaciones de las máquinas, pero si es baja pueden soltarnos chispotazos porque se carguen de electricidad estática, y si es alta los componentes empezarán a enrobinarse y tendrán una vida útil menor, cuando no empiecen antes a dar problemas misteriosos que nos hagan perder muchas horas intentado resolverlos.
  • Un entorno con bajo riesgo de catástrofes. Poco importa ponerle la puerta de un búnker, si luego está en un sótano, vienen lluvias torrenciales, el alcantarillado se inunda, los sumideros empiezan a expulsar agua en lugar de succionarla, las bombas de achique no dan abasto o se quedan sin suministro de electricidad,.. Como levantino sé bien que eso puede pasar.

[…] (continuar leyendo)

Actualizar DNS de cPanel desde Bash

Hoy Dyn ha dejado de prestar de manera gratuita su servicio de DNS dinámico. Avisaron con un mes de antelación y yo que ya llevaba tiempo dándole vueltas a cómo poder utilizar un dominio y un hosting propio para eso, me puse a investigar y tuve suerte.

En los foros de cPanel encontré un mensaje con un script en Bash para actualizar desde consola nuestros registros DNS —que por motivos de licencias no puedo reproducir aquí—. Utiliza la api de cPanel para gestionar los dominios y es ideal por ejemplo para crearnos un subdominio y llamar al script periódicamente desde el cron de una máquina con Linux. Incluso una Raspberry Pi con una distribución a medida, al no necesitar de librerías extrañas. Está bien pensado, comprobando en cada ejecución si la IP actual es la misma que la anterior para ahorrar actualizaciones innecesarias y hasta puede mandar un correo electrónico en caso de errores.

La configuración para un ejemplo podría ser:

CONTACT_EMAIL="[email protected]"
DOMAIN="delospalotes.com"
SUBDOMAIN="micasa"
CPANEL_SERVER="cpanel.delospalotes.com"
CPANEL_USER="usuario de cpanel"
CPANEL_PASS="contraseña de cpanel"

Y fuera dependencias de servicios de terceros.

Madres marujas modernizadas

Ser madre y maruja va implícito en la propia naturaleza. Mero instinto. No conozco a una sola que se preocupe de sus pequeños —porque para ella siempre lo serán aun con cincuenta primaveras— que no sea cotilla. Ya sea dándose golpe de pecho con el abanico en el Sálvame edición de la carnicería o disimulándolo mejor que cualquier Mata Hari. Y como todo en esta vida es cuestión de renovarse o morir, ellas también se actualizan. Vayan un paso o tres generaciones de telefonía móvil por detrás, siempre se las saben ingeniar para encontrarte.

En las redes sociales. De peor o de mejor reputación. No importa cuál. La mia mamma aparecerá por ellas de manera directa o indirecta:

  • Con su identidad real. Excusándose por supuesto en que no sabe cómo ha ido a parar a ese lugar.
  • Con una tía, ya sea de sangre o política —cuñada, ojo—, con la que intercambiará información en ambos sentidos e intereses, obviamente.
  • Un alias anónimo de dudosa creatividad con el humor que las caracteriza.
  • La jugada maestra de todas. Utilizar a algún familiar algo bocazas, que informará a su madre de lo que ve sobre ti y esta, como ya sabemos, a la tuya. Siendo perfectamente combinable en el espacio-tiempo con la segunda táctica de su estrategia de enterarse lo que hacen los chiquillos.

Y todo desde […] (continuar leyendo)

Obtener la IP de cada interfaz en Perl

Obtener la IP de la máquina no tiene mucho misterio. Pero cuando se trata de servidores con varias interfaces de red, algunas incluso virtuales, la cosa cambia. Y se trata de algo que puede tener muchas aplicaciones, como por ejemplo un script que distinga entre si las copias que se van a realizar son realmente desde/hacia una máquina remota o en local y agilizar el proceso.

La manera más resumida en el caso de Linux es filtrar la salida de ifconfig:

my @IP = (`ifconfig -a` =~ /inet addr:(\S+)/g);

Pero es cierto que algún día los desarrolladores de la distribución de turno pudieran decidir traducir las palabras inet addr por direccion inet o a saber, por lo que ya estarían fastidiando la expresión regular y por tanto el invento. Así que por eso para soluciones más elegantes y multiplataforma, que para eso es Perl, se puede hacer uso de algún módulo como […] (continuar leyendo)

Casándonos con la compañía del móvil «por si acaso»

La otra noche estaba tomándome por La Latina un pisco sour que un amigo pidió en recuerdo de su temporada por Perú, cuando salió en la conversación el tema de la caterva de tarifas de telefonía móvil que la gente tiene contratadas y hasta qué punto son necesarias. Por supuesto suponíamos el caso del típico particular cuyo sueldo, y posiblemente tampoco su vida, le va en el móvil.

No importa que Movistar llegara no hace mucho a cuestionar públicamente la necesidad de eliminar las tarifas planas de acceso a Internet tal y como se conocen actualmente. En el asunto de la telefonía móvil cada día se ofrecen velocidades mayores junto a paquetes de más Megabytes, cuando no Gigabytes. Hasta aquí todo parece útil, pero mi compinche y yo nos cuestionábamos la utilidad que realmente le da la gente. Sobre todo cuando estas tarifas, bien debido al mismo por si acaso del que cualquier aseguradora se aprovecha, bien impuesto en el acuerdo cuasimatrimonial que la operadora impone, son contratadas junto con otras cuantas no siempre de necesidad real.

Con necesidad real […] (continuar leyendo)

Raros de antes, guays de ahora

Antes usar más de cinco minutos el ordenador por ocio era de gente rara. Ahora trastear el teléfono móvil a todas horas por ocio mola, es de gente guay.La otra tarde estuvimos los telemáticos hablando de ello en el Capi. La gente ha desarrollado el vicio de comunicarse porque sí. La mayoría de mis colegas y compis empezaron en el trasteo de los ordenadores e Internet incluso antes de meterse a ingeniería, como un servidor también y entonces se nos miraba raro. Y ya no digo nada si también utilizábamos la red de redes para buscar información, aprender a hacer páginas web,..

El escoger una carrera llamada ingeniero técnico de telecomunicación, especialidad en telemática, me hizo tener que pegarme más aún a los ordenadores. No se estudia informática como tal, pero sí unos cuantos fundamentos, algunos lenguajes de programación, protocolos, electrónica y sobre todo a que hay que buscarse la vida. Hacer las prácticas en casa si faltaba tiempo en el laboratorio, redactar memorias, mandarse correos electrónicos con los resultados con compañeros de otras localidades, buscar ejercicios y exámenes de otras universidades si el profesor era muy egoísta con el material,.. Así que había que usar bastante el ordenador, incluso algo más que después en la superior. Demasiado para la gente cuyos estudios se reducían a libros y punto.

Pero los tiempos cambian. […] (continuar leyendo)