Mostrando entradas con la etiqueta linux. Mostrar todas las entradas
Mostrando entradas con la etiqueta linux. Mostrar todas las entradas

sábado, 26 de mayo de 2012

Como instalar un root server local (DNS).

Hola,
  Recientemente en algunas listas de discusión que sigo se hablaba sobre instalar un servidor DNS root server local, en fin, me llamó la curiosidad y lo hice solo por razones académicas.
  He escuchado que esto de alguna manera puede mejorar el performance de alguna red, sobre todo en el mundo de los ISPs, sin embargo, en lo personal no lo veo necesario, lo dejo al criterio de cada uno de ustedes.
 
Laboratorio:
  - Dos servidores y un cliente: Un servidor con Ubuntu, otro con Mandriva, el cliente también fue Mandriva. Donde:
    * Servidor Mandriva como Root Server (Nombre Z, IP=192.168.127.68)
    * Servidor Ubuntu como Servidor DNS recursivo (IP=192.168.127.86)

Primero:
    1) Logicamente probar que el servidor recursivo funcione correctamente
    2) Posteriormente, editar el archivo db.root de Ubuntu y dejar algo similar a:


;
.                        3600000  IN  NS    Z.ROOT-SERVERS.NET.
Z.ROOT-SERVERS.NET.      3600000      A     192.168.127.68
; End of File

  Notese que realmente lo que hice fue eliminar los root servers tradicionales y agregar las lineas correspondientes a Z.ROOT-SERVERS.NET (Z es el nombre del mi root server y 192.168.127.68 es la dirección). 
  Logicamente sin haber más hints de root server, el servidor recursivo se verá forzado a utilizar Z como root server.

Nota:
  En /var/log/syslog luego de reiniciar BIND puedes conseguir una línea similar a la siguiente:
May 25 19:05:16 ubuntu named[4953]: checkhints: extra NS 'Z.ROOT-SERVERS.NET' in hints

Segundo:
  Aqui es donde realmente instalamos el root server en el servidor Mandriva (que realmente es muy sencillo).
  1) Bajar el archivo root.zone de: http://www.iana.org/about/popular-links/
  2) En el archivo /etc/named.conf del root server hay que modificar el siguiente renglón:

  zone "." {
        type hint;
        file "/etc/bind/db.root";
};

  Por:

zone "." {
        type master;
        file "/etc/bind/root.zone";
};

 El archivo root.zone debe estar ubicado en el directorio correspondiente, en mi caso fue en /var/lib/named/var/named/, posteriormente hay que reiniciar y ya. En el root server ni siquiera hay que estar pendiente de recursividad y esas cosas porque este tipo de servidor tradionalmente no debe ni necesita hacer esta operación.

Tercero:
  Probar desde el cliente:

[root@localhost ~]# dig blog.acostasite.com

; <<>> DiG 9.8.0-P4 <<>> blog.acostasite.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26771
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 2, ADDITIONAL: 0

;; QUESTION SECTION:
;blog.acostasite.com.           IN      A

;; ANSWER SECTION:
blog.acostasite.com.    0       IN      CNAME   cf-protected-blog.acostasite.com.
cf-protected-blog.acostasite.com. 300 IN A      108.162.198.198
cf-protected-blog.acostasite.com. 300 IN A      108.162.195.100

;; AUTHORITY SECTION:
acostasite.com.         172800  IN      NS      bob.ns.cloudflare.com.
acostasite.com.         172800  IN      NS      leah.ns.cloudflare.com.

;; Query time: 199 msec
;; SERVER: 192.168.127.86#53(192.168.127.86)
;; WHEN: Fri May 25 19:34:24 2012
;; MSG SIZE  rcvd: 152


Mas información:


  Espero haya sigo útil.





   

martes, 22 de mayo de 2012

cannot connect to X server despues de hacer SSH

Hola,
  Este es un post sumamente corto y espero que sea útil para alguien.

Problema:
  Luego de hacer SSH al momento de intentar ejecutar una aplicación que necesite X se recibe el mensaje "cannot connect to X server".
 
Solucion:
   Editar el archivo /etc/ssh/ssh_config  y ubicar la linea que indica:


#   ForwardX11no

y cambiarla por

   ForwardX11  yes

   Listo!, no es necesario reiniciar nada, solo realiza nuevamente el ssh y ejecuta tu aplicación X.


Espero sea útil,

Suerte,





jueves, 26 de abril de 2012

Completar el nombre de dominio en Linux

Introduccion:

  Este es un post muy corto, sencillo pero muy útil.

  El dia de hoy un amigo mio me preguntó como hacía para que su estación Linux completara el FQDN al momento de resolver un nombre, por ejemplo el quería escribir www y que su estación con linux buscara www.acostasite.com

Solución:
  La solución es sumamente sencilla, lo unico que hay que hacer es editar el archivo /etc/resolv.conf y colocar el parametro domain dentro del mismo. Recordemos que este archivo es donde se especifican los servidores DNS que utilizará Linux
  Por ejemplo, supongamos que yo deseo hacer ping a host blog dentro de blog.acostasite.com:

1) En /etc/resolv.conf debe haber algo como:


nameserver 8.8.8.8
domain acostasite.com

2) Posteriormente con solo hacer referencia a blog dentro un shell o en cualquier sitio del OS el mismo OS intentará ubicar el host blog, sino lo consigue colocará de manera automatica el sufijo acostasite.com

Ejemplo de la salida:

[root@localhost ~]# ping blog -n
PING cf-protected-blog.acostasite.com (173.245.61.138) 56(84) bytes of data.
64 bytes from 173.245.61.138: icmp_req=1 ttl=57 time=135 ms
64 bytes from 173.245.61.138: icmp_req=2 ttl=57 time=136 ms
64 bytes from 173.245.61.138: icmp_req=3 ttl=57 time=135 ms
64 bytes from 173.245.61.138: icmp_req=4 ttl=57 time=135 ms


Notese que en el ping yo solo escribí "blog" y el OS completó automaticamente acostasite.com (la opción "-n" solo evita el rdns de la respuesta)


Eso es todo!, espero sea útil,



martes, 17 de abril de 2012

Como deshabilitar IPv6 en Mandriva & RedHat

Situación:
  Deseo deshabilitar IPv6 en mi distribución Linux

Solución:
  Hay dos soluciones que pueden ser implementadas:
  • OPCION 1: Deshabilitar IPv6 solo en una interfaz en especifico
   a) Editar el archivo: /etc/sysconfig/network-scripts/ifcfg-
   b) Al final del mismo colocar: IPV6INIT=no

  Luego subir y bajar la interfaz, por ejemplo:
   c) #ifdown eth0; #ifup eth0

  • OPCION 2: Deshabilitar IPv6 en todo el sistema operativos
    a) Editar /etc/modprobe.conf y agregar:

      alias ipv6 off
      alias net-pf-10 off
      options ipv6 disable=1


     b) Editar el archivo /etc/sysconfig/network y agregar:
     NETWORKING_IPV6=no

  Reiniciar todo lo relacionado con networking (por ejemplo con /etc/rc.d/network restart)

Espero haya sido útil,

lunes, 16 de enero de 2012

Instalacion de Linux en un servidor SUN Fire

A continuacion se describe el Procedimiento para la Instalacion del Sistema Operativo Debian GNU/Linux en un
Hardware Servidor SUN Fire V210. Como sabemos, este Hadrware no dispone de Tarjeta para Salida de Video
VGA ni Puerto PS2 para Teclado. Lo que si dispone es de un Puerto Serial para Management. Este Servidor tiene
una Arquitectura SPARC de 64 Bits.

A continuacion los Pasos:

1.- Descarga de la Imagen ISO.
Debemos ir al Link http://cdimage.debian.org/debian-cd/6.0.3/sparc/iso-cd/
y descargar al menos el CD1 de la Distro Debian para Sparc64 (con el CD1 es Suficiente para la Instalacion)
Descargamos entonces el ISO: http://cdimage.debian.org/debian-cd/6.0.3/sparc/iso-cd/debian-6.0.3-sparc-CD-1.iso
y lo quemamos en un CD Virgen con cualquier Quemador. Siempre recomiendo quemar los CDs a baja velocidad para evitar algunos inconvenientes.
Colocamos el CD de la Imagen Debian en la Unidad CD/DVD ROM del Servidor.

2.- Ahora, debemos establecer una Conexion via Serial COM con el Servidor Sun Fire V210.
Podemos utilizar Hyperterminal, Minicom o incluse Puttytel. Establecemos una Conexión con los Parametros 9600,8,n,1 (Default). El cable a utilizar es un cable tipo Rollover (NO Crossover). Tipicamente los cables de consola de los equipos Cisco van a funcionar.

3.- Arrancamos el Servidor. El Reto es lograr que haga Boot de la Unidad de CDROM.
Para ello, hacemos lo siguiente: Cuando el Servidor este Arrancando, presionamos la Secuencia 'STOP + A'.
En un Teclado Convencional, esta secuencia es la misma que 'CTRL+SHIFT+BREAK' o 'CTRL+BREAK'.
Al hacer esto, nos aparecera el PROMPT {} Ok, cuando ello suceda hacemos lo siguiente:
{}Ok printenv auto-boot        (Para ver el Estado del Flag auto-boot)
{}Ok setenv auto-boot false    (Para Setear el Flag auto-boot en False)
{}Ok reset-all    (Reiniciamos el Sistema)

4.- Cuando el Sistema Reinicie, volvemos a Presionar 'STOP + A', y al aparecer el Prompt {}Ok lo que hacemos es
indicarle que haga Boot del CDROM, asi:
{}Ok boot cdrom
A partir de este momento comenzara el Boot del Servidor desde el CDROM. Recomiendo que se coloque a
FULL SCREEN el Hyperterminal para ver la Instalacion como si fuera una Pantalla Completa.
Desde este momento, se sigue exactamente el procedimiento de Instalacion de Debian (Usuarios, Particiones, Repositorios, etc.)

Puntos Clave:
- Descargar la Imagen ISO para SPARC 64.
- La Secuencia 'STOP + A', la cual puede ser tambien 'CTRL+BRAK' o 'CTRL+SHIFT+BREAK'.
- Colocar la Pantalla en FULL Screen.
- Si en algun Momento se Pierde la Conexion Serial (suele pasar con Puttytel), simplemente Cierre y Reabra la
Conexion Serial y Teclee cualquier Tecla para recuperar la Instalacion.
- El sistema BOOTEA del CDROM cuandl estando el PROMPT {}Ok se Teclea 'boot cdrom  (Muy Importante...!!!)

- Para que el servidor arranque de manera automatica es necesario en el prompt ok escribir lo siguiente:
auto-boot?=true  
boot-device=disk
 
 

 Espero sea util.

Manual basado en documentacion de profesor Jose Gregorio Cotua

martes, 22 de noviembre de 2011

Certificacion IPv6 de Hurricane Electric

  En esta oportunidad voy a dejarles mis impresiones sobre la certificacion IPv6 que tiene Hurricane Electric en http://ipv6.he.net/certification
na primera oportunidad la habia ignorado pero en esta oportunidad la curiosidad me llamo.
  Les comento que me parece muy interesante la misma; me gusta la manera como esta organizada. Les cuento un poco:

- La certificacion se puede hacer por pasos y en varios dias. Esto da bastante comodidad.
- Para cada nivel te mandan a hacer varias "tareas" tales como: Configurar un servidor Web, de Correo, DNS, prueban conectividad a equipos tuyos etc.
- Es didactica y divertida
- Logicamente para comenzar la certificacion debes estar desde una maquina IPv6
- Existen varios niveles de certificacion: Newbie, Entusiasta, Administrator, Professional, Guru, Sage. A pesar de que me agrada la idea de varios niveles, creo que los nombres le quedan grande al nivel, por ejemplo, obtener el grado de Administrator me parece sencillo y su nombre suena casi a experto.
- Te mandan una franela/remera gratis de IPv6!!!!

  Desde mi punto de vista las personas que manejen servidores y conectividad directamente tienen una enorme ventaja sobre los que no.

Consejos previos para prepararse para la certificacion:

  - Como recomendacion, antes de comentar el examen, tengan un dominio con el cual puedan trabajar, quiero decir, que puedas crear zonas, modificar registros, etc.
  - Maquina servidor (preferiblemente Linux) con conectividad a IPv6
  - Acceso y configuracion a servicios tales como Web Server y Mail Server

Mas informacion

  - La pagina para los que esten interesados es: http://ipv6.he.net/certification/
  - En este blog hay mucha informacion sobre IPv6 sobre Linux y algunos servicios como Apache y Sendmail http://acostanetwork.blogspot.com

  Saludos y suerte a los que deseen tomar la certificacion!!.    

viernes, 21 de octubre de 2011

Verificar el origen de un prefijo BGP


Historia:
  En algunas situaciones queremos estar seguros que el prefijo BGP aprendido en nuestro router sea efectivamente originado por quien debería ser. Han ocurrido ciertas eventualidades en la historia del mundo de Internetworking donde un Sistema Autonomo ha publicado redes no debidas (ej: http://www.ripe.net/internet-coordination/news/industry-developments/youtube-hijacking-a-ripe-ncc-ris-case-study).
  Hoy en día un poco más del 10% de los prefijos asignados por los RIRs (Lacnic, RIPE, Afrinic, ARIN y APNIC) tienen asignado un ROA (Route Origin Authorization) el cual indica de manera segura quien es el sistema autonomo asignado para publicar cierto prefijo. A lo anterior se le conoce como Resource Public Key Infrastructure (RPKI) 


Problema:
  Deseo saber cual debería ser el sistema autónomo de un prefijo especifico (por ejemplo una red aprendida por BGP). 


Solución:
  Seguramente en un futuro cercano tendremos decenas de páginas Web donde podamos consultar el sistema autonomo que debería publicar cierta red (quizás hoy en día existen y yo no las conozco), en fin, nuestro buen amigo whois nunca nos falla. En esta oportunidad nos apoyaremos en el servidor whois de bgpmon.net


  Aquí les dejo los comandos y unas salidas ejemplos:
  • ROA con problemas (
    Se esperaba el AS 17NN9 y esta siendo publicado por el 79NN))
    :


aacosta@bind:~$ whois -h whois.bgpmon.net 2001:NNNN::0


Prefix:              2001:NNNN::/32
Prefix description:  
Country code:        VE
Origin AS:           79NN
Origin AS Name:      NNNNNN.
RPKI status:         ROA validation failed: Invalid Origin ASN, expected 17NN9

  • ROA satisfactorio:

aacosta@bind:~$ whois -h whois.bgpmon.net 2001:NNNN::0


Prefix:              2001:NNNN::/32
Prefix description:  
Country code:        VE
Origin AS:           79NN
Origin AS Name:      NNNNNNN.
RPKI status:         ROA validation successful
  • SIN ROA (en este prefijo no podremos saber que AS debería publicarlo):
aacosta@bind:~$ whois -h whois.bgpmon.net 2800:NN::0


Prefix:              2800:NN::/32
Prefix description:  
Country code:        AR
Origin AS:           79NN
Origin AS Name:      NNNNNN
RPKI status:         No ROA found



Más información:
http://acostanetwork.blogspot.com/2011/03/historico-de-tablas-bgp-hijack-de-mi.html (Histórico de tablas BGP)
https://labs.ripe.net/Members/Paul_P_/content-serving-roas-rpsl-route-objects
http://bgpmon.net/blog/?p=414

miércoles, 7 de septiembre de 2011

Utizando Netem. Simulando escenarios de red. Ejemplos de tc/netem

Problema:
  Deseo simular algunos escenarios de red.
    a) Simular en un salto satelital
    b) Simular perdida de paquetes

  Lo anterior es de mucha utilidad porque permite probar escenarios -casi reales-. Se pueden probar aplicaciones y conocer como se comportan ante una alta tasa de pérdida de paquetes y/o ante altos tiempos de respuesta. Otra opción es conocer el comportamiento ante pérdidad y/o RTT aleatorios y muchas otras cosas.


Solución:
  Netem (Network Emulacion) que permite simular escenarios de red muy tipicos en redes WAN, MAN y Satelitales.
   Netem es controlado con el comando tc que es parte de iproute2

Ejemplos:

a)  Simular el Round Trip Time de un salto satelital (550 ms):

# tc qdisc add dev eth0 root netem delay 550ms

Fijense del tiempo del ping antes y durante el comando (salto del 10 al 11):

[root@localhost ~]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=53 time=51.7 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=53 time=48.6 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=53 time=50.9 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=53 time=49.8 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=53 time=51.8 ms
64 bytes from 8.8.8.8: icmp_seq=6 ttl=53 time=50.4 ms
64 bytes from 8.8.8.8: icmp_seq=7 ttl=53 time=49.9 ms
64 bytes from 8.8.8.8: icmp_seq=8 ttl=53 time=50.6 ms
64 bytes from 8.8.8.8: icmp_seq=9 ttl=53 time=51.1 ms
64 bytes from 8.8.8.8: icmp_seq=10 ttl=53 time=50.6 ms
64 bytes from 8.8.8.8: icmp_seq=11 ttl=53 time=601 ms
64 bytes from 8.8.8.8: icmp_seq=12 ttl=53 time=600 ms
64 bytes from 8.8.8.8: icmp_seq=13 ttl=53 time=601 ms
64 bytes from 8.8.8.8: icmp_seq=14 ttl=53 time=600 ms
64 bytes from 8.8.8.8: icmp_seq=15 ttl=53 time=600 ms
64 bytes from 8.8.8.8: icmp_seq=16 ttl=53 time=600 ms


b) Simular una red WAN con tiempos de mayor variación (de 100 ms - 10 ms) de manera aleatoria:

# tc qdisc change dev eth0 root netem delay 100ms 10ms

64 bytes from 8.8.8.8: icmp_seq=60 ttl=53 time=49.3 ms
64 bytes from 8.8.8.8: icmp_seq=61 ttl=53 time=50.5 ms
64 bytes from 8.8.8.8: icmp_seq=62 ttl=53 time=59.6 ms
64 bytes from 8.8.8.8: icmp_seq=63 ttl=53 time=50.7 ms
64 bytes from 8.8.8.8: icmp_seq=64 ttl=53 time=49.6 ms
64 bytes from 8.8.8.8: icmp_seq=65 ttl=53 time=143 ms
64 bytes from 8.8.8.8: icmp_seq=66 ttl=53 time=152 ms
64 bytes from 8.8.8.8: icmp_seq=67 ttl=53 time=157 ms
64 bytes from 8.8.8.8: icmp_seq=68 ttl=53 time=153 ms
64 bytes from 8.8.8.8: icmp_seq=69 ttl=53 time=159 ms
64 bytes from 8.8.8.8: icmp_seq=70 ttl=53 time=155 ms


c) Simular perdida % de paquetes:


 # tc qdisc change dev eth0 root netem loss 0.1%

El comando anterior ocasiona una pérdida de 1/1000 paquetes descartados de manera aleatoria

Más opciones:
Existen muchas otras opciones como:
  a) Duplicar paquetes
     # tc qdisc change dev eth0 root netem duplicate 9%


  b) Corromper (dañar) un paquete:
     # tc qdisc change dev eth0 root netem corrupt 0.1%

Mas información:
http://www.linuxfoundation.org/collaborate/workgroups/networking/netem
http://www.cyberciti.biz/faq/linux-traffic-shaping-using-tc-to-control-http-traffic/

miércoles, 17 de agosto de 2011

Crear un archivo de determinado tamaño en Linux

Hola todos, este es un post sencillo pero quizás muy util


Introduccion:
  Deseo crear un archivo de un tamaño especifico en linux

Comando:
Para crear un archivo de..., digamos 5 Megabytes:

Formula:
(10*1024*1024=5242880 bytes). Esto quiere decir que 5 MB en bytes son: 5242880

El comando a ejecutar es:
$ dd if=/dev/zero of=archivo_5MB bs=5242880 count=1


Importante, si intentas utilizar el device if (input file) /dev/null NO SIRVE, el tamaño resultante del archivo será 0.

1+0 records in
1+0 records out
5242880 bytes (10 MB) copied, 0.392 s, 33.6 MB/s

Luego has un "ls -l" y revisa el tamaño del archivo.

lunes, 4 de julio de 2011

Solución: "Give root password for maintenance"

Problema:
  Al intentar arrancar Linux recibo el mensaje:
  Give root password for maintenance

  (or type Control-D to continue):


Diagnostico:
  El inconveniente es que existen errores en tu File System que no pudieron solucionarse automaticamente durante el arranque.
Solucion:
  El mensaje hay que obligatoriamente colocar el password de root. Posteriormente uno de los siguientes comandos:

- Solucion automaticamente
fsck -vfy /dev/sda5



- Solucion interactiva
fsck -vf /dev/sda5

Espero este pequeno articulo haya sido util.
Suerte!

miércoles, 25 de mayo de 2011

Unir varios archivos PDF

Caso:
  Deseo unir varios PDFs en un solo archivo.

Procedimiento:
Instalar pdftk (urpmi pdftk)

Ejemplo:
Unir archivo1.pdf archivo2.pdf en completo.pdf

pdftk archivo1.pdf archivo2.pdf cat output completo.pdf

Mas información:
http://pdftk entrada1.pdf entrada2.pdf cat output salida.pdf

miércoles, 13 de abril de 2011

Subir/Incrementar el volumen de un archivo .mp3

Situacion: Tengo un archivo .mp3 que deseo que el volumen de audio sea mayor Solucion (rapida y sencilla): La solucion más sencilla es con mp3gain MP3gain funciona en la linea de comando (pero tambien existe un gui); hace una análisis estadístico de como se escucharía al oido humano, trabaja indicandole el archivo de entrada (importante: el mismo que el de salida) y se le indica el valor de volumen destino. El valor por defecto son 89 db. Te dejo dos ejemplos para que hagas tus propias pruebas: Ejemplos: 1) Subir directamente 3 dB al archivo mp3gain -g 3 arrived-ietf80-panel.mp3 2) La opcion -r ajusta el archivo a 89.0 dB, y el -d ajusta el nivel de dB sobre ese valor. -d Acepta valores negativos mp3gain -r -d -3 ietf.mp3 Otras opciones: - smplayer - audacity Suerte!.

domingo, 10 de abril de 2011

Instalar Flash Player de 64 bits en Mandriva Linux

Situación:
Deseo instalar Flash Player en Mandriva Linux de 64 bits

Procedimiento:
- Bajar el flash player de: http://labs.adobe.com/downloads/flashplayer10_square.html
- Descomprimir el archivo:

[root@localhost]# tar -zxvf flashplayer10_2_p3_64bit_linux_111710.tar.gz

- Luego copiar el archivo resultante en: /usr/lib64/mozilla/plugins/

[root@localhost Downloads]# cp libflashplayer.so /usr/lib64/mozilla/plugins/

- Cerrar y abrir el Firefox, para probar que tengas flash player puedes:

1) Abrir un video de www.youtube.com
y/o
2) En la barra de direcciones de mozilla escribe:
about:plugins
y busca (seguramente al final) el siguiente texto:

Shockwave Flash

File: libflashplayer.so
Version:
Shockwave Flash 10.3 d162


Suerte,

viernes, 8 de abril de 2011

Error: requested_mask="w::" denied_mask="w::

Situacion: El día de hoy trabajando con Ubuntu y queriendo hacer varios cambios sobre bind tuve varios inconvenientes al momento de cambiar por el ejemplo el path del pid-file, queriendo hacer algunos zone-transfer, etc. Lo cierto es que al intentar levantar algun servicio (en mi caso Bind) recibo el error al momento de chequear /var/log/messages: requested_mask="w::" denied_mask="w:: Por ejemplo: Apr 8 08:33:38 aacosta-laptop kernel: [56201.539234] type=1503 audit(1302267818.893:37): operation="mknod" pid=3028 parent=1 profile="/usr/sbin/named" requested_mask="w::" denied_mask="w::" fsuid=114 ouid=114 name="/etc/bind/tmp-cIBQ1GNOqf" Solución: Desabilitar apparmor. /etc/init.d/apparmor stop Espero sea de utilidad,

martes, 5 de abril de 2011

Convertir archivos Webex a MP4

Introduccion:
Estoy en Linux, tengo un archivo en formato Webex (.arf) y deseo convertirlo a .mp4

Solucion:

1) Bajar el convertidor NBR2MP4 de la siguiente direccion:

http://www.webex.co.uk/support/downloads.html

2) Luego hay que descomprimirlo:

tar -xvf nbr2mp4.tar ./

3) Hacer el instalador ejecutable:

chmod +x ./nbr2mp4.sh

5) Instalarlo en el directorio por default (Home),

./nbr2mp4.sh

6) Entrar en el directorio recien creado

cd nbr2_mp4

7) Para convertir:

./nbr2mp4 SOURCE [MP4_DIRECTORY] [FPS]

Ejemplo:

./nbr2mp4 dns.arf .

sábado, 2 de abril de 2011

Implementar DNSSEC sobre Linux. Solo resolver. Version 2

Este documento es una actualizacion de "Implementar DNSSEC sobre Linux. Solo resolver" fechado 25 de Noviembre de 2009.


Historia:
Luego de la firma de los root servers a mediados del año 2010 (ver http://www.root-dnssec.org/) habilitar DNSSEC en el resolver es mucho más sencillo debido a que solo hay que validar "." dentro de nuestro archivo de configuración. Anteriormente necesitabamos trust anchors para cada dominio (TLD, ccTLD, zonas) que queriamos validar. Este trabajo era insoportable de manejar y no era escalable.
Ahora con la firma de los root-servers todo es más sencillo.

Software:
Bind 9.7.2-P3
Linux Mandriva 2010.2

Procedimiento:
1) Primero es necesario colocar el trust-anchor para el root zone. Para obtenerlo:

#dig . dnssec

La salida anterior te entregará varios resultados:

root@localhost ~]# dig . dnskey
;; Truncated, retrying in TCP mode.

; <<>> DiG 9.7.2-P3 <<>> . dnskey
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60029
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;. IN DNSKEY

;; ANSWER SECTION:
. 136089 IN DNSKEY 257 3 8 AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0=
. 136089 IN DNSKEY 256 3 8 AwEAAb5gVAzK59YHDxf/DnswfO1RmbRZ6W16JfhFecfI+EUHRXPWlXDi 47t2FHaKyMMEROapL5SZ8HiCzl05lORZGGdN37WY7fkv55rs+kwHdVRS rQdl81fUnEspt67IIgaj3SrGyZqgzyixNk/8oT3yEfKDycTeJy4chKPt 0JegWrjL
. 136089 IN DNSKEY 256 3 8 AwEAAcaGQEA+OJmOzfzVfoYN249JId7gx+OZMbxy69HfUyuGBbRN0+Hu TOpBxxBCkNOL+EJB9qJxt+0FEY6ZUVjEg58sRr4ZQ6Iu6b1xTBKgc193 zUARk4mmQ/PPGxn7Cn5VEGJ/1h6dNaiXuRHwR+7oWh7DnzkIJChcTqlF rXDW3tjt

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Apr 2 10:00:49 2011
;; MSG SIZE rcvd: 586

Nos interesa la sección correspondiente a la 257, este valor corresponde a SEP o Secure Entry Point, también conocido como los KSK o Key Signing Key. Como dato adicional el valor 256 corresponde a los Zone Signing Key (ZSK)

2) Del resultado anterior, vamos a copiar la llave (despues del "257 3 8") y vamos a crear la siguiente seccion managed-keys dentro de named.conf. Quedando así:

managed-keys {
"." initial-key 257 3 8 "AwEAAagAIKlVZrp...";
};

3) Dentro de la sección de opciones de named.conf vamos a colocar lo siguiente:

dnssec-enable yes;
dnssec-validation yes;

Reinicia BIND y debe estar funcionando.

Revisar que DNSSEC este operando bien:

La mejor opción es utilizar el famoso comando dig y chequear el flag AD en al respuesta. Por ejemplo:

RESPUESTA SIN DNSSEC

[root@localhost etc]# dig +dnssec registro.br

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43771
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 5



RESPUESTA CON DNSSEC

[root@localhost etc]# dig +dnssec registro.br

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1063
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 6, ADDITIONAL: 1



Nótese que que el flag ad no esta encendido en la respuesta sin DNSSEC

Otra forma más sencilla de revisar si esta funcionando DNSSEC es entrar a la página: "DNSSEC test tool" de SIDN y correr la prueba.


Más información:

- El concepto de managed-keys fue introducido en Bind 9.7 en adelante. Ver
- Articulo excelente que indica como hacer que Bind se convierta en un DNSSEC validator

martes, 29 de marzo de 2011

Unir varios videos AVI en uno solo. Linux

Situacion:
Deseo unir varios videos .avi en un solo archivo

Solucion:
La solución es muy sencilla y es la siguiente:

#avimerge -o videocompleto.avi -i video1.avi video2.avi video3.avi

Incluso es posible utilizar un comando como el siguiente:

#avimerge -o videocompleto.avi -i *.avi

En este ultimo comando se tomarian todos los archivos .avi en el directorio actual y crearía un solo archivo destino (sin borrar los originales) llamado videocompleto.avi

Notas adicionales:
avimerge pertenece a un paquete llamado transcode. Para su instalación (solo en Mandriva):

#urpmi transcode
[root@localhost]# urpmi transcode
To satisfy dependencies, the following packages are going to be installed:
Package Version Release Arch
(medium "Main")
lib64mpeg2dec0 0.5.1 3mdv2010.1 x86_64
(medium "PLF Free")
transcode 1.1.5 4plf2010.1 x86_64
6.2MB of additional disk space will be used.
1.1MB of packages will be retrieved.

Espero haya sido util,

Suerte!

sábado, 1 de enero de 2011

Deshabilitar IPtables en Ubuntu

Situacion:
IPtables y UFW estan dando dolores de cabeza.
Deseo permitir todo el trafico con IPtables

Solucion:
Ejecuta los siguientes comandos como root:

iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -L -n

Suerte, espero haya sido util,

viernes, 31 de diciembre de 2010

Bind / Syslog / Logrotate

Situacion:
Deseo que Bind envie los logs a traves de Syslog y luego rotarlos diariamente con logrotate.

Solucion:
Para lograr que Bind envie sus logs a traves de Syslog recomiendo seguir los siguientes pasos:

1) Definir un nuevo facility en /etc/syslog.conf el cual utilizaremos como "canal" dentro de Bind. Esto es muy conveniente para tener un unico archivo con solo informacion relevante sobre DNS y Bind. Para definir el facility coloca lo siguiente dentro de /etc/syslog.conf

local7.* -/var/log/bind.log

NOTA: Recuerda que puedes definir desde local0 hasta local7 facities segun tu necesidad

2) Luego en Bind se le va a indicar que utilice el facity local7 y guarde los logs de query (en mi caso es lo unico que necesito, se puede almacenar gran cantidad de logs referentes a otros temas como: lame servers, dnssec, xfer y mucho mas). Ademas de almacenar el query deseo que se escriba la fecha y hora del query DNS. En /etc/named.conf (seccion de options) agrega:

logging {
channel query.log {
severity debug 3;
print-time yes;
syslog local7;
};
category queries { query.log; };
};

3) Debido al tamano del logs, posteriormente tuve la necesidad de rotarlo de manera diaria pero antes deseo realizar la rotacion deseaba ejecutar un script para un proceso puntual. Para ello hice la siguiente configuracion en logrotate. Para este punto editar el archivo /etc/logrotate.d/bind y anadir:

/var/log/bind.log {
daily
prerotate
/root/SCRIPTS/dnsqueries.sh
endscript
missingok
rotate 4
compress
create
}

Con este paso, el archivo /var/log/bind.log se rotara automaticamente de manera diaria pero antes se ejecutara el script /root/SCRIPTS/dnsqueries.sh.

Mas informacion:
http://zytrax.com/books/dns/ch7/logging.html (DNS Bind Logging)
http://doc.novsu.ac.ru/oreilly/tcpip/puis/ch10_05.htm (The Unix system log)

Suerte, espero haya sido util,

miércoles, 29 de diciembre de 2010

Error "unable to parse media.cfg" en Mandriva

Situacion:
Cada vez que se quiere utilizar urpmi en Mandriva se obtiene los errores:

unable to parse media.cfg
unable to add medium

Ejemplos del problema:
[root@localhost src]# urpmi.addmedia --distrib --mirrorlist 'http://api.mandriva.com/mirrors/basic.2009.1.i586.list'
unable to parse media.cfg
unable to add medium

Solucion:
La solucion es utilizar los mirror manuales al momento de ejecutar urpmi, el mejor sitio para buscar la lista de mirror es: http://easyurpmi.zarb.org. En esta pagina web debes indicarle tu distribucion exacta haciendo click sobre el texto: "Switch to manual mirror selection".
Para conocer la version exacta de la distribucion de Mandriva que estas utilizando revisa el contenido del archivo /etc/redhat-release (cat /etc/redhat-release).
En mi caso que estoy utilizando Mandriva 2009.1 i586 solucioné el problema anterior utilizando el comando:

[root@localhost src]# urpmi.addmedia --distrib http://mirror.fis.unb.br/pub/linux/MandrivaLinux/official/2009.1/i586

Recomiendo utilizar adicionalmente los dos siguientes comandos en caso de algún inconveniente al ejecutar el anterior:
[root@localhost src]# rm -fv /var/cache/urpmi/mirrors.cache
[root@localhost src]# urpmi.removemedia -a

Notese que es un mirror manual

Suerte, espero haya sido útil,

Una mejora práctica en el Transporte DNS sobre UDP en IPv6

Por Hugo Salgado y Alejandro Acosta Introducción y planteamiento del problema En el presente documento queremos discutir sobre un draft (bor...