Está en: »

Etiquetas : sysAdmin

Automatizar secuencias de acciones

bash

expect es un interprete de comandos que nos permite automatizar secuencias de acciones, de esta manera podemos evitar el tener que introducir comandos, solo lo hacemos la primera vez y el resto de veces se ejecuta ya lo que hubieramos realizado (de expect ya hable aunque por desgracia no tengo el tutorial a mano). Podeis encontrar mas informacion aqui.

Para instalar expect ejecutamos:

zypper install expect

Si instalamos tambien autoexpect. Podriamos ejecutarlo directamentes:

chmod +x ./autoexpect
./autoexpect

Grabar la secuencia de comandos que queremos automatizar, y para finalizar escribir “exit”. De esta manera se genera un fichero expect de comandos de manera automatica que luego podriamos ejecutar cuando quisieramos.

vía Tip Consola: Shell Script para reiniciar el router « Ubuntu Life.

Vmware server 1.x en opensuse 11.2

captura vmware 1.x en openSuse 11.2

captura vmware 1.x en openSuse 11.2

Hay algunos problemas con la instalación de vmware server 1.x en openSuse 11.2 debido a su kernel tan actual (el problema viene arrastrado desde la rama 2.6.26 y esta versión de opensuse utiliza la 2.6.31).

Normalmente me decanto por usar vmware 1.x en favor de vmware 2.x ya que este último para mi parecer es bastante lento y «especial» por lo que no me agrada mucho la verdad. Este método también sirve para versiones de vmware workstation 5.5.x ó superior.

Para empezar, esta versión de openSuse es la primera que hace una distinción entre el kernel normal y el kernel de escritorio, por lo que si se va a utilizar como servidor, recomiendo encarecídamente que se instale la versión kernel-default y se desinstale kernel-desktop, lo podemos hacer mediante (de ahora en adelante, usaremos la cuenta de root para todo):

Continúe leyendo…

Tolerancia a fallos y balanceo de cargas en red (bonding)

La técnica bonding consiste básicamente en hacer funcionar varias tarjetas de red con la misma dirección ip. Así podemos realizar que funcionen como una única tarjeta, obteniendo ventajas como la tolerancia a fallos y balanceo de cargas.

Actualmente hay 7 métodos de funcionamiento:

  • balance-rr (mode=balance-rr o mode=0): Configura una política de round-robin para la tolerancia de fallas y balanceo de cargas. Las transmisiones son recibidas y enviadas secuencialmente en cada interfaz esclava vinculada comenzando con la primera disponible.
  • active-backup (mode=active-backup o mode=1): Configura una política de respaldo activa para la tolerancia de fallas. Las transmisiones son recibidas y enviadas a través de la primera interfaz esclava vinculada disponible. Sólo se utiliza otra interfaz esclava vinculada si la interfaz esclava activa falla.
  • balance-xor (mode=balance-xor o mode=2): Configura una política XOR (o-exclusivo) para la tolerancia de fallas y el balanceo de cargas. Usando este método la interfaz coincide la dirección MAC de las peticiones entrantes con la dirección MAC de una de las NICs esclava. Una vez que se establece el enlace, las transmisiones son enviadas secuencialmente comenzando con la primera interfaz disponible.
  • broadcast (mode=broadcast o mode=3): Configura una política de difusión para la tolerancia de fallas. Las transmisiones son enviadas en todas las interfaces esclavas.
  • 802.3ad (mode=802.3ad o mode=4): Configura una política de agregación de enlace dinámico IEEE 802.3ad. Crea grupos de agregación que comparten las mismas especificaciones de velocidad y duplex. Transmite y recibe en todos los esclavos en el agregador activo. Requiere de un switch que sea conforme con 802.3ad.
  • balace-tbl (mode=balace o mode=5): Configura una política de balanceo de carga de transmisión (Transmit Load Balancing, TLB) para la tolerancia de fallas y el balanceo de cargas. El tráfico saliente es distribuido de acuerdo a la carga actual en cada interfaz esclava. El esclavo actual recibe el tráfico entrante. Si el eslavo receptor falla, otro esclavo toma la dirección MAC del esclavo fallido.
  • balance-alb (mode=balance o mode=6): Configura una política de balanceo de cargas activa (Active Load Balancing, ALB) para la tolerancia de fallas y el balanceo de cargas. Incluye el balanceo de cargas de transmisión y recepción para el tráfico IPV4. Se logra el balanceo de las cargas recibidas a través de la negociación ARP.

Continúe leyendo…

Despertar equipo por la red (wake on lan WOL)

Alguna que otra vez necesito acceder a alguna máquina de la red, y normalmente, está apagada. Como tengo un servidor 24 horas online (tengo un post pendiente sobre el mismo), pues he configurado los demás equipos de la red para que puedan despertar al mandarle un determinado paquete (magicpacket).

Para openSuse (creo que es el mismo método para fedora/Red Hat), simplemente hay que editar el archivo de configuración para la interface de red que queramos utilizar para despertar el equipo.
En mi caso , utilizo la interface eth0, por lo que edité el archivo /etc/sysconfig/network/ifcfg-eth0

Continúe leyendo…

Configurar servidor y cliente NFS en openSuse o en cualquier GNU/linux

Configurar una red nfs en sistemas GNU/Linux es muy, pero que muy sencillo.

Continúe leyendo…

Montar recursos samba en GNU/Linux

En sistemas GNU/Linux – UNIX, lo normal para acceder a un dispositivo es montarlo en alguna ruta del sistema de ficheros. Para acceder a servidores samba, la mayoría de usuarios que conozco, utilizan konqueror, el cual soporta samba a través del maravilloso kioslave de kde. El problema es que al no estar montado, si por ejemplo accedemos a un vídeo, este se copiará al temporal de nuestro sistema y posteriormente se visualizará. Aparte de que si necesitamos que algún software de consola o no kde/Gnome acceda al sistema, no podrá. Principalmente por estos motivos (y algunos más) es recomendable montar el recurso compartido en nuestro sistema de ficheros.

Podemos hacerlo en consola con el siguiente comando:

mount.cifs //ip_o_nombre_del_servidor/recurso_compartido /ruta/al/directorio/donde/montarlo -o user=usuario_de_acceso,pass=contraseña_usuario_de_acceso,iocharset=iso8859-15,codepage=cp850

Es fácil de entender, pero explicaré las opciones (lo posterior a -o):

  • user -> usuario con el que queremos acceder al servidor.
  • pass-> contraseña del usuario anterior.
  • iocharset -> especifica los caracteres a utilizar en la configuración del servidor samba (iso8859-15 es la codificación por defecto en equipos windows)
  • codepage -> establece la codificación en el servidor.

A pesar de decantarme normalmente por usar la consola, es cierto que suele ser algo incómodo ya que habría que buscar los equipos, explorar recursos compartidos y montarlos. Hay una aplicación que suelo utilizar por comodidad para esta acción la cual se llama smb4k. En openSuse bastaría con un

zypper install smb4k

Continúe leyendo…

Comandos GNU/Linux para principiantes

Poco a poco, y con mucho esfuerzo, voy evangelizando a algunos usuarios, pero constantemente me están preguntando como era tal o cual comando.

Para estos «novatos», encontré una lista (la cual adjunto en pdf), traducida por Fran Delgado, en la que se detallan los comandos más básicos:

Trabajando con archivos

  • ls –> listar contenido de un directorio
  • ls -al –> listado con atributos y archivos ocultos
  • cd newdir/ -> moverse al directorio newdir
  • cd –> moverse al directorio home
  • pwd –> mostrar la ruta actual
  • rm file –> borrar el archivo file
  • rm -r dir –> borrar el directorio dir
  • rm -f file –> borrar file sin emitir mensajes de error
  • rm -rf dir –> igual que el anterior pero con el directorio dir [**]
  • cp file1 file2 –> copiar file1 en file2
  • cp -r dir1 dir2 –> copiar el dir1 en dir2 (si no existe se crea)
  • mv file1 file2 –> renombra file1 como file2. Si file2 es un directorio lo mueve dentro del mismo.
  • ln -s file link –> crea un enlace simbólico de link hacia file.
  • touch file –> crea o actualiza file
  • cat > file –> redirecciona la entrada estándar a file
  • more file –> muestra el contenido de file
  • head file –> muestra las 10 primeras filas de file
  • tail file –> muestra las 10 últimas filas de file
  • tail -f file –> muestra las 10 últimas filas de file a medida que va creciendo.

Gestión de procesos
Continúe leyendo…

Router, firewall, proxy… bajo una máquina potente o poco potente

Hace ya tiempo que desistí de las horrendas funcionalidades de los router que ofrecen las operadoras de comunicaciones. Y es que cuando deseas una buena funcionalidad (y en este caso sólo hablo de enrutar), se suelen tener problemas varidados y habituales.

¿Qué decir de esos supuestos firewall que traen algunos? No creo que el cortafuegos que incorpora Windows XP sea tan deprimente (no puedo asegurarlo ya que no utilizo la plataforma Windows -bueno, sólo para probar algunos diseños-).

Ya hace basante que un cliente me preguntó que cómo podía controlar los accesos a internet de sus empleados. Por entonces no conocía muchas plataformas libres para dicho propósito, pero por no resignarme a ese caro y pesado ISA Server, me puse manos a la obra a buscar alguna buena solución abierta.

En dicha búsqueda, encontré muchas más soluciones de las que esperaba. Desde variantes de GNU/Linux hasta OpenBSD o FreeBSD, algo que me dió bastante alegría, ya que para controlar una red bajo un Directorio Activo de Microsoft pensaba que me tendría que limitar a ISA Server.

Bueno, detallo algunas impresiones de los más interesantes proyectos que encontré:
Continúe leyendo…

Crear copias de seguridad en servidor web de hosting mediante php

Cuando tenemos un cms alojado, normalmente suele tener algún sistema para las copias de seguridad. Pero también es cierto que la mayoría simplemente hacen un backup de la base de datos, dejando los adjuntos (imágenes, vídeos, ficheros…) descartados.

Otras veces, por necesidades del cliente, desarrollamos nosotros mismos la aplicación.

La cuestión es que sea cual sea el caso, se suele necesitar un sistema de backups medianamente funcional. Y para dicho propósito, he creado un script en php.

El funcionamiento del archivo es bien sencillo:
Continúe leyendo…

Enjaular a un usuario conectado por ssh

Hay un proyecto actualizado y bastante interesante:
Página principal del proyecto: http://olivier.sessink.nl/jailkit/
Pequeño how-to para debian: http://www.esdebian.org/wiki/enjaulado-facil-jailkit-chroot
Recomiendo encarecidamente utilizar este proyecto por estar más actualizado.

En determinadas ocasiones, necesitamos permitir el acceso de determinados usuarios (en los que normalmente no se confía) a nuestro servidor.

En dichas ocasiones, no queremos que pongan en peligro la seguridad del sistema, así como tampoco que puedan acceder a determinadas cosas ajenas a ellos.

Como la confianza de que no toquen ni vean nada es nula, necesitamos enjaular al usuario y evitaremos dichos problemas.

Pero ¿qué es enjaular?
Continúe leyendo…