Blog en espanol destinado a diferentes temas tecnicos principalmente en IT y Networking. Se desea cubrir Linux, DNS, DNSSEC, RPKI, BGP, Cisco, Programacion (Bash, Python, etc), Protocolos de Enrutamiento, Seguridad en Redes, VoIP.
viernes, 31 de diciembre de 2010
Bind / Syslog / Logrotate
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
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,
sábado, 4 de diciembre de 2010
Como bajar IOS de Cisco (gratis)
jueves, 25 de noviembre de 2010
Obtener la Mac Address de un telefono Nokia (Wireless y Bluetooth)
Este sera un post muy rapido.
Situacion:
Tengo un celular Nokia E63 (de hecho tambien funciona con otros telefonos Nokia) y deseo obtener la Mac Address del equipo
Solucion:
Para visualizar la direccion MAC del Bluetooth: *#2820#
Para visualizar la direccion MAC de la tarjeta Wireless: *#62209526#
Espero haya sido util,
viernes, 19 de noviembre de 2010
Redistribuir ruta por default con BGP. Cisco
El dia de hoy estuve un cliente que me pidio que por BGP le anunciara una ruta por default. En fin, es algo muy sencillo y espero sea de tu utilidad.
Solucion:
En el router Cisco configurar:
router bgp XXXX
neighbor 10.0.1.5 remote-as NNN
neighbor 10.0.1.5 default-originate
Donde:
XXXX: es tu sistema autonomo
10.0.1.5: Direccion IP del peer con quien estas levantando la sesion BGP
NNN: El sistema autonomo de tu peer
El comando default-originate es quien hace posible la publicacion de una ruta 0.0.0.0 al peer remoto.
Mas informacion:
https://learningnetwork.cisco.com/message/83023
http://blog.ioshints.info/2007/11/bgp-default-route.html
Espero haya sido util,
miércoles, 17 de noviembre de 2010
Resultados del estudio de penetracion de IPv6 en paises Hispano Parlantes
Recientemente he estado trabajando en un estudio para conocer la penetración de IPv6 en aquellos paises que hablen español.
Resumen del estudio:
El presente estudio tuvo la finalidad conocer la penetración de IPv6 en el usuario final en el mundo de habla hispana. Se realiza una comparación de accesos IPv4 vs IPv6 de distintos sitios, análisis de Sistema Operativo y navegadores utilizados entre otras variables de interés para el estudio. Es un estudio práctico y muy eficiente, basado en otros estudios realizados por RIPE y APNIC. El estudio consiste en colocar objetos JavaScript dentro de páginas HTML los cuales tienen acceso a servidores Web en el punto IPv4 y en el mundo IPv6; en este sentido el usuario final necesitará descargar los objetos de ambos servidores; finalmente viene un análisis de los resultados
Resumen de los resultados:- Los países con mayor penetración IPv6 son Colombia y Venezuela
- Casi no existe configuración de DNS reversos sobre direcciones IPv6
- La penetración (asumiendo IPv4=100%) de IPv6 es de 3.07 %
Mas información:
Los resultados completos lo pueden ver en la página de Lacnog especificamente aquí.
miércoles, 3 de noviembre de 2010
Tunel GRE entre Cisco y Linux (Debian)
Deseo crear un tunel GRE entre en un equipos Linux y un router Cisco
Procedimiento:
a) Del lado del linux:
Lo primero que hay que hacer es levantar el modulo ip_gre del lado del Linux:
#modprobe ip_gre
Luego,necesitamos definir ante todo, el nombre de la interfaz, y la dirección que este va a tener, en mi caso, decidi que la interfaz se llamara "Core2", y usare la dirección IP 7.7.7.0/30 (OJO, esta es una dirección IP PUBLICA!!!!!!, es conveniente usar direcciones IP privadas, ejm: 10.0.0.0/8, en mi caso, esto se monto en un laboratorio).
Ejecutamos los siguientes comandos
ip tunnel add Core2 mode gre local 8.8.8.1 remote 9.9.9.2 dev eth0
ip add ad dev Core2 7.7.7.1/32
ip link set dev Core2 up
Local hace referencia a la interfaz en nuestro linux (eth0 que tiene el IP 8.8.8.1) por donde sale el trafico, si manejamos una sola interfaz, en este caso usaríamos la dirección IP de la interfaz que tenemos configurado, si manejamos dos interfaces, es conveniente usar la interfaz por donde sabemos que el trafico hacia la otra punta del tunel va a salir. (usar un traceroute)
Remote hace referencia a la dirección IP del peer, esta tendría que ser la dirección contra la que vamos a levantar el tunnel
Ahora, vemos como queda la configuracion de la interfaz
#ifconfig Core2
Core2 Link encap:UNSPEC HWaddr C8-2F-97-7E-05-08-00-00-00-00-00-00-00-00-00-00
inet addr:7.7.7.1 P-t-P:7.7.7.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MTU:1476 Metric:1
RX packets:134 errors:0 dropped:0 overruns:0 frame:0
TX packets:35 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:11896 (11.6 KiB) TX bytes:3780 (3.6 KiB)
b) Del lado del equipo cisco , es un poco más sencillo,
GRE#conf t
Enter configuration commands, one per line. End with CNTL/Z.
GRE#int tunnel 100
GRE(config-if)#tunnel source 9.9.9.2
GRE(config-if)#tunnel destination 8.8.8.1
GRE(config-if)#ip address 7.7.7.2 255.255.255.252
Listo!!!
Veamos la configuracion
GRE#sh run in tu100
Building configuration...
Current configuration : 128 bytes
!
interface Tunnel100
ip address 7.7.7.2 255.255.255.252
tunnel source 9.9.9.2
tunnel destination 8.8.8.1
end
GRE#
Y listo Sres, ya tenemos nuestro Tunel levantado
GRE#sh int tunnel 100
Tunnel100 is up, line protocol is up
Hardware is Tunnel
Internet address is 7.7.7.2/30
MTU 1514 bytes, BW 9 Kbit, DLY 500000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation TUNNEL, loopback not set
Keepalive not set
Tunnel source 9.9.9.2, destination 8.8.8.1
Tunnel protocol/transport GRE/IP
Cabe destacar que la interfaz tunnel 100, usa por defecto un tunel modo GRE, asi que no hace falta definirlo.
Revisar:
Para probar conexión, un simple Ping podria darnos lo que buscamos
GRE#ping 7.7.7.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 7.7.7.1, timeout is 2 seconds:
!!!!!
Lab:/home/rollingpaper# tcpdump -i Core2 icmp
tcpdump: WARNING: arptype 778 not supported by libpcap - falling back to cooked socket
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on Core2, link-type LINUX_SLL (Linux cooked), capture size 96 bytes
11:56:26.704400 IP 7.7.7.2 > 7.7.7.1: ICMP echo request, id 153, seq 0, length 80
11:56:26.708400 IP 7.7.7.2 > 7.7.7.1: ICMP echo request, id 153, seq 1, length 80
11:56:26.710648 IP 7.7.7.2 > 7.7.7.1: ICMP echo request, id 153, seq 2, length 80
11:56:26.712147 IP 7.7.7.2 > 7.7.7.1: ICMP echo request, id 153, seq 3, length 80
11:56:26.713897 IP 7.7.7.2 > 7.7.7.1: ICMP echo request, id 153, seq 4, length 80
Listo Sres, espero que haya sido de ayuda
lunes, 25 de octubre de 2010
Recuperar la clave en AIX. RS/6000
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
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
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
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
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
viernes, 27 de agosto de 2010
Manipular VLANs con Linux
check out this page
sábado, 21 de agosto de 2010
Cliente IPv6 Freenet6 en Linux
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
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
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
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
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
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
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
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
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
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
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
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 2010Sources 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
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 | Visitas | Observación | |
15-19 de Febrero | 24 | 2 Semanas antes del terromoto | |
22-26 de Febrero | 26 | Semana anterior al terromoto | |
1 - 5 Marzo | 15 | Semana siguiente al terromoto | |
8 - 12 Marzo | Aprox 29 | 2 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
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
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
-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
-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
-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_
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
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
martes, 23 de febrero de 2010
Realizar un ping en un equipo Cisco con SNMP. Script en bash
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:
- http://www.scozzafava.com/scripts/remote-ping/
- http://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a0080094e8e.shtml
- http://tools.cisco.com/Support/SNMP/do/BrowseMIB.do?local=en&mibName=CISCO-PING-MI
Espero sea de tu utilidad, suerte,
Compilar MIBs en Linux. Paso a Paso
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
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:
./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:
./resperf-report -s 127.0.0.1 -d queryfile-example-100thousand.orig -m 10
Ejemplo de la página Web:
- Ejemplo 1-3:
./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
BGP Stream: un año de análisis sobre incidentes BGP
BGP Stream: un año de análisis sobre incidentes BGP 04/03/2024 Por Alejandro Acosta , Coordinador de I+D en LACNIC LACNIC presenta la prim...
-
Debido al crecimiento moderado que ha tenido el presente blog se me ocurrió añadir/integrar las estadisticas de google analytics a mi blog. ...
-
Introduccion: En algunas ocasiones es necesario "bajar" o deshabilitar iptables en nuestro Linux, el procedimiento depende de...
-
Saludos, Lo primero que debemos de hacer para quitar el stacking entre los switches es desconectar los cables Stack que los unen.... Es buen...