domingo, 26 de agosto de 2012

Cambiar y Reemplazar IPs Hardcodeadas en Linux

Este script surge de que en la empresa no teníamos implementados DNS's y en todos los servidores está hardcodeada la ip en scripts y archivos por todos lados.

Debemos reemplazar xxx.yyy.www.zzz por la ip original que tiene el equipo y aaa.bbb.ccc.ddd es la nueva ip a la cuál deseamos cambiarla:


# for i in `grep xxx.yyy.www.zzz ./* | cut -d : -f1`;
do sed "s/xxx.yyy.www.zzz/aaa.bbb.ccc.ddd/g" $i > temp;mv temp $i;
done

NOTA: Cabe aclarar que si las Ip's estan hardcodeadas en archivos fuentes y compilados, obviamente no cambiará los archivos binarios estos.


Configurar Proxy Client en Linux/Unix

Simplemente tenemos que setear la variable "http_proxy" con el comando export:

export http_proxy=http://usuario:password@ip_proxy_server:puerto_del_proxy_server

jueves, 23 de agosto de 2012

Montar partición Windows en Solaris

Habilitamos el Clienet SMB en el Unix:


# svcadm enable svc:/network/smb/server:default


Montamos en Unix en la ruta: /punt/montaje/local, donde usuario es el usuario de windows y la ip 192.168.0.100 es el equipo donde está compartida la carpeta windows:

# mount -F smbfs //usuario:password@192.168.0.100/carpeta_copartida /punto/montaje/local


Vemos las carpetas compartidas de dicho equipo:

# smbutil view //usuario@192.168.0.100
Password:
Share        Type       Comment
-------------------------------
ADMIN$       disk
C$           disk
2 shares listed from 2 available


martes, 21 de agosto de 2012

Enviar mail con Sendmail


Modificamos las siguientes variables, desde que cuenta deseamos enviar el correo, hacia quién, SMTP lo reemplazamos por la ip ó el hostname del servidor de correo, el asunto y el cuerpo del correo:

# DESDE="morsa@redes-seguridad.com.ar"
# TO="otro@redes-seguridad.com.ar"
# SMTP=mailserver
# ASUNTO="Asunto del Mensaje"
# CUERPO="Cuerpo del Mail"

Ejecutamos la línea invocando las variables seteadas previamente:

# sendEmail -q -f $DESDE -t $TO -u $ASUNTO -s $SMTP -m $CUERPO -v


jueves, 9 de agosto de 2012

DokuWiki en Debian Squeeze




Instalamos el paquete:

# apt-get install dokuwiki


Webserver para configurar automáticamente (apache2 ó lighttpd):

apache2

Purge pages on package removal?

No

Administrator password:

        El que gusten

Reconfiguramos el paquete luego de la instalación:

# dpkg-reconfigure dokuwiki


Para activar la config debe restartear el servidor web, resetearlo ahora?

        Yes

Wiki location:

/dokuwiki
Ok

Authorized network?

"local network"
Ok

Local Network:

172.16.72.0/32
Ok

Purge pages on package removal?

No

Hacer la configuración web-writable?

Yes

Dejar escribir por web los directorios de plugins?

Yes

Enable ACL? 

Yes

Replacing config file /etc/dokuwiki/local.php with new version
Replacing config file /etc/dokuwiki/apache.conf with new version
Reloading web server config: apache2apache2: apr_sockaddr_info_get() failed for ar-stf-srv-vm-xen-1-wik-1
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
.

Archivos de config:

/etc/dokuwiki


Archivos de datos:

/var/lib/dokuwiki

Accedemos a la ip por la web:

                 http://172.16.72.100/dokuwiki


miércoles, 1 de agosto de 2012

Monitoreando Informix con Nagios

Server donde está instalado el informix:

1) Creamos el script para monitoreo:

# vim /ruta-de-nagios/nagios/libexec/check_informix.sh
#!/bin/bash
sudo /ruta-de-informix/informix/bin/onstat |grep On-Line > /tmp/informix-nagios.log
if test $? -eq 0
then
echo OK - DB On-Line
/usr/bin/rm /tmp/informix-nagios.log
exit 0
else
echo CRITICAL - DB Off-Line
exit 2
fi


2) Agregar al sudo el usuario nagios para que pueda ejecutar el comando onstat, ya que no puede ejecutarlo un user sin privilegios. Editamos el sudoers:

# vim /etc/sudoers
...
# Control de Accesos
User_Alias NAGIOS = nagios
...
# Cmnd alias specification
Cmnd_Alias CMD_ONSTAT = /ruta-del-informix/informix/bin/onstat
...
# User privilege specification
NAGIOS          ALL = NOPASSWD: CMD_ONSTAT


3) Configuramos en el archivo del NRPE el comando para ejecucion del script:

# vim /ruta-del-nagios/nagios/etc/nrpe.cfg
...
command[check_stateDB]=/ruta-del-nagios/nagios/libexec/check_informix.sh

Matamos el proceso del NRPE:
# ps -efa |grep nrpe
  nagios  2945   701   0   Jul 28 ?           0:36 /ruta-del-nagios/nagios/bin/nrpe -c /ruta-del-nagios/nagios/etc/nrpe.cfg -d

# kill -9 2945  

Volvemos a iniciarlo:
# /ruta-del-nagios/nagios/bin/nrpe -c /ruta-del-nagios/nagios/etc/nrpe.cfg -d

Chequeamos con el check_nrpe que este instalado correctamente y luego chequeamos con el comando creado:

# /ruta-del-nagios/nagios/libexec/check_nrpe -H localhost
NRPE "Muestra la versión instalada"

# /ruta-del-nagios/nagios/libexec/check_nrpe -H localhost -c check_stateDB
OK - DB On-Line


En el Servidor donde tenemos instalado el NAGIOS:

4) Lo agregamos al nagios, editando primero el host y luego el servicio:

# vim /ruta-del-nagios/nagios/etc/hosts.cfg
...
define host{
        use                     server            ; Name of host template to use
        host_name               informix_server
        alias                   informix_server
        address                 172.16.72.100  ; Ip del informix
        }
...

# vim /ruta-del-nagios/etc/services.cfg
...
define service{
use                             generic-service
host_name                       informix_server
service_description             Informix_State
check_command                   check_nrpe!check_stateDB
}
...

5) Chequeamos que no nos devuelva ningun error, ni ningun warning y reiniciamos el nagios:

# /ruta-del-nagios/nagios/bin/nagios -v /ruta-del-nagios/nagios/etc/nagios.cfg

# /etc/init.d/nagios reload

6) Chequeamos con el check_nrpe desde la CLI del server del nagios, especificando la ip del equipo del nagios y vemos que devuelve que el estado es OK. Si luego paramos el servicio del informix y volvemos a chequearlo nos devolvera CRITICAL.

# /ruta-del-nagios/nagios/libexec/check_nrpe -H 172.16.72.100 -c check_stateDB
OK - DB On-Line