lunes, 25 de octubre de 2010

Recuperar la clave en AIX. RS/6000

Notas:
Este procedimiento fue probado en un servidor IBM RS/6000

Pasos:

1) Arranca el sistema de manera normal con un CD de la misma version y LEVEL de la cual deseas recuperar el password

2) Puedes seleccion como tipos de arranque:
- Arranque de CD-ROM
- NON_AUTOINSTALL mksysb
- Instalación de cinta de arranque

3 Siga las instrucciones: -
- Tipo 1 para seleccionar el terminal como consola del sistema
- Elija Inglés como idioma de instalación
- El Menú de Bienvenida deberia aparecer

4. Seleccione "Start Maintenance Mode for System Recovery" (opción 3)

5. La siguiente pantalla muestra mensajes para el menú de mantenimiento
Seleccione la opción 1:
Acceder a un grupo de volúmenes raíz (Access a Root Volume group)

6. La siguiente pantalla muestra un mensaje de advertencia y le pide que seleccione 0 para continuar.
Seleccione 0:
0 Continue

7. La siguiente pantalla le pide que seleccione el grupo de volúmenes adecuados. Seleccione el grupo de volúmenes adecuados para
su máquina.

8. La consola mostrará información sobre rootvg y un menú con dos opciones.
Seleccione la opción 1:
Access this volume group and start a shell
The system will show " Importing volume group......" and other info. Wait for the prompt to
appear


10. Al ejecutar el símbolo del sistema de contraseña de la línea de comandos:
password
changing password for "root"
root's new password:
Enter the new password again:


11. Sacar el CD de la unidad y ejecutar:
sync; sync; sync; reboot

12. Espere que el sistema se reinicie, si el tiempo es muy largo, apagar y prender. Inicia la sesión como root y poner a prueba la nueva contraseña.

domingo, 3 de octubre de 2010

Devede. Solucion a dos errores

Situacion:
1) Al crear un .iso utilizando DEVEDE con subtitulos en espanol DEVEDE devuelve el error: Failed to write to the destination directory. Check that you have privileges and free space there.

2)
Al crear un .iso utilizando DEVEDE con subtitulos en espanol DEVEDE devuelve el error: "Coversion failed. It seems a bug of SPUMUX"

Solucion:
El problema se debe al formato del archivo de subtitulos, el mismo debe ser un archivo .srt y el encoding UTF-8
Es decir, la solucion es grabar el archivo .srt con encoding UTF-8. Por ejemplo para hacer eso se puede utilizar Microsoft Word, y seguir el siguiente procedimiento:

a) Abrir el archivo de subtitulos .srt con Microsoft Word
b) Archivo --> save as --> selecciones Plain Text (.txt)
c) Hacer click sobre save
d) Aparecera una nueva ventana, seleccionar la opcion "Other encoding"
e) Seleccionar UTF-8 del listado del lado derecho.

Listo!, vuelve a crear el ISO utilizando DEVEDE.

sábado, 2 de octubre de 2010

Herramienta en linea gratis para configurar reversos de IPv6

Situacion:
El dia de ayer tuve la necesidad de configurar los reversos de un prefijo IPv6 en mis servidores Bind; honestamente era la primera vez que tenia que hacer dicha tarea y por ello recurri a nuestro buen amigo google

Solucion:
En fin, luego de realizar una pequena busqueda consegui la siguiente herramienta en linea y gratuita que decidi compartirla con ustedes debido a que es excelente: http://www.fpsn.net/tools&tool=ipv6-inaddr. La herramienta es un "constructor de reversos IPv6"
La herramienta es muy sencilla de utilizar, la misma te hace las preguntas de: a) prefijo IPv6, b) email del responsable de la zona, c) servidor DNS primario y secundario y d) las direcciones IPv6 a las cuales deseas crearle el nombre.
Lo interesante de la herramienta es que te genera tanto el codigo a colocar dentro del named.conf como el del archivo de zona. Luego solo tienes que hacer copy/paste.
Les dejo otra vez el link: http://www.fpsn.net/tools&tool=ipv6-inaddr
Probar conexiones IPv6: http://acostanetwork.blogspot.com/2009/04/probar-ipv6.html y http://www.whatismyipv6.co

Luego de utilizar la herramienta todo funciono perfecto!!

viernes, 1 de octubre de 2010

Sendmail e IPv6. Hacer que sendmail escuche en IPv6

Problema:
Tengo un servidor de correo en Linux Debian con Sendmail, en IPv4 todo funciona bien pero no escucha conexiones en IPv6

Escenario:
Servidor Debian con Sendmail 8.14.3 e IPv6 configurado

Procedimiento:
Primero verificar que efectivamente Sendmail no escucha en IPv6. Por ejemplo:

#netstat -pan | grep sendmail

tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2596/sendmail: MTA:
unix 2 [ ACC ] STREAM LISTENING 4198 1025/mysqld / var/run/mysqld/mysqld.sock
unix 2 [ ACC ] STREAM LISTENING 13539 2596/sendmail: MTA: / var/run/sendmail/mta/smcontrol
unix 2 [ ] DGRAM 13535 2596/sendmail: MTA:

En la salida anterior notamos que sendmail se encuentra escuchando solo sobre la red IPv4.

Solucion:
La solucion es indicarle al Sendmail que también levante sobre la familia Inet6. Para ello es necesario modificar el sendmail.mc para reconstruir el sendmail.cf y luego reiniciar el sendmail. Los pasos son los siguientes:

1) Editar el sendmail.mc y agregar las siguientes lineas:
DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp, Addr=DIRIPV6')dnl
DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, M=Ea, Addr=::1')dnl

OJO: Sustituir DIRIPV6 por tu dirección IPv6


2) Ejecutar sendmailconfig (para procedar el sendmail.mc con m4 y generar el .cf)

3) Luego de ejecutar el comando anterior lo siguiente es siempre indicarle que Y en las siguientes preguntas:

Configure sendmail with the existing /etc/mail/sendmail.conf? [Y] y
Configure sendmail with the existing /etc/mail/sendmail.mc? [Y] y
Reload the running sendmail now with the new configuration? [Y] y

Verificar:
Para verificar ejecuta el comando:
#netstat -pan | grep sendmail

Realiza un telnet de la siguiente manera:

#telnet ::1 25

debes recibir respuesta similar a:

Trying ::1...
Connected to ::1.
Escape character is '^]'.
220 ipv6.para.com ESMTP Sendmail 8.14.3/8.14.3/Debian-9.1ubuntu1; Fri, 1 Oct 20 10 11:52:48 -0430; (No UCE/UBE) logging access from: localhost(OK)-localhost [IPv6:::1]

Suerte, espero haya sido util.

lunes, 27 de septiembre de 2010

Ejemplos de manipulacion de port forwarding utilizando NAT en routers Cisco

Situacion: 
 Tengo una granja de servidores (ejemplo Web, Mail y SSH) y tengo solo una direccion publica en mi router de borde. 

Escenario: 
    {Internet} --- {RTR con IP publica} ------- {Granja de Servidores} 
IP Publica: 11.12.13.14 
Mail Server: 192.168.1.5 Web Server: 192.168.1.4 
SSH: 192.168.1.6 
IP WAN: 11.12.13.14/30 
IP LAN: 192.168.1.1/24 
  
Solucion: 
 La solucion es configurar en el router Cisco NAT de tal manera de que al momento de recibir un paquete TCP al puerto destino correspondiente sepa a donde enviarlo. En este sentido, es necesario que el router re-envie los paquetes (port forwarding) de la siguiente manera: Paquetes destinados al IP 11.12.13.14 al puerto destino 25 lo envie al Mail Server (192.168.1.5) Paquetes destinados al IP 11.12.13.14 al puerto destino 80 lo envie al Web Server (192.168.1.4) Paquetes destinados al IP 11.12.13.14 al puerto destino 22 lo envie al SSH Server (192.168.1.6) 

Procedimiento: 
 La configuracion del router seria la siguiente: 
  ! ESTA ES LA INTERFAZ QUE DA HACIA LA GRANJA DE SERVIDORES 
interface FastEthernet0 
description Mi granja de servidores 
ip address 192.168.1.1 255.255.255.0 
ip nat inside 
! ! ESTA ES LA INTERFAZ QUE DA HACIA INTERNET 
interface Serial0 
description Hacia Internet 
ip address 11.12.13.14 255.255.255.252 
ip nat outside 
! !En la siguiente linea se indica que todo lo que apunte al IP 11.12.13.14 al puerto 80 lo envie al !servidor web 
ip nat inside source static tcp 192.168.1.4 80 11.12.13.14 80 extendable 
!En la siguiente linea se indica que todo lo que apunte al IP 11.12.13.14 al puerto 25 lo envie al !servidor mail 
ip nat inside source static tcp 192.168.1.5 25 11.12.13.14 25 extendable 
!En la siguiente linea se indica que todo lo que apunte al IP 11.12.13.14 al puerto 22 lo envie al !servidor ssh 
ip nat inside source static tcp 192.168.1.4 22 11.12.13.14 22 extendable 

Tips:
  Un dato muy interesante que es que se puede manipular el puerto. Por ejemplo, supongamos que tenemos un servidor web "escondido" podemos manejarlo con un puerto diferente al 80. Digamos que queremos que la gente desde Internet acceda a nuestro servidor Web utilizando el puerto 61234 podemos hacer lo siguiente: !El usuario desde Internet debe acceder a http://11.12.13.14:61234 ip nat inside source static tcp 192.168.1.4 80 11.12.13.14 61234 extendable Lo anterior es muy util para escoder servicios, ahorrar direcciones IP y darle seguridad a la red. Espero haya sido de tu utilidad, Suerte!
Situacion:
El reproductor Windows Media Player no reproduce videos AVI.
El reproductor Windows Media Player solo reproduce el audio del archivo .avi

Solucion:
Existen muchas soluciones, yo solo indicare la que me funciono facil y es gratis.

La solucion es instalar el paquete K-Lite_Codec_Pack_640_Full el cual puede conseguirse en:
http://www.warezhn.com/84-k-lite-codec-pack-640-full.html

Durante la instalacion se pueden escojer muchas opciones sin embargo sin modificar las mismas todo funciona perfecto.

Suerte, espero sea de tu utilidad

viernes, 24 de septiembre de 2010

Ping utilizando TCL en Cisco

Problema:
  Deseo realizar ping a muchas direcciones IP desde mi router Cisco pero deseo automatizarlo un poco 

  Procedimiento:
  La solución al problema es realizar un pequeño script dentro del router Cisco que recibe como argumento las direcciones IP a las cuales se les desea hacer ping. TCL (Tool Control Languaje) es un lenguaje de scripting utilizado en los IOS "recientes" de Cisco que permiten facilitar parte de la administración 

  Ejemplo del script en TCL:
  foreach address { 192.168.126.10 192.168.126.11 192.168.126.12 192.168.126.13 192.168.126.14 192.168.126.15 192.168.126.16 192.168.126.17 192.168.126.18 192.168.126.19 192.168.126.20 192.168.126.21 192.168.126.22 192.168.126.23 } {ping $i} 

 La salida del comando será la siguiente y lo mejor es que se ejecuta solo hasta hacerle ping a todos los host :) (parte de salida suprimida) Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.126.10, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.126.11, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.126.12, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.126.13, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.126.14, timeout is 2 seconds: !!!!! 

 Espero sea de tu utilidad,

 

viernes, 27 de agosto de 2010

Manipular VLANs con Linux

Objetivo: Configurar, crear, remover y manipular VLANs con Linux conectado a un LAN Switch Cisco (basado en IOS) Pre-requisitos: Para manipular las VLANs en Linux hay tres puntos principales a) Levantar el modulo 8021q b) Tener instalado el paquete vlans-utils c) El equipo con Linux debe estar conectado a un LAN Switch capaz de entender encapsulamiento 802.1q (dot1q). Procedimiento: a) Para levantar el modulo 8021q utilizar el comando #modprobe 8021q b) Para instalar el paquete vlans-utils en el caso de Mandriva se puede realizar con el comando: #urpmi vlan-utils c) Posteriormente se pueden crear las vlans necesarias Ejemplos: a) Crear la VLAN 2 en la interfaz eth0 vconfig add eth0 2 b) Crear la VLAN 8 en la interfaz eth1 vconfig add eth1 8 c) Remover la VLAN 3 de la interfaz eth5 vconfig rem eth5 3 d) Configurar la dirección IP a la vlan 8 en la interfaz eth1 (creada en el paso b) ifconfig eth1.8 192.168.1.1 netmask 255.255.255.0 e) Configurar la dirección IP a la vlan 3 en la interfaz eth5 (creada en el paso c) ifconfig eth5.3 192.168.1.1 netmask 255.255.255.0 f) Eliminar/remover la VLAN 2 en la interfaz eth0 vconfig rem eth0 2 g) Remover todas las vlans y comenzar desde 0 Recomiendo bajar el modulo 8021q y volver a levantarlo modprobe -r 8021q; sleep 1; modprobe 8021q Revisión: 1) Chequear el modulo 8021q se encuentre cargado en el equipo: #lsmod | grep 8021q 8021q 17672 0 2) Revisar todas las interfaces: #ifconfig -a 3) Chequear las VLANs en el directorio virtual /proc [root@pemon SCRIPTS]# more /proc/net/vlan/config VLAN Dev name | VLAN ID Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD eth1.21 | 21 | eth1 eth1.19 | 19 | eth1 Del lado del LAN Switch Cisco: interface FastEthernet0/26 switchport trunk encapsulation dot1q switchport mode trunk Eso es todo, Suerte!
check out this page

sábado, 21 de agosto de 2010

Cliente IPv6 Freenet6 en Linux

Introduccion:
En otros post he indicado por ejemplo como utilizar el cliente Teredo (Miredo) en Linux para levantar pseudo-tuneles IPv6 sobre IPv4.
En esta oportunidad voy a indicarte lo que considero una mejor opcion como metodo de transicion hacia IPv6, se llama Freenet6.
Teredo se basa en transportar paquetes IPv6 sobre paquetes UDP que a su vez viajan sobre IPv4. Freenet en cambio transporta IPv6 sobre tuneles TSP (puerto 3653). Por otro lado, las consultas DNS de los sistemas operativos (varia el comportamiento) se comportan diferentes cuando poseen direcciones IPv6 Terero (2001:0::/32) a cuando poseen direcciones IPv6 nativas; por ejemplo http://technet.microsoft.com/en-us/library/bb727035.aspx#ECAA

Situacion:
Deseo instalar y utilizar el cliente freenet6 en Linux y asi tener conectividad al mundo IPv6

Pasos:
1) Lo primero es conseguir los fuentes de Freenet aqui:
http://gogonet.gogo6.com/page/freenet6-services

2) En mi caso me faltaba el compilador g++ el cual instale con el comando: urpmi gcc-c++ (en el caso de Mandriva)


3) Luego es realizar la instalacion
a) # tar -zxvf gogoc-1_2-RELEASE.tar.gz
b) # make installdir=/usr/local/gogoc install (notese que se pasa como parametro el directorio de instalacion)

4) Finalmente ejecutar el binario:
cd /usr/local/gogoc/bin; ./gogoc (esperar aprox 10 segundos a que se conecte al servidor, obtenga DIR IP, etc)

Chequeo:
En las primeras oportunidades recomiendo ejecutar gogoc con la opcion -n (./gogoc -n) que significa foreground que se pueda apreciar la direccion IP que se reciba y todo eso.
Posteriormente para probar puedes realizar un ping6 a ipv6.google.com o un ping6 a portalipv6.lacnic.net
Al momento de ejecutar gogoc debe crearse la interfaz tun, la puedes monitorear mientras se negocia el tunel y veras cuando finalmente toma direccion IP

Mas informacion:
* RFC TSP http://tools.ietf.org/html/rfc5572
* Informacion General TSP http://en.wikipedia.org/wiki/Tunnel_Setup_Protocol
* Comportamiento de los queries DNS en ambientes IPv6 http://technet.microsoft.com/en-us/library/bb727035.aspx#ECAA

martes, 17 de agosto de 2010

Utilizar Linux como Teredo cliente

Introduccion:
Conectarse a una red IPv6 desde la casa u oficina hoy en dia es muy sencillo. Existen varias maneras y en este documento voy a explicar a instalar teredo y usarlo de manera muy sencilla y en pocos pasos.

Situacion:

Deseo utilizar mi servidor Linux como cliente Teredo para tener conectividad IPv6 en mi red IPv4 (el cual es a su vez nateada). En mi caso hice las pruebas desde un equipo Linux Mandriva 2010 y utilizando el servidor teredo de remlab.net

Solucion:
La solucion recomendada es utilizar el cliente Teredo para Linux llamada Miredo la cual es OpenSource, de distribucion gratuita es funciona muy bien.

Procedimiento:
1) Lo primeo es bajar Miredo de la pagina web en el URL: http://www.remlab.net/files/miredo/?C=N;O=D

2) Luego es necesario desempaquetarlo y compilarlo, en mi caso hice lo siguiente:
a) tar -jxvf miredo-1.2.3.tar.bz2
b) cd miredo-1.2.3
c) ./configure --without-Judy
d) make
e) make install

3) Finalmente ejecute Miredo con el comando:
/usr/local/sbin/miredo (luego de ejecutarlo espero entre 5-20 segundos para esperar que se cree la interfaz teredo y reciba su direccion ipv6)

Como comentario adicional el archivo de configuracion queda almacenado en:
/usr/local/etc/miredo/miredo.conf donde puedes cambiar el teredo server que deseas utilizar. Recomiendo que ubiques un servidor cercano a tu ubicacion geografica.

Para revisar:
La manera sencilla de revisar es haciendo por ejemplo un ping6 a ipv6.google.com.
Por otro lado, Miredo crea una interfaz logica en el sistema llamada teredo, la puedes revisar con el comando ifconfig. Por ejemplo:

ifconfig

teredo Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet6 addr: fe80::ffff:ffff:ffff/64 Scope:Link
inet6 addr: 2001:0:53aa:64c:18f6:6288:41b0:c5c8/32 Scope:Global
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1280 Metric:1
RX packets:243 errors:0 dropped:0 overruns:0 frame:0
TX packets:403 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:41816 (40.8 KiB) TX bytes:40042 (39.1 KiB)

Sobre la interfaz puedes utilizar herramientas como tcpdump o wireshark. Por ejemplo seria tcpdump -i teredo. Puedes tambien apreciar los paquetes entrantes y salientes los cuales se van a incrementar a medida que utilizar la conectividad IPv6

Por ultimo, tambien puedes revisar este post para probar tu conectividad IPv6
acostanetwork.blogspot.com/2009/04/probar-ipv6.html


Mas Informacion:
http://git.remlab.net/cgi-bin/gitweb.cgi?p=miredo.git;a=blob_plain;f=README;hb=HEAD

http://www.remlab.net/miredo/doc/miredo.8.html

sábado, 14 de agosto de 2010

Lista de administrador de dispositivos vacia. Windows XP

Problema:
Windows XP SP 2 no muestra las interfaces de red y al momento de administar el equipo el listado de "Administrador de dispositivos" no muestra nada

Solucion:
Luego de leer mucho e intentar varias cosas resumo los pasos. Espero alguno te ayude a ti:

a) El servicio Plug & Play debe arrancar automaticamente (http://support.microsoft.com/kb/311504).
b) El servicio Universal PuNP no debe arrancar
c) Ubica el registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum y asegurate que el usuario SYSTEM tenga permisos sobre esta llave. Para ello ubica primero la llave, hacer click derecho, selecciones permisos y AGREGA EL USUARIO SYSTEM con full control, en mi caso solo tenia lista el usuario principal del equipo. Adicionalmente agrega el grupo EVERYONE con la permisologia read-only.
d) Ejecuta: sfc/scannow (para revisar archivos del sistema danados y repararlos)

Si tu equipo venia funcionando bien y luego de la instalacion de un SP empezo el problema, muy probablemente tu solucion sea la opcion C
Luego de realizar cualquiera (o varios de los pasos anteriores) reinicia tu equipo. Estoy bastante seguro que apareceran las interfaces de red y veras el listado de dispositivos.

Suerte!

miércoles, 4 de agosto de 2010

Guardar los registros del nat translation en un servidor Linux

Situación:
Deseo guardar en un servidor Linux las entradas de NAT en un router Cisco de tal manera de conocer siempre que dirección IP y puerto tenian asignado en un moment especifico.


Solución:

Salvar cada uno de los registros NAT creado por el Router Cisco en un servidor Linux (Debian) usando rsyslog...

Procedimiento:
Comencemos con el servidor Linux...

Para lograr esto, empezamos creando el archivo que vamos a utilizar para guardar todo los registros que nos va a enviar el router.

#touch /var/log/cisco-nat.log
#chmod 640 /var/log/cisco-nat.log

Una vez hecho esto, procedemos a editar el siguiente archivo "/etc/rsyslog.conf" y tenemos que quitarle el símbolo de "#" (usados para documentar) a las siguientes entradas:


# provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

Quedando de la siguiente manera,

# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

Adicionalmente, agregamos las siguientes entradas

$UDPServerAddress 0.0.0.0
$AllowedSender UDP, 3.3.3.3

La primera usada para decirle que use toda las interfaces que tenga disponible, y la segunda, "3.3.3.3" la usamos para permitirle a la dirección 3.3.3.3 enviar los registros.

Luego, procedemos a colocar la siguiente linea

local7.* /var/log/cisco-nat.log

(Opcional)

Una vez que hayamos colocado las entradas mencionadas anteriormente, es posible que estas se empiecen a duplicar en los archivos "syslog" o "messages", etc...

Para evitar que esto ocurra y tengamos las entradas duplicadas en los archivos, podemos editar las entradas que mencionan "syslog" y "messages"

Por ejemplo,

Esta linea:
*.* -/var/log/syslog
La modificamos para que quede de la siguiente manera

*.*;local7.* -/var/log/syslog

De esta manera evitamos que los registros se dupliquen...

Una vez hecho esto, reiniciamos el servicio de la siguiente manera:

/etc/init.d/rsyslog restart


Luego, en el equipo cisco, es bastante sencillo lo que tenemos que hacer...

Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# no logging console
Router(config)# no logging monitor
Router(config)# ip nat log trans sys
Router(config)# logging host 1.1.1.1


Listo!!!!!

Ya deberíamos de comenzar a ver los registros de nuestro Router en el archivo cisco-nat.log


Revisión:
A continuación, una muestra de como quedaría


2010-08-04T16:52:23.759260-04:18 3.3.3.3 2178773: 14w1d: %IPNAT-6-NAT_CREATED: Created tcp 10.58.50.50:64807 11.11.11.11:30079 192.69.239.224:445 192.69.239.224:445
2010-08-04T16:52:23.764009-04:18 3.3.3.3 2178774: 14w1d: %IPNAT-6-NAT_CREATED: Created tcp 10.58.51.2:3019 11.11.11.11:30167 69.63.190.18:80 69.63.190.18:80

Cualquier comentario se agradece.

Suerte!

jueves, 22 de julio de 2010

Mapas gratis para GPS Garmin

Situacion:
He comprado un GPS Garmin modelo 205W y quiero colocarle los mapas de Europa

Solucion:
Primero que nada, se necesitan tres cosas:

1) Los mapas
2) Conectar el GPS al laptop/PC
3) Un programa que envie el mapa al GPS

Procedimiento:
1) Para conseguir los mapas, recomiendo el siguiente sitio: http://gpsmapsearch.com/, puedes bajar los mapas gratis y es muy sencillo. Fijate que del lado derecho puedes hacer click sobre "show map" y en el recuadro del lado izquierdo te indica que parte del mapa estas bajando. Existen otros sitios de mapas como: http://www.maps-gps-info.com/free-gps-maps.html y http://mapcenter2.cgpsmapper.com/

2) En mi caso, conecte el GPS mediante un cable Mini USB ---> USB a mi equipo

3) Por ultimo, necesitas un programa para enviar los mapas desde tu PC al GPS. Personalmente recomiendo MapUpload el cual me funciono a mi perfectamente.

domingo, 13 de junio de 2010

Copiar/llevar un video de Youtube a un DVD

Situacion:
Si has llegado a esta pagina es porque existen videos en Youtube que deseas poder quemar en un DVD o CD y verlos en la tranquilidad de tu cama
y con control remoto. Cierto?

Solucion:
La solucion es muy sencilla, son solo 3 pasos. El procedimiento es el siguiente:

1) Primero debes obtener el video de youtube y tenerlo en tu PC. Para ello existen muchos sitios tales como: http://www.keep-tube.com y keepvid los cuales solo debes introducir el URL (direccion Web) del video que deseas bajar y hacer click en download. Luego de hacer click el sitio te mostrara varias opciones para bajar, en lo posible intenta primero MP4 o FLV. Posiblemente tengas problemas con los archivos 3gp y el audio

2) Luego de tener el archivo en tu disco es necesario crear un imagen ISO. El programa que hace "la magia" de crear la imagen es DEVEDE. Se puede conseguir para Windows y Linux, muy estable en ambos sistemas operativos. Devede para Windows, DVD para Linux. DEVEDE es una aplicacion 100% gratuita y de libre uso

3) Ubicar la imagen ISO y quemarla en un DVD!!!.

Eso es todo.

jueves, 10 de junio de 2010

DD-WRT en el Router Buffalo

Instalación de DD_WRT en el enrutador Buffalo WHR-G54S y WHR-HP-G54 Usa solo v24 SP2
final o posterior. versiones anteriores pueden provocar problemas!

1. Por precaución, resetea a valores de
fábrica presioando el boton de reseeo mientra enchufas el router. Mantenlo presionado *por lo menos* 30 segundos. desconecta el router.

2. Conecta tu computador directamente a uno de los puertos LAN del
router. (puedes usar un Cable cruzado o punto a punto). No conectar al puerto WAN

3. Debido a que el Buffalo comienza con 192.168.11.1(o 192.168.12.1 para
WZR-RS-G54), la IP de tu computador necesita estar en la subred
192.168.11.0/24 subred (ej. 192.168.11.2, mascara 255.255.255.0 o
192.168.12.2, mascara 255.255.255.0 para WZR-RS-G54). Tendras que poner una
IP estática. *Una IP estática es crítica para que el proceso de tftp
funcione; una IP dinámica no funcionará aun cuando esté en la subred
correcta.
El IP estático es obligado. El problema es que el TFTP server del router no funciona luego de haber arrancado 100% (momento que el dhcp le entregaría el IP al PC)

4. Abre una nueva linea de comandos. Inicio->Ejecutar->"cmd".

5. Cambia de directorio al que contiene la imagen del firmware. (Ej. cd
C:\Documents%20and%20Settings\All%20Users\Escritorio (si guardaste el
archivo .bin en el Escritorio)

6. Preparate para enviar el firmware mediante el comando TFTP.

7. Escribe tftp -i 192.168.11.1 PUT (nombre de la imagen de
firmware)como: tftp
-i 192.168.11.1 PUT dd-wrt.v23_generic.bin. (Para WZR-RS-G54 usa
192.168.12.1 como ip del router.). El comando debe ser ejecutado al segundo (1 seg) de haber enchufado el router. NO ESPERAR QUE EL ROUTER ARRANQUE

8. Lee los siguientes pasos para tener una idea de la secuencia.

9. Conecta el cable de poder del Buffalo.

10. Todos los LEDS se iluminarán.

11. Despues de un segundo mas o menos, todos los LEDs excepto el en que
estás conectado se apagarán. Ahora es cuando presionas Enter para ejecutar
el comando.

12. El LED en el puerto LAN comenzará a parpadear rapidamente por unos 6
segundos. El comando se completará con un mensaje de exito, como Transfer
successful: 3602080 bytes in 6 seconds, 720416 bytes/s

13. El router comenzará a cargar DD-WRT, espera hasta que el las luces de
puente/diagnosticos se apaguen.

14. En este punto, el router estara listo para ser usado. No hay
necesidad de reiniciarlo (desenchufar/enchufar), aunque es una saludable
precaución.

15. El router será ahora accesible en 192.168.1.1 mascara 255.255.255.0.
Tendras que cambiar tu IP a este rango para realizar la configuración.

16. El nombre de usuario es 'root' y la contraseña 'admin'. Sin embargo hoy en día al entrar a dd-wrt por primera vez solicita introducir el username que uno desee y el password que uno desee.

miércoles, 19 de mayo de 2010

Almacenar el referer en los logs de Apache

Problema:
Tengo un servidor Apache y deseo almacenar el HTTP Referer

Solución:
Apache por defecto guarda lo que se conoce como "common logs". Estos logs no almacenan la variable Referer que viene en el paquete http al momento de conectarse a tu servidor. La solución es tan sencilla como cambiar la palabra common por combined en la configuración del servidor Web.

Procedimiento:
Dentro del httpd.conf (o donde se guarda la configuración de tu dominio) cambiar:
CustomLog logs/mysite.log common
por
CustomLog logs/mysite.log combined

Lo anterior puede ser hecho por VirtualHost o dentro de todo el servidor Web.

Reiniciar el servicio de Apache y listo!

Suerte!.

lunes, 10 de mayo de 2010

Script en Bash para conseguir errores 404 dentro de un servidor Web

Escenario:
Tengo mi servidor Web Apache sobre Linux y quiero revisar los errores 404 (página no encontrada) o broken link de los usuarios que acceden a mi servidor.

Solución:
Ejecutar un script mediante el crontab cerca de la media noche que revise el archivo access_log del Apache con el contenido 404 y envie un correo a un destinatario.

Script:
#El objectivo de este script es revisar errores 404 dentro de los logs del WebServer
#para de esta manera evitar "broken links". Alejandro Acosta
#Notese que se ejecuta casi a la media noche para conseguir TODOS los errores 404 del dia
FECHA=`date +"%d/%b/%Y"`
cat /usr/local/apache/logs/access_log | grep $FECHA | grep " 404 " > /tmp/404.txt
#Entra en el if unicamente en caso de conseguir errores 404
if [ $? = "0" ]; then
echo $?
mail -s "Errores 404 encontrados" micorreo@miproveedor.com < /tmp/404.txt
fi
\rm /tmp/404.txt

Crontab:
57 23 * * * /root/scripts/check_logs.sh

miércoles, 14 de abril de 2010

Como capturar el bit recursion desired con tcpdump en un query DNS

Problema: El día de hoy escuchando el Podcast de Mr DNS escuché la idea de tomar el Bit de recursividad (recursion desired) en un paquete DNS. En ese momento me pareció buena idea intentarlo y por ello el presente post. Solución: Lo primero que hice fue hacer una captura y analizarla con Tcpdump y adicionalmente averiguar especificamente como es un paquete de pregunta DNS. Para esto último conseguí el siguiente paquete el cual tomé de: An Illustrated Guide to the Kaminsky DNS Vulnerability En este sentido, me interesa tomar el bit RD cuando se encuentre encendido. Debido a que tcpdump permite obtener el encendido/apagado de los bits pero en octetos hay que darse cuenta que el bit RD es el bit menos significativo del octeto numero 10 dentro del paquete UDP. En otras palabras, en el gráfico anterior cada "linea" tiene 4 octetos (32 bits). Si comenzamos a contar desde el Campo Source Port de UDP hasta el campo Query ID (incluyendo) existen 9 octetos. Por ello los próximos 8 bits son los flags del paquete DNS y el último de estos 8 (de izquierda a derecha) es el RD. En un query standard DNS estos 8 bits generalmente vienen de la manera: 00000001, por ello el comando tcpdump que necesitamos es el siguiente: #tcpdump -i eth0 udp[10] == 1 and port 53 Captura del wireshark: Links importantes: http://www.unixwiz.net/techtips/iguide-kaminsky-dns-vuln.html Mr DNS Podcast
check out this page
LEAF DOMICILE Buy Marijuana Online, CBD Oil,Vape Store, Weed For Sale – Leaf Domicile Delivery Buy Weed Online at Leaf Domicile A wide collection of Weed Buds, Isolates, Hash, Vape Pens, Wax, Cartridges,Seeds, Concentrates, Edibles, CBD Oil for sale Buy Marijuana Online,Buy Weed Online,Weed For Sale,Buy kush online,- https://leafdomicile.com/ THC edibles for sale, order edibles, where can I buy edibles, mail order weed, buy wax online, buy cbd vape oil, pre rolled joints for sale, pre rolled joints for sale, buy kush online, where to buy dabs online, weed dabs for sale, wax for sale,

martes, 30 de marzo de 2010

Clave por defecto de root en Ubuntu

Situacion:
Luego de instalar Ubuntu no puedo entrar como root ni hacer un "su" al usuario. El resto de los usuarios funcionan bien

Explicación:
Luego de la instalación, por defecto Ubuntu viene con el usuario root bloqueado, esto se puede verificar en /etc/shadow y ver el signo de exclamación (!) en el usuario root

Solución:
Existen muchas maneras de solucionar la situación. La más sencilla y funcional:

$sudo -i
#passwd root
Changing password for user root.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

Luego de esto el usuario root quedará habilitado

Suerte!

jueves, 25 de marzo de 2010

Utilizando DNSTOP

Objetivo:
Utilizar correctamente DNSTOP

Software utilizado:
Distribución Mandriva
DNSTOP (http://www.rpmfind.net/linux/rpm2html/search.php?query=dnstop&submit=Search+...)

Ejecutando dnstop:
La manera de ejecutar dnstop es: comando interface. Por ejemplo

# dnstop {interface-name}
# dnstop eth0
# dnstop wlan0

Una salida tipica es:

Queries: 53 new, 391 total Thu Mar 25 13:04:37 2010

Sources Count %
--------------- --------- ------
200.xx.xx.5 137 35.0
200.xx.xx.2 46 11.8
200.xx.xx.253 24 6.1
190.xx.xx.2 21 5.4
200.xx.xx.140 18 4.6
200.xx.xx.30 12 3.1
200.xx.xx.141 11 2.8
200.xx.xx.118 10 2.6
200.xx.xx.186 10 2.6
10.xx.xx.162 8 2.0
200.xx.xx.138 8 2.0
200.xx.xx.6 6 1.5

Ahora bien, dnstop no solo genera la salida anterior sino que puede generar MUCHA más información, todo es cuestión de saberlo utilizar.
Por ejemplo, puedes ejecutar dnstop con el siguiente comando:
#dnstop -l 3 eth1

Durante la ejecución presiona el numero "1" o "2" o "3". Podrás ver hasta 3 niveles de resolución de nombres y así saber que nombres generalmente resuelven tus clientes.

Otra opción muy interesante es el tipo de query sobre el DNS Server (A, AAAA, PTR, etc). Para ello durante la ejecución presiona "t".

Opciones típicas de dnstop:

 s - Sources list
d - Destinations list
t - Query types
o - Opcodes
r - Rcodes
1 - 1st level Query Names ! - with Sources
2 - 2nd level Query Names @ - with Sources
3 - 3rd level Query Names # - with Sources
4 - 4th level Query Names $ - with Sources
5 - 5th level Query Names % - with Sources
6 - 6th level Query Names ^ - with Sources
7 - 7th level Query Names & - with Sources
8 - 8th level Query Names * - with Sources
9 - 9th level Query Names ( - with Sources
^R - Reset counters
^X - Exit

? - this

Links:
Este articulo es una traducción y adaptación de experiencia propia de: http://www.cyberciti.biz/faq/dnstop-monitor-bind-dns-server-dns-network-traffic-from-a-shell-prompt/

jueves, 18 de marzo de 2010

Comportamiento de mi blog de visitas antes y despues del terremoto de Chile

Objetivo:
Analisis muy rapido y por encima sobre el comportamiento de trafico a Internet antes de despues del terremoto de Chile (en base a mi modesto Blog).

Como todos sabemos, el 27 de Febrero de 2010 un fuerte sismo sacudió nuestro país hermano Chile, por ello, me preguntaba en estos días que habrá pasado durante esos días y si el acceso al presente blog había variado durante dichas fechas.

Como comentario, mi blog actuamente (Marzo 2010) tiene casi 1000 mensuales provenientes principalmente de países donde habla español.

Por lo anterior, lo que hice fue apoyarme en Google Analytics y construir el pequeño resumen que vemos a continuación:

Premisas:
* Solo se tomó visitas que provienen de Chile
* Las visitas son de lunes a viernes (no se incluyen fines de semana)


Tabla resumen:
































Semana VisitasObservación
15-19 de Febrero242 Semanas antes del
terromoto
22-26 de Febrero26Semana anterior al
terromoto
1 - 5 Marzo15Semana siguiente al
terromoto
8 - 12 MarzoAprox 292 Semanas posterior
al terremoto




Resumen:
Podemos ver que desde Chile el presente blog lo visitan entre 25-30 personas a la semana.
La semana siguiente al terromoto hubo una caída de visitas de 45%
A las 2 semanas del terremoto las visitas se regularizaron

sábado, 6 de marzo de 2010

Wireless en Linux para Compaq Presario V6000

Objetivo:
La Compaq presario V6000 en su tarjeta WiFi viene con el chipset BCM4311. Hasta ahora nunca he instalado una distribucion Linux la cual me reconozca dicha tarjeta luego de la instalacion del sistema operativo. Por ello les dejo este pequeno resumen. En mi caso utilice Mandriva 2010 kernel 2.6.31.

Archivos necesarios:

b43-fwcutter-012-1mdv2010.0.x86_64.rpm
broadcom-wl-4.150.10.5.tar.bz2

Procedimiento:

1) Asegurarse el chipset de la tarjeta wireless:

lspci -vnn | grep -i wire

2) export FIRMWARE_INSTALL_DIR="/lib/firmware"

3) tar xjf broadcom-wl-4.80.53.0.tar.bz2
4) cd broadcom-wl-4.80.53.0/kmod
5) sudo ../../b43-fwcutter-012/b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" wl_apsta.o

Probablemente necesites reiniciar, o realizar un /etc/init.d/network stop/start. Si estas en la interfaz grafica puedes ir a "Configure your computer --- Network & Internet --- Set up a new network interface ---- Wireless"

La interfaz sera reconocida como wlan0 pero recuerda que puede variar

Links relevantes
- rpmfind
- Linux Wireless

Eso es todo!

Como medir el ancho de banda de un enlace

Introduccion:
En repetidas oportunidades nos vemos en la necesidad de medir el ancho de banda de algun enlace, ya sea el mismo una red LAN, WAN, MAN utilizando satelite, microondas, fibra, etc y no sabemos como.
Para los conocedores del area tambien es comun que la gente de transmision nos indiquen que el enlace a nivel de capa 2 esta perfecto que no hay errores ni perdidas y que las pruebas de BERT salieron sin errores. Sin embargo al momento de probar dicho enlace con un router y transportando IP nos vemos con inconvenientes. Ahora bien, algo que es muy cierto es que el cliente tiene la ultima palabra, si el cliente dice que ve errores y/o que la aplicacion no funciona hay que revisar.


Objetivo
:
Vamos a medir el ancho de banda y calidad de un enlace. Cuando me refiero a enlace puede ser la comunicacion en un enlace WAN, entre dos equipos en una misma LAN. Para estas pruebas el medio fisico (wireless, satelite, fibra, microondas) es irrelevante.

Software necesario:
Linux y/o Windows
Iperf

Como hacer el estudio:
Vamos a basar nuestro estudio en el programa Iperf. Wikipedia en su pagina en Ingles define Iperf como un programa moderno para probar redes que es capaz de crear stream TCP y UDP y mide el ancho de banda de la red donde se ejecutan. Iperf fue realizado en C++
Iperf es un programa cliente - servidor por ello es necesario instalar el programa en al menos dos dispositivos. El mismo programa funciona tanto cliente como servidor. Su comportamiento varia segun las opciones que utilicemos al momento de ejecutarlo.
Una ventaja de Iperf es que hacemos la prueba en capa 3, es decir en IP, con Iperf podemos probar TCP y UDP y con distintos programas de paquete. Esto es sensacional.

Procedimiento:
Es necesario dos equipos donde uno es cliente y el otro sera el servidor. Por default Iperf mide el ancho de banda desde el cliente al servidor (sin embargo existe una opcion de medicion bi-direccional)

Ejemplos utiles:

1) Prueba mas basica. Opciones por default.
Lado server:

[root@monitor-2 root]# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------

Lado cliente:

[root@pemon ~]# iperf -c 10.1.1.1
------------------------------------------------------------
Client connecting to 10.1.1.1, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 3] local 10.1.1.2 port 51096 connected with 10.1.1.2 port 5001
[ 3] 0.0-10.0 sec 84.4 MBytes 70.8 Mbits/sec

2) Vamos a probar un Megabit entre el cliente y el servidor durante 15 segundo en paquetes UDP.
Lado server:
iperf -s -u

Lado cliente
[root@pemon ~]# iperf -c 10.1.1.1. -t 15 -u

3) Realizar una prueba de 2 Megabits de envio simultaneo entre el cliente y el servidor de paquetes UDP por 15 segundos
Lado server:
iperf -s -u

Lado cliente
[root@pemon ~]# iperf -c 10.1.1.1 -t 15 -u -d -b 2000000

{SUPRIMI UN POCO DE LA SALIDA}
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.0-15.0 sec 3.58 MBytes 2.00 Mbits/sec 0.180 ms 0/ 2553 (0%)
[ 3] 0.0-15.0 sec 3.58 MBytes 2.00 Mbits/sec 0.011 ms 0/ 2553 (0%)

Vamos a estudiar rapidamente el comando del cliente:
* con el -t 15 le indicamos 15 segundos
* -u que fuese UDP
* -d que fuese dual (envio y recepcion a la misma vez)
* -b 2000000 = 2 Mbits

Vamos a estudiar la salida tambien:
El intervalo fueron 15 segundos, se transfirio 3.58 Megabytes, el ancho de banda son 2 Mbits, el jitter es de 0.180 ms, se perdieron 0 datagramas de 2553 datagramas lo que representa 0 % de perdida

Recomendaciones:
Personalmente me agrada hacer mis estudios con Iperf utilizando UDP por diversas razones:
- Puedo indicar el ancho de banda
- No tengo inconvenientes con el Windows Size y/o perdida de algun acknowledge me baje drasticamente el Ancho de Banda
- Con la prueba de UDP yo mismo puedo calcular el impacto de las perdida de paquetes (imaginen la diferencia de perdida de paquetes (o errados) entre una red Wireless y una red cableada..

Salida del comado iperf --help para su referencia:

[root@monitor-2 root]# iperf --help
Usage: iperf [-s|-c host] [options]
iperf [-h|--help] [-v|--version]

Client/Server:
-f, --format [kmKM] format to report: Kbits, Mbits, KBytes, MBytes
-i, --interval # seconds between periodic bandwidth reports
-l, --len #[KM] length of buffer to read or write (default 8 KB)
-m, --print_mss print TCP maximum segment size (MTU - TCP/IP header)
-p, --port # server port to listen on/connect to
-u, --udp use UDP rather than TCP
-w, --window #[KM] TCP window size (socket buffer size)
-B, --bind bind to , an interface or multicast address
-C, --compatibility for use with older versions does not sent extra msgs
-M, --mss # set TCP maximum segment size (MTU - 40 bytes)
-N, --nodelay set TCP no delay, disabling Nagle's Algorithm
-V, --IPv6Version Set the domain to IPv6

Server specific:
-s, --server run in server mode
-D, --daemon run the server as a daemon

Client specific:
-b, --bandwidth #[KM] for UDP, bandwidth to send at in bits/sec
(default 1 Mbit/sec, implies -u)
-c, --client run in client mode, connecting to
-d, --dualtest Do a bidirectional test simultaneously
-n, --num #[KM] number of bytes to transmit (instead of -t)
-r, --tradeoff Do a bidirectional test individually
-t, --time # time in seconds to transmit for (default 10 secs)
-F, --fileinput input the data to be transmitted from a file
-I, --stdin input the data to be transmitted from stdin
-L, --listenport # port to recieve bidirectional tests back on
-P, --parallel # number of parallel client threads to run
-T, --ttl # time-to-live, for multicast (default 1)

Miscellaneous:
-h, --help print this message and quit
-v, --version print version information and quit

[KM] Indicates options that support a K or M suffix for kilo- or mega-

The TCP window size option can be set by the environment variable
TCP_WINDOW_SIZE. Most other options can be set by an environment variable
IPERF_, such as IPERF_BANDWIDTH.

Report bugs to


Links utiles:
http://www.noc.ucf.edu/Tools/Iperf/
http://sourceforge.net/projects/iperf/
http://en.wikipedia.org/wiki/Iperf

miércoles, 3 de marzo de 2010

Revisar el estado de las conexiones BGP via SNMP en un router Cisco

Objetivo:
Revisar el estado de las conexiones BGP en un router Cisco via SNMP

Procedimiento:
El procedimiento es muy sencillo, basicamente lo que se necesita es realizar un snmpwalk al siguiente OID: 1.3.6.1.2.1.15.3.1.2
Por ejemplo:
snmpwalk -v1 10.2.3.4 -c public 1.3.6.1.2.1.15.3.1.2

La salida que obtendremos será algo así:
SNMPv2-SMI::mib-2.15.3.1.2.10.6.7.8 6
SNMPv2-SMI::mib-2.15.3.1.2.10.8.9.8 3
SNMPv2-SMI::mib-2.15.3.1.2.10.11.33.44 1
SNMPv2-SMI::mib-2.15.3.1.2.10.14.55.44 6

En la salida anterior podemos ver que existen 4 sesiones BGP creadas hacia los IPs: 10.6.7.8, 10.8.9.8, 10.11.33.44 y 10.14.55.44 (las mismas que veremos al hacer un show ip bgp nei). De esta salida lo que necesitamos revisar es el último número del lado derecho y comparar dicho valor con la siguiente tabla:

1 : idle
2 : connect
3 : active
4 : opensent
5 : openconfirm
6 : established

Por ejemplo, en la salida anterior los peer 10.6.7.8 y 10.14.55.44 se encuentran en estado established.

Links importantes:
http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?local=en&translate=Translate&objectInput=1.3.6.1.2.1.15.3.1.2

lunes, 1 de marzo de 2010

Comando snmpget para tomar tabla arp de Router o Switch Cisco

Objetivo: Tomar por snmp la tabla ARP de un router Cisco Solución: El OID para tomar la tabla arp del router Cisco es: .1.3.6.1.2.1.17.4.3.1.1 sin embargo para poder consultar toda la tabla arp es conveniente hacer un snmpwalk de la siguiente manera: Con Linux el siguiente comando es suficiente: snmpwalk 192.168.127.129 -c public .1.3.6.1.2.1.17.4.3.1.1 La salida del comando es por stdout y por ello podemos luego realizar algún tipo de filtro luego de pasarlo por un pipe de manera sencilla. Por ejemplo para buscar una MAC que sabemos que contiene parte del string 51 AB podemos hacer lo siguiente: snmpwalk 192.168.127.129 -c public .1.3.6.1.2.1.17.4.3.1.1 | grep "51 AB" Suerte!

martes, 23 de febrero de 2010

Realizar un ping en un equipo Cisco con SNMP. Script en bash

Objetivo:
Desde un equipo con Linux indicarle a un Routero LAN Switch Cisco que realice un ping a un destino

Motivo:
Pueden existir diversos motivos para realizar la tarea mencionada. Por ejemplo en este momento necesito revisar si en la tabla arp de un equipo se encuentra una MAC en especifico y no tengo acceso desde mi NMS.

Software necesario:
net-snmp
snmp-devel

Configuración del router Cisco:
Para llevar a cabo dicha tarea es necesario tener acceso RW vía SNMP al router. Por ejemplo en modo configuracion:
#snmp-server community acostanetwork RW

Script en Linux:
#!/bin/sh
###### We've chosen 333 at random. 333 will be the row instance to use for this particular
###### ping experiment. After the ping, the row will be deleted.
###### This keeps the table clean. Router_Source is the dns name of the device we are
###### working with, and public is its RW community string. The values for
###### ciscoPingEntryStatus status are as follows (see Ping MIB):

###### 1 - active
###### 2 - notInService
###### 3 - notReady
###### 4 - createAndGo
###### 5 - createAndWait
###### 6 - destroy

#DECLARACION DE LAS VARIABLES
COM="epale" #SNMP Community name
PINGER_ROUTER="10.3.4.5"
IP_TO_PING="0A 00 00 01" #The IP address to ping should be define in HEX
PACKET_COUNT=20
PACKET_SIZE=100

###### We will clear out any previous entries by setting ciscoPingEntryStatus = 6 (destroy)

snmpset -c $COM $PINGER_ROUTER .1.3.6.1.4.1.9.9.16.1.1.1.16.333 integer 6
###### We start building the row by setting ciscoPingEntryStatus = 5 (createAndWait)
echo

snmpset -c $COM $PINGER_ROUTER .1.3.6.1.4.1.9.9.16.1.1.1.16.333 integer 5

echo
echo "###### Now let's set the characteristics of the ping #######"

###### Only the first three sets below are REQUIRED. The rest have default
###### values.

#Set ciscoPingEntryOwner = any_name
snmpset -c $COM $PINGER_ROUTER .1.3.6.1.4.1.9.9.16.1.1.1.15.333 s anyname

#Set ciscoPingProtocol = 1 = ip (see CISCO-TC-V1SMI.my CiscoNetworkProtocol)
snmpset -c $COM $PINGER_ROUTER .1.3.6.1.4.1.9.9.16.1.1.1.2.333 i 1

#Set ciscoPingAddress = #.#.#.#--take Remote_Dest's ip & convert each octet to hex
snmpset -c $COM $PINGER_ROUTER .1.3.6.1.4.1.9.9.16.1.1.1.3.333 x "$IP_TO_PING"
#Set the packet count to 20 (ciscoPingPacketCount)
snmpset -c $COM $PINGER_ROUTER .1.3.6.1.4.1.9.9.16.1.1.1.4.333 i $PACKET_COUNT

#Set the packetsize to 100 (ciscoPingPacketSize)
snmpset -c $COM $PINGER_ROUTER .1.3.6.1.4.1.9.9.16.1.1.1.5.333 i $PACKET_SIZ

echo
echo "##### Now let's verify that the ping is ready to go and launch it #######"

#Get ciscoPingEntryStatus and make sure it is now equal to 2. This means
# notInService which indicates that we're ready to go.

snmpget -c $COM $PINGER_ROUTER .1.3.6.1.4.1.9.9.16.1.1.1.16.333

# Set ciscoPingEntryStatus = 1 to tell it to activate.

snmpset -c $COM $PINGER_ROUTER .1.3.6.1.4.1.9.9.16.1.1.1.16.333 integer 1

#Let's wait two seconds before looking the results
sleep 2

echo
echo "##### Let's look at the results. #####"

snmpwalk -c $COM $PINGER_ROUTER .1.3.6.1.4.1.9.9.16.1.1.1

echo

echo "##### Now that we've gotten the results, let's destroy the row #####"
snmpset -c $COM $PINGER_ROUTER .1.3.6.1.4.1.9.9.16.1.1.1.16.333 integer 6



Funcionamiento:
- Declarar las variables de manera correcta al comienzo del script
- Notese que existe un sleep en el script. Este sleep sirve para esperar 2 segundos antes de continuar a ver los resultados. Es importante debido a que si se ejecuta el script sin la pausa el router probablemente no tendrá tiempo de tener los resultados.
- Recomiendo (pero no es necesario) instalar los MIBs ubicados en: http://tools.cisco.com/Support/SNMP/do/BrowseMIB.do?local=en&mibName=CISCO-PING-MIB

Ejemplo de resultado (con MIBs compilados):
CISCO-PING-MIB::ciscoPingProtocol.333 1
CISCO-PING-MIB::ciscoPingAddress.333 "0A 00 00 01 "
CISCO-PING-MIB::ciscoPingPacketCount.333 20
CISCO-PING-MIB::ciscoPingPacketSize.333 100
CISCO-PING-MIB::ciscoPingPacketTimeout.333 2000
CISCO-PING-MIB::ciscoPingDelay.333 0
CISCO-PING-MIB::ciscoPingTrapOnCompletion.333 2
CISCO-PING-MIB::ciscoPingSentPackets.333 20
CISCO-PING-MIB::ciscoPingReceivedPackets.333 20
CISCO-PING-MIB::ciscoPingMinRtt.333 1
CISCO-PING-MIB::ciscoPingAvgRtt.333 1
CISCO-PING-MIB::ciscoPingMaxRtt.333 1
CISCO-PING-MIB::ciscoPingCompleted.333 1
CISCO-PING-MIB::ciscoPingEntryOwner.333 "anyname"
CISCO-PING-MIB::ciscoPingEntryStatus.333 1
CISCO-PING-MIB::ciscoPingVrfName.333 ""

He colocado en negrillas e itálicas algunos valores importantes

Link importantes:


Espero sea de tu utilidad, suerte,

Compilar MIBs en Linux. Paso a Paso

Objetivo:
Instalar MIBs en Linux. En el presente caso utilizaremos unos MIBs de Cisco sin embargo el procedimiento es el mismo para cualquier otro MIBs.

Software necesario:
Necesitamos instalar net-snmp en nuestro equipo Linux. En mi caso con Mandriva:
urpmi snmp-devel

Tambien vamos a necesitar la linea devel de net-snmp:
urpmi lib64net-snmp-devel


y


rpm-build, es decir,
urpmi rpm-build

Procedimiento:
1) Averiguar donde SNMP almacena los repositorios MIBS:
net-snmp-config --default-mibdirs

2) Bajar los MIBS que queremos implementar. En este caso hay que tener mucho cuidado con los MIBS bajados en Internet, es importante que sean archivos de texto y que en la parte superior solo tengan comentarios y luego (como primera linea válida) contenga algo similar a: CISCO-RHINO-MIB DEFINITIONS ::= BEGIN" y la última linea debe decir END.
En el siguiente ejemplo bajaremos los siguientes MIBs:
ftp://ftp.cisco.com/pub/mibs/v2/CISCO-RHINO-MIB.my
ftp://ftp.cisco.com/pub/mibs/v2/CISCO-SMI.my

3) Copiar los MIBS en alguno de los directorios resultantes de: net-snmp-config --default-mibdirs
Por ejemplo:

cp /tmp/CISCO-*.my /usr/share/snmp/mibs

4) Ubicar el archivo de configuración global para snmp (no snmpd!)
Para mandriva: /etc/snmp/snmp.local.conf y agregar al final del archivo las siguientes lineas:

mibs +CISCO-RHINO-MIB
mibs +CISCO-SMI

5) Probar que los MIBs recien instalados funcionen:

[root@localhost ~]# snmptranslate -IR -On ciscoLS1010ChassisFanLed
.1.3.6.1.4.1.9.5.11.1.1.12

Comentarios:
Existe más de una manera de realizar la compilación de los MIBs en Linux, sin embargo yo solo quise mostrar una manera práctica, rápida y funcional de como realizar la tarea.

Links importantes:
El articulo arriba descrito es la suma de mi experiencia y de la traducción y resumen del articulo: http://www.net-snmp.org/wiki/index.php/TUT:Using_and_loading_MIBS

lunes, 22 de febrero de 2010

Realizar estudios de performance sobre un DNS Server

INTRODUCCION:

Recientemente tuve la necesidad de realizar algún estudio sobre el funcionamiento de dos servidores DNS los cuales soy responsable por su administración. Mis dudas
eran relacionadas al performance de los servidores.
En el mundo de los DNS el performance se mide de dos maneras:
* Throughput (numero de queries por segundo que el DNS Server es capaz de manejar)
* Latencia (tiempo de resolución de los queries)

En base a lo anterior uno mismo puede contruir unos scripts y apoyandonos en el comando DIG obtener gran información. Sin embargo durante mi investigación y
a través de una lista conseguí dos herramientas que pueden realizar un excelente estudio: dnsperf y resperf (http://www.nominum.com/services/measurement_tools.php)

OBJETIVO
Realizar y evaluar el performance de un DNS Server

SOFTWARE NECESARIO:
En mi caso hice todas las pruebas sobre un DNS Server en mandriva las herramientas sobre mandriva.
Software adicional: dnsperf y resperf. Se puede conseguir: http://www.nominum.com/services/measurement_tools.php
GNUplot

INSTALACION

wget ftp://ftp.nominum.com/pub/nominum/dnsperf/1.0.1.0/dnsperf-1.0.1.0-1-rhel-5-i386.tar.gz
tar -zxvf dnsperf-1.0.1.0-1-rhel-5-i386.tar.gz
cd dnsperf-1.0.1.0-1
rpm -ivh dnsperf-1.0.1.0-1.i386.rpm
urpmi gnuplot (MUY RECOMENDADO para generar unas gráficas más adelantes)

Los archivos binarios quedaran instalados en:
/usr/local/nom/bin

DOCUMENTACION:
Luego de la instalación del paquete existe una excelente documentación en formato pdf ubicada en:

/usr/local/nom/doc/dnsperf


FUNCIONAMIENTO:
En fin, basicamente lo que ambos programas hacen es tomar una enorme lista (un archivo de texto) donde existen miles de dominios separados por el tipo de query (A, AAAA, PTR, TXT, etc), lo envia a un servidor DNS (indicado por linea de comando) y luego empieza a recabar información para finalmente ofrecer un resumen de los resultados.
El archivo de texto puede ser editado, cambiado, modificado, etc por uno mismo sin inconveniente (archivo original: queryfile-example-100thousand).

EJEMPLOS:
Vamos a nombrar dos diferentes comandos con los cuales podemos hacer una evaluación. Recomiendo ampliamente leer la documentación oficial antes de proseguir. Estas herramientas consumen alto procesamiento de CPU, consumo de memoria y ancho de banda. Es muy sencillo saturar un servidor y dejarlo fuera de linea con estas herramientas. Adicionalmente hay que tener mucho cuidado con diversos firewalls que pueden encontrarse
en el medio entre el DNS Server y el cliente que ejecuta la aplicación.
Aquí van los ejemplos:

Comando 1: resperf
  • Ejemplo 1-1:
Query de 100000 consultas al DNS Server de localhost con un máximo de 100 consultas por segundo:

./resperf -s 127.0.0.1 -d queryfile-example-100thousand.orig -m 100

Ejemplo de la salida:

DNS Resolution Performance Testing Tool

Nominum Version 1.0.1.0

[Status] Sending
[Status] Waiting for more responses
^C
[root@localhost bin]# ./resperf -s 127.0.0.1 -d queryfile-example-100thousand -m 100

DNS Resolution Performance Testing Tool

Nominum Version 1.0.1.0

[Status] Sending
[Status] Waiting for more responses
[Status] Testing complete

Statistics:

Queries sent: 2999
Queries completed: 2985
Queries lost: 14
Ran for: 100.000002 seconds
Maximum throughput: 98.000000 qps
Lost at that point: 2.00%



  • Ejemplo 1-2:
Query de 100000 consultas al DNS Server de localhost con un máximo de 10 consultas por segundo pero con un reporte en una página Web:

./resperf-report -s 127.0.0.1 -d queryfile-example-100thousand.orig -m 10
Ejemplo de la página Web:




  • Ejemplo 1-3:
Query de 100000 consultas al DNS Server de localhost con un máximo de 100000 consultas por segundo pero con un reporte en una página Web:
./resperf-report -s 127.0.0.1 -d queryfile-example-100thousand.orig


Comando 2: dnsperf

Ejemplo 2-1:
Ejecutar 3 queries maximos al servidor localhost con un histograma de 20 por 10 segundos:

./dnsperf -d ../examples/dnsperf/queryfile-example-100thousand -q 3 -H 20 -l 10 -s 127.0.0.1

Salida del comando anterior:

[root@localhost bin]# ./dnsperf -d queryfile-example-100thousand -q 10 -H20 -l 10

DNS Performance Testing Tool

Nominum Version 1.0.1.0

[Status] Processing input data
[Status] Sending queries (to 127.0.0.1)
[Status] Testing complete


Statistics:

Parse input file: multiple times
Run time limit: 10 seconds
Ran through file: 144 times

Queries sent: 870 queries
Queries completed: 870 queries
Queries lost: 0 queries

Avg request size: 37 bytes
Avg response size: 161 bytes

Percentage completed: 100.00%
Percentage lost: 0.00%

Started at: Mon Feb 22 18:17:43 2010
Finished at: Mon Feb 22 18:17:53 2010
Ran for: 10.105866 seconds

Queries per second: 86.088614 qps

Latency: Min: 0.000284 s; Max: 1.121552 s; Avg: 0.111007 s; StdDev: 0.169328

Response latency distribution (total 870 responses):

Latency Success Fail |
<>= 1.000s 8 0 |#

Legend:

##### = success responses (RCODE was NOERROR or NXDOMAIN)
----- = failure responses (any other RCODE)


Ejemplo 2-2:

Ejecutar 20 queries maximos al servidor localhost con un histograma de 4 por 20 segundos con una cantidad máxima de 25 queries por segundo:
./dnsperf -d queryfile-example-100thousand -q 20 -H4 -l 20 -Q 25

Suerte, espero sea de tu utilidad

lunes, 25 de enero de 2010

Como unir varios archivos mp3 en uno solo. Linux

Caso:
Tengo varios archivos MP3 en Linux y deseo unirlos en uno solo

Solución:
Buscando en Internet conseguiremos que efectivamente se pueden unir/concatenar varios archivos MP3 en uno solo solo haciendo lo siguiente:

#cat archivo1.mp3 archivo2.mp3 archivo3.mp3 >> album.mp3

Lo anterior efectivamente funciona, sin embargo, esa no es la mejor manera de hacerlo. Recordemos que cada archivo binario (como un mp3) tiene una cabecera en el archivo que es quien realmente identifica el tipo de archivo, de igual manera contiene información extra (en el caso de los mp3 id3v2 tags). Por ello, al realizar el cat, quedará información de cabecera dentro del archivo!.., no tiene sentido. Adicionalmente, el método del cat puede traer algunos inconvenientes con algunos reproductores e incluso agregar algún tipo de ruido innecesario.

Por ello, la mejor manera de realizar la unión es utilizar la herramienta mp3wrap que hace especificamente la unión de los archivos.

Software instalado:
mpgtx
id3v2
mp3wrap-0.5-2.i586.rpm
id3lib

Procedimiento:

#mp3wrap archivo1.mp3 archivo2.mp3 archivoN.mp3

Ejemplo:
#mp3wrap -v album.mp3 1.mp3 2.mp3 3.mp3
Mp3Wrap Version 0.5 (2003/Jan/16). See README and COPYING for more!
Written and copyrights by Matteo Trotta -
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!

33 % --> Wrapping 1.mp3 ... OK
66 % --> Wrapping 2.mp3 ... OK
100 % --> Wrapping 3.mp3 ... OK

Calculating CRC, please wait... OK

album_MP3WRAP.mp3 has been created successfully!
Use mp3splt to dewrap file; download at http://mp3splt.sourceforge.net!

Tu pre-album queda con el nombre:
album_MP3WRAP.mp3

Posteriormente se puede realizar:
#ffmpeg -i album_MP3WRAP.mp3 -acodec copy all.mp3
y
#id3cp 1.mp3 all.mp3

Parsing 1.mp3: done. Copying to all.mp3: done

y el album finalmente queda con el nombre all.mp3

En mp3wrap personalmente me gusta utilizar la opción -v porque me da más información y es más sencilla para descubrir algún problema y/o inconveniente.
mp3wrap también tiene otra opción útil que permite realizar appends a albunes existentes. El flag es -l

Espero te sea útil esta información

Link recomendados:
http://lyncd.com/2009/02/how-to-merge-mp3-files/
http://bbs.archlinux.org/viewtopic.php?id=63685

Colocar subtitulos a una pelicula

Caso:
En estos dias tenia una pelicula .avi y necesitaba colocarles subtitulos, en realidad no estaba familiarizado con el tema y por ello tuve que investigar un poco. Es muy facil, aqui el resultado. De hecho solo voy a indicar lo que necesitas (y algunos URLs donde conseguirlo), no voy a entrar en detalle de como usar el software ni mucho menos de como instalarlo

Situacion:
Tengo una pelicula y deseo colocarles subtitulos

Solucion:
La solucion es muy sencilla. Necesitamos:

1) Primero la pelicula en formato .avi, mpeg, asf, wmv, ogg
2) Los subtitulos en formato .srt (un buen sitio para conseguir subtitulos es: http://www.addic7ed.com/)
3) El programa que hace "la magia" de colocar los subtitulos es DEVEDE. Se puede conseguir para Windows y Linux, muy estable en ambos sistemas operativos. Devede para Windows, DVD para Linux. DEVEDE es una aplicacion 100% gratuita y de libre uso
4) Listo!.., ahora solo hay que instalar DEVEDE

Recomendación:
Si vas a colocar subtitulos en español utiliza el charset UTF-8, sino vas a tener inconvenientes con las tildes y otros caracteres

lunes, 11 de enero de 2010

9 Consejos en administracion de routers Cisco

Tip 1. Mas información en la descripción de las interfaces
Colocar en la descripción de la interfaz en el nro de circuito y nombre del proveedor. Por Ejemplo

interface Serial0/0/0
description Mi cliente-A. CKT ID: A-1000123. Proveedor. Sprint
bandwidth 2048
ip address 10.0.0.61 255.255.255.252
ip load-sharing per-packet
no ip mroute-cache
load-interval 30
no fair-queue
crc4
ts16
no cdp enable

Tip 2. Prevencion del uso de debug
Al momento de realizar un debug recomiendo realizar ejecutar el comando undebug all, de esta manera luego eliminar el debug es tan rapido con darle dos veces a la flecha hacia arriba y luego enter.


Tip 3. Utilizar Reload at y reload in
En repetidas oportunidades nos vemos en la necesidad de ejecutar comandos que probablemente nos dejen sin adminitración del equipo remoto (pe. cambiar una dirección IP, configurar un trunking, etc). Dentro de un mismo datacenter no existe mucha preocupación, pero si el equipo a modificar se encuentra a 500KM es muy riesgoso. En esta oportunidad recomiendo tomar ventaja del comando "reload at" o del comando "reload in".
Por ejemplo, digamos que vamos a modificar la dirección IP del equipo remoto y luego comprobaremos que seguimos con administración del mismo. ¿Cuanto tiempo toma esto?, ¿8 minutos?.
Hariamos lo siguiente:

a) Telnet/SSH al router remoto
b) #reload in 8
Reload scheduled for 14:31:22 CARACAS Mon Jan 11 2010 (in 8 minutes)
Proceed with reload? [confirm]
c) Luego de lo anterior tenemos 8 minutos para configurar todo lo que sea necesario (IP, ACLs, etc).
d) Si los resultados son satisfactorios cancelamos el reload con el comando "reload cancel":
#reload cancel

***
*** --- SHUTDOWN ABORTED ---
***


e) Si los cambios no son satisfactorios (por ejemplo perdimos la administración del equipo remoto) el equipo se reiniciará en 8 minutos y podremos seguir trabajando debido a que no hemos hecho write mem

Tip 4. Asociar subinterfaces
Al momento de crear subinterfaces (por ejemplo Dot1Q o FrameRelay) recomiendo asociar el nunero de subinterfaz con el numero de DLCI o VLAN. Por ejemplo:

interface FastEthernet1/1/0.6
description Red 10.0.0.0/29
encapsulation dot1Q 6
ip address 10.0.0.1 255.255.255.248
no cdp enable

Tip 5. Uso de atajos de teclados
Cisco ofrece gran variedad de atajos con el teclado al momento de manipular comandos. Por ejemplo podemos borrar el comando (la linea), ir al comienzo del comando o al final de manera muy rápida, todo esto se traduce en ahorro de tiempo. Aquí te dejo los más utilizados:

Flecha hacia arriba: Muestra el comando previo
Flecha hacia abajo: Muestra comandos mas recientes referentes a la posición actual
Ctrl+P = Flecha hacia arriba
Ctrl+N = Flecha hacia abajo
Ctrl+A: Mueve el cursos al comienzo de la linea
Ctrl+E: Mueve el cursos al final de la linea
Esc+F: Salta una palabra hacia adelante
Esc+B: Salta una palabra hacia atras
Ctrl+U: Borra la linea de comando
Ctrl+W: Borra una palabra
Tab: Completa el comando
Ctrl+Z: Sale del modo de configuracion, regresa a modo privilegiado

Tip 6. Manipulación de salida de comandos
Parecido al Tip 5, el IOS de Cisco ofrece cierta facilidad para manipular las salidas de los comandos. Por ejemplo, uno puede buscar cierto string luego de ejecutar un comando. Por ejemplo una salida de show arp puede ser muy larga.
Digamos que queremos buscar la mac-address del equipo con la dirección ip 10.0.1.26, hariamos lo siguiente:

#sh arp | include 10.0.1.26
Internet 10.0.1.26 234 001c.9020.d01b ARPA FastEthernet1/1/0.14

Similar a include podemos conseguir: include, exclude y begin

Tip 7. Syslog Server
Cisco tiene la desventaja que luego de reiniciar el router/switch se pierden los logs del mismo, esto trae como consecuencia perdida de información por ejemplo de cuando levanta/cae una sesión eigrp, bgp, estado de las interfaces, etc. Por ello recomiendo tener un syslog server externo (tal como syslog server ng en Linux) compilar los logs de tus equipos. El comando en Cisco puede ser tan sencillo como:
MiSwitch(config)#logging 10.0.0.76

Donde 10.0.0.76 es el Syslog Server

Tip 8. Uso de NTP Server.
Es muy ventajoso tener todos los equipos de la red con la misma hora y el mismo huso horario, esto trae como ventaja ofrecer un troubleshooting más sencillo y conseguir errores más rápido. Al momento de un inconveniente si todos los equipos tienen horas diferentes es muy complicado hacer seguimiento de los errores y determinar si los mismos estan relacionados uno con otros.
En Cisco para configuar un NTP y el timezone se realiza de la siguiente manera:

clock timezone CARACAS -4 30
ntp server 128.250.36.2 prefer
ntp server 128.250.36.3
ntp server 136.159.2.254

En el ejemplo anterior CARACAS es el timezone, -4 30 correnponde al huso horario de Caracas y los siguientes comandos son servidor NTP publicos. También puedes utilizar servidor NTP internos si tus equipos Cisco no cuentan con acceso a Internet

Tip 9. Ajustar el log y el timestamp
Otro ajuste que me agrada hacer en la configuración de los equipos Cisco es ajustar el log interno y la manera como marca los mismos. Luego de tener el NTP, ajusto el tamaño de los logs y quiero que me indique hora y fecha de los mismos del lado izquierdo, para ello los comandos son los siguientes:

service timestamps debug uptime
service timestamps log datetime localtime
logging buffered 32000 debugging

Un ejemplo de lo anterior sería lo siguiente:

Jan 13 07:03:49: %CDP-4-DUPLEX_MISMATCH: duplex mismatch discovered on FastEther
net1/0/10 (not half duplex), with Torondoy-NOC Ethernet0 (half duplex).

Notese que me aprece la fecha y hora al comienzo del registro del log



Eso es todo, espero estos tips sean de utilidad,

viernes, 8 de enero de 2010

Permitir determinado URL en Juniper Firewall. Bypass webfiltering

Problema:
Tengo webfiltering habilitado en mi Firewall Juniper (SSG-5) y necesito permitir cierto URL

Solución:
Supongamos que el url http://acostanetwork.blogspot.com se encuentra bloqueado por el webfiltering del FW. El procedimiento a seguir es el siguiente:

1) Entrar al Firewall vía Web
2) Selecciona Security > Web Filtering > Categories > Custom > click sobre NEW en la parte superir > coloca un nombre al profile > ( Recomendado el nombre del URL o el URL en si ) click OK. Por ejemplo: acostanetwork.blogspot.com
3) Luego de lo anterior, ir otra vez a Security > Web Filtering > Profiles > Custom > Click sobre el Edit del profile utilizado en la politica > Selecciona White List y el profile que hayas creado anteriormente
4) Apply

Eso es todo, posteriormente ya se debe poder entrar a la página que anteriormente no podias.

sábado, 2 de enero de 2010

Como determinar/calcular el ancho de banda para un enlace

Pregunta:
En mi area (mas de 15 anos trabajando en el mundo de proveedores de Internet) en repetidas ocasiones he recibido la pregunta por parte de clientes que quieren contratar un enlace a Internet: ¿Cuanto ancho de banda contrato?

Respuesta:
  La respuesta afortunadamente tiene calculos sencillos matematicos que se pueden utilizar, sin embargo no existe una sola respuesta a la pregunta.
  En fin, supongamos que usted quiere conectar una nueva oficina a Internet para N cantidad de usuarios y no sabe cuanto ancho de banda desea contratar. Esta es la formula a utilizar:

AB = G * C

Donde:

AB = Ancho de banda a contratar
N = Cantidad de usuarios que utilizan Internet en la Oficina. Recordemos que quizas tengan usuarios en la oficina que no utilicen Internet (motorizados, archivistas, etc). Este valor no esta en la formula pero es conveniente conocerlo
G = Ancho de banda a garantizar por usuario. Este valor es muy importante. Al bajar un archivo cuanto ancho de banda quiero que consuma. Un valor en latinoamerica puede ser quizas 256 Kbps, otros paises desarrollados pueden utilizar un valor mayor. Importante destacar que el valor G también puede depender del tipo de aplicativo que queramos usar. Por ejemplo una transmisión de video no es igual a una transacción POS de una tienda.
C = Concurriencia de las personas (cantidad de personas que utilizan Internet simultaneamente). Esto varia mucho entre las oficinas, no todas las oficinas utilizan Internet para lo mismo. No es lo mismo una compania que utiliza los servidores via VPN de otra sede que una que solo usa Internet para Internet-Banking. Probablemente podemos estimar 30% de N

En fin, hagamos un pequeno ejemplo:

N=50 (usuarios con Internet disponible en la oficina)
G=256 Kbps (ancho de banda "garantizado" por usuario)
C = 20 personas (Estimamos que 20 personas de la oficina estaran conectado simultaneamente a Internet)

AB = G * C
AB = 20 * 256 Kbps = 5120 Kbps.

Es decir, 5 Mbps a Internet para una compania de 50 empleados donde se estiman que navegan 20 personas simultaneamente.

Espero este articulo haya sido de tu ayuda.

Suerte,
If you're still having the issue a fatal javascript error has occurred discord after reinstalling Discord, ensure the AppData folder has been deleted before proceeding with the reinstallation.

Solución a: Error: eth0 interface name is not allowed for R2 node when network mode is not set to none

Problema:   Containerlab devuelve un error similar: Error: eth0 interface name is not allowed for R2 node when network mode is not set to no...