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

lunes, 9 de abril de 2012

Router (o LAN Switch) Cisco como servidor NTP

Escenario: 
  Deseo que mi Router Cisco se comporte como un servidor NTP. En realidad es algo SUPER sencillo pero lo deseo colocar aquí como referencia, estoy seguro que más de uno ha tenido esta necesidad.
  Antes de continuar recueden que cualquier servicio que se habilita sobre un dispositivo trae consigo "huecos" de seguridad, dicho esto, en caso de no necesitar levantar el servicio NTP, por favor no lo hagan.

Configuracion del lado del Router (o Switch) _servidor_ :
a) Entrar en modo de configuracion (conf t)
b)  ntp master [stratum]
   ejemplo:
     MIROUTER(config)# ntp master 3



  LISTO!. Posteriormente, a partir de este momento ya el router se convierte en un NTP Server


  Desde otro equipo solo hay que especificar como NTP Server el IP del Router Cisco. Ahora supongamos que el cliente es otro router Cisco, una configuración pudiese ser:

MILANSWITCH(config)#ntp server 192.168.12.1  source loopback 10

  Recomiendo colocar el timezone de la ubicación de uno. Por ejemplo para Venezuela podemos usar:

MILANSWITCH(config)#clock timezone VEN -4 30 quedará precisa

Mas informacion:
http://www.cisco.com/en/US/docs/ios/12_1/configfun/configuration/guide/fcd303.html
Network Time Protocol

martes, 5 de abril de 2011

Convertir archivos Webex a MP4

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

Solucion:

1) Bajar el convertidor NBR2MP4 de la siguiente direccion:

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

2) Luego hay que descomprimirlo:

tar -xvf nbr2mp4.tar ./

3) Hacer el instalador ejecutable:

chmod +x ./nbr2mp4.sh

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

./nbr2mp4.sh

6) Entrar en el directorio recien creado

cd nbr2_mp4

7) Para convertir:

./nbr2mp4 SOURCE [MP4_DIRECTORY] [FPS]

Ejemplo:

./nbr2mp4 dns.arf .

lunes, 14 de marzo de 2011

Historico de tablas BGP. ¿Hijack de mi red?

Descripcion:
Si eres un administrador de routers que manejen tablas BGP (probablemente un ISP) quizás publicas tus propios prefijos/subredes a tu upstream provider desde tu Sistema Autonomo (AS).
Ahora bien, debes saber que tu mismo prefijo o uno muy similar (quizás un prefijo más grande o chico) puede ser -por algún error o ataque- publicado desde otro AS en otra parte del mundo. Lamentablemente esto es algo que ocurre y hay que estar preparado.

Problema:
Pienso haber sufrido un hijack de mis prefijos IP (publicadas desde un AS diferente al mio) y necesito verificarlo.
Para este inconveniente te recomiendo utilizar un routeview especificamente la herramienta BGPlay. BGPplay me permito decir que es una herramienta excelente y gratuita realizada en Java que permite buscar un prefijo y el te indicará cualquier cambio en los ultimos 10 días.
Para utilizar BGPPlay:
1) Dirigete a la pagina http://bgplay.routeviews.org/
2) Haz click sobre el boton "Start BGPlay"
3) Luego se cargará el applet de Java, allí indicas cual es tu prefijo un rango de fecha donde deseas consultar
4) Hacer click sobre Ok
5) Analizar los resultados


Recomendación:
Tener Alarmas!; para ello deseo sugerirte el sitio web: http://www.bgpmon.net/ . BGPmon es un sitio gratis dedicado al monitoreo y analisis de tablas BGP. Lo más significativo que tiene es que puedes indicar cuales son tus prefijos, tu AS y en caso de existir algún cambio ellos te envian un correo. Por ejemplo puedes configurar las siguientes alarmas:
- En caso de existir algún otro AS que comienza a publicar algún prefijo tuyo te enviaran un correo
- Redes nuevas
- Cambios significativos de path
- Redes subneteadas
- Retiro/withdraw de redes

Suerte, espero sea de tu utilidad,

martes, 8 de febrero de 2011

Obtener la tabla BGP de un router Cisco por SNMP

Objetivo:
Deseo obtener la tabla BGP de un router Cisco por SNMP

Procedimiento:
El siguiente procedimiento se hizo desde un Laptop con Mandriva y snmp-utils instalado. El router fue un Cisco 7200 con IOS 12.3

- Instalar snmp-utils debido a que es necesario la aplicación snmpwalk
#urpmi net-snmp-utils

- El MIB utilizado es el CISCO-BGP4-MIB, puedes compilarlo en tu equipo o ir directamente al OID.

- El objeto escogido por mi persona es: cbgpRouteBest el cual corresponde el OID 1.3.6.1.4.1.9.9.187.1.1.1.1.18

- El comando para obtener la tabla BGP que puedes utilizar es:
#snmpwalk -v 1 -c MICOMUNIDAD MIROUTER .1.3.6.1.4.1.9.9.187.1.1.1.1.18

La salida del comando es bastante extensa y puede ser hasta engorroso de leer. La salida es algo similar a:

SNMPv2-SMI::enterprises.9.9.187.1.1.1.1.18.1.128.1.4.3.4.5.6.12.0.0.30.228.0.0.0.2.199.60.28.0.24 = INTEGER: 1

El prefijo BGP se encuentra ubicado justo antes del "=" en formato octeto1.octeto2.octeto3.octeto4.mascara

Por ello, para obtener una salida limpia utiliza el siguiente mini-script:

#snmpwalk -v 1 -c MICOMUNIDAD MIROUTER .1.3.6.1.4.1.9.9.187.1.1.1.1.18
| cut -d "=" -f1 | awk -F. '{print $(NF-4) echo "." $(NF-3) echo "." $(NF-2) echo "." $(NF-1) echo "/" $(NF)}'

La salida será algo similar a:
190.124.165.0/24
190.196.224.0/20
192.33.14.0/24
192.58.128.0/24
192.197.157.0/24
193.116.0.0/14
199.60.28.0/24

Más info:
http://www.cisco.com/en/US/docs/ios/12_0s/feature/guide/sbgprmib.html
ftp://ftp.cisco.com/pub/mibs/oid/CISCO-BGP4-MIB.oid

sábado, 4 de diciembre de 2010

Como bajar IOS de Cisco (gratis)

Intro: 
 El siguiente post esta basado en el post encontrado en: http://saifulaziz.wordpress.com/2008/08/08/google-hack-for-free-cisco-ios/ llamado: "Google hack for free Cisco IOS" 
Situacion: 
   Deseo bajar IOS de Cisco :) 
Solucion: 
   Conseguiremos los sitios para bajar los IOS gracias al poder de google, en muy sencillo. Por ejemplo para conseguir sitios con un indice de productos Cisco podemos hacer una busqueda que incluya: intitle:index.of ios parent directory bin o haz click aqui Ahora bien, si queremos buscar IOS de alguna plataforma especifica agrega el modelo (familia o modelo exacto) al comienzo de la busqueda, por ejemplo: 2600 intitle:index.of ios parent directory bin o haz click aqui para ver un ejemplo

viernes, 19 de noviembre de 2010

Redistribuir ruta por default con BGP. Cisco

Escenario:
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, 3 de noviembre de 2010

Tunel GRE entre Cisco y Linux (Debian)

Situación:
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, 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!

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

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!

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, 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,

martes, 20 de octubre de 2009

Configurar SSH en Router Cisco

Como todo sabemos, telnet es un protocolo que ofrece bajos niveles de seguridad, basta con que coloquemos un sniffer y podamos las ordenes que el usuario esta escribiendo, desde nombre del usuario hasta el password que este uso para entrar en el equipo.

Para poder habilitar SSH en un equipo Cisco, el IOS debe de tener los modulos de cifrado DES o 3DES, IPsec.

De resto, es bastante sencillo.


Le asignamos un nombre al equipo

Router(config)# hostname Router-SSH
Router-SSH(config)#

Luego configuramos un nombre de dominio para el equipo con el comando ip domain-name

Router-SSH(config)# ip domain-name acostanetwork.com
Router-SSH(config)#

Luego creamos una llave RSA para la autenticacion y cifrado de la data

Router-SSH(config)# crypto key generate rsa
The name for the keys will be: Router-SSH.acostanetwork.com
Choose the size of the key modulus in the range of 360 to 2048
for your General Purpose Keys. Choosing a key modulus greater than
512 may take a few minutes.

How many bits in the modulus [512]: 1024
% Generating 1024 bit RSA keys ...[OK]


Luego ejecutamos el siguiente comando para que el router solo acepte peticiones SSH, de esta manera deshabilitamos el TELNET en el equipo


Router-SSH(config-line)#transport input ssh


Y listo!



Saludos!!!!

miércoles, 14 de octubre de 2009

Secuencia de Escape / Break Sequence Minicom - Linux - Cisco

Descripción:
En muchas ocasiones es necesario entrar en rommon a los routers y/o LAN Switch Cisco, tipicamente para una recuperación de password.

En las últimas dos semanas casualmente he recibido llamadas de un par de amigos indicandome que el break sequence no les funciona con Minicom y Linux, es decir, no pueden hacer el password recovery porque no la secuencia de escape (para minicom: ctrl-a f) no les funciona.

Solución:
La solución es muy sencilla, probada con diversos terminales y sistemas operativo; incluso, muchas veces es más sencillo que la propia combinación de las teclas de escape:

* Apagar el Router/LAN Switch
* Conectar la consola al PC/Laptop con Linux
* Configurar Minicom con la siguiente configuración:
1200 baud rate
No parity
8 data bits
1 stop bit
No flow control

* Enciende el router/switch y presiona la barra espaciadora por 10-15 segundos
* Luego configura nuevamente Minicom a 9600 baud rate.
* Presiona enter

Listo, ya debes tener un prompt similar a:

rommon 2>

P.D. Esta solución también se encuentra documentada en Cisco en: http://www.cisco.com/en/US/products/hw/routers/ps133/products_tech_note09186a0080174a34.shtml#topic3

viernes, 21 de agosto de 2009

Implementando SNMPv3 en cisco y monitoreo en CACTI

Para la configuracion de de SNMP v3 en un equipo cisco, la configuracion es relativamente sencilla.


Primero que todo, configuramos una "view" de la siguiente manera, en modo de configuracion global, ejecutamos el siguiente comando

2801-1(config)#snmp-server view lectura iso included

En caso de querer limitar el arbol, podemos ponernos mas intensos y especificar oid por oid ( 100%), de esta manera vamos a evitar que un snmpwalk a nuestro equipo muestre informacion de mas.
Ejm:
snmp-server view lectura 1.3.6.1.2.1.2.2.1.10 included

o tambien ( podemos pasarle el nombre del objeto)

snmp-server view lectura ifInOctets included

Luego de esto, creamos el grupo que va a utilizar la vista que creamos anteriormente

2801-1(config)#snmp-server group sololectura v3 auth read lectura

La v3, hace referencia a que se esta usando la version 3 de snmp, el comando Auth, nos dice que la entidad que hace los snmpgets, snmpwalks, etc. Debe de ser autentificada y por ultimo "read lectura", nos dice que el grupo sololectura va a hacer uso de la vista "lectura".


2801-1(config)#snmp-server user rollingpaper sololectura v3 auth md5 acostanetwork

Por ultimo, creamos el usuario "rollingpaper" que pertenece al grupo "sololectura", y va a usar md5 para autentificacion y por ultimo, configuramos la clave "acosatnetwork"

Listo, como sabemos si funciona?, si tenemos un equipo linux (Si es Debian mucho mejor :P), podemos correl el siguiente comando


rolling:/home# snmpwalk -v3 -u rollingpaper -l authNoPriv -a MD5 -A acostanetwork X.X.X.X .1

Y obtendremos el resultado deaseado, en este caso, puse al final .1 para que camine sobre todo el arbol.

Ejm ( en este ejemplo yo use el objeto iso, por eso recomiendo hacer los "views" por OID, se da demasiada informacion poniendo el nombre de un objeto como "iso" a la hora de un snmpwalk)

rolling:/home# snmpwalk -v3 -u rollingpaper -l authNoPriv -a MD5 -A acostanetwork 192.168.127.84 .1
SNMPv2-MIB::sysDescr.0 = STRING: Cisco IOS Software, 2801 Software (C2801-IPVOICE-M), Version 12.3(11)T6, RELEASE SOFTWARE (fc3)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2005 by Cisco Systems, Inc.
Compiled Fri 03-Jun-05 02:19 by ccai
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.619
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (19653625) 2 days, 6:35:36.25
SNMPv2-MIB::sysContact.0 = STRING:
SNMPv2-MIB::sysName.0 = STRING: 2801-1.yourdomain.com
SNMPv2-MIB::sysLocation.0 = STRING:
SNMPv2-MIB::sysServices.0 = INTEGER: 78
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORID.1 = OID: SNMPv2-SMI::enterprises.9.7.129
SNMPv2-MIB::sysORID.2 = OID: SNMPv2-SMI::enterprises.9.7.115
SNMPv2-MIB::sysORID.3 = OID: SNMPv2-SMI::enterprises.9.7.265
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-SMI::enterprises.9.7.112
SNMPv2-MIB::sysORID.5 = OID: SNMPv2-SMI::enterprises.9.7.106
SNMPv2-MIB::sysORID.6 = OID: SNMPv2-SMI::enterprises.9.7.47
SNMPv2-MIB::sysORID.7 = OID: SNMPv2-SMI::enterprises.9.7.122
SNMPv2-MIB::sysORID.8 = OID: SNMPv2-SMI::enterprises.9.7.135
SNMPv2-MIB::sysORID.9 = OID: SNMPv2-SMI::enterprises.9.7.43
SNMPv2-MIB::sysORID.10 = OID: SNMPv2-SMI::enterprises.9.7.37
SNMPv2-MIB::sysORID.11 = OID: SNMPv2-SMI::enterprises.9.7.92
SNMPv2-MIB::sysORID.12 = OID: SNMPv2-SMI::enterprises.9.7.53
SNMPv2-MIB::sysORID.13 = OID: SNMPv2-SMI::enterprises.9.7.54


Ahora, para agregarlo a Cacti, solo hace falta colocar los siguientes valores, como se muestra en la imagen.







Espero que sea de su agrado,
Saludos

miércoles, 24 de junio de 2009

Conectando back2back routers Cisco. Frame Relay, HDLC y PPP

En estos dias he estado montando un laboratorio de CCNA y he tenido que realizar diferentes conexiones Back2Back entre diferentes routers Cisco. En fin les doy un pequeno resumen. Espero sea util:

1) Back2Back con enlaces seriales
Lo primero que necesitas son dos cables seriales: Uno debe ser DTE (generalmente con conector macho) y el otro debe ser DCE (generalmente con conector hembra)

a) Conectando HDLC (mas facil)
Configuracion del lado donde hayas colocado el cable DCE:

interface Serial0
ip address 10.0.0.1 255.255.255.252
clockrate 64000
no cdp enable

Configuracion del lado donde hayas colocado el cable DTE:

interface Serial1
ip address 10.0.0.2 255.255.255.252
no cdp enable


Notese que la configuracion del cable donde se encuentra el cable DCE debe tener el comando clockrate. Esto es muy necesario porque el router con el cable DTE necesito recibir el reloj porque son enlaces sincronos y es necesario un dispositivo que entregue el reloj a la red.

troubleshooting
#show controller s0
#ping 10.0.0.1
#ping 10.0.0.2
#show interface s0

b) Conectando utilizando Frame Relay (mi recomendacion en caso de un Laboratorio)
El motivo porque recomiendo esta configuracion sobre todo para un laboratorio de Cisco es que te permite crear varios enlaces (PVCs) entre los dos routers lo que te dara mas flexibilidad para tus configuraciones (protocolos de enrutamiento dinamico, suspender un enlace para una prueba, etc)

Configuracion del lado donde hayas colocado el cable DCE:
!
interface Serial0
no ip address
encapsulation frame-relay
no keepalive
clock rate 64000
!
interface Serial0.1 point-to-point
ip address 10.0.01 255.255.255.252
frame-relay interface-dlci 101


Configuracion del lado donde hayas colocado el cable DTE:
!
interface Serial0
no ip address
encapsulation frame-relay
no keepalive
!
interface Serial0.1 point-to-point
ip address 10.0.0.2 255.255.255.252
frame-relay interface-dlci 101


Notese que donde se encuentra el cable DCE tuvo que colocarse nuevamente el comando clockrate para que dicho router diera reloj a la red. En esta oportunidad adicionalmente hubo que colocar el comando no keepalive el cual deshabilita el procesamiento de LMI. Por ultimo, notese que se crearon subinterfaces point-to-point. A pesar de que la configuracion se puede realizar dentro de la interfaz madre (S0) aconsejo realizarlo dentro de la subinterfaz para ganar flexibilidad (por ejemplo, crear nuevas subinterfaces como s0.2, s0.3)

Troubleshooting:
#show interface
#show frame-relay pvc
#show frame-relay map
#ping
#show controller


2) Utilizando las interfaces Aux
Si te encuentras construyendo un Lab seguramente deseeas tener muchas conexiones para realizar muchas pruebas. Algo que puede ser muy util es conectar dos routers back2back utilizando el cable de consola entre dos routers en sus puertos Aux. La configuracion seria la siguiente:

Primo debes averiguar en cada router el numero de la interfaz Async, recomiendo que entres en modo configuracion global e intentes configurar la interfaz async1 a la async5.

En ambos routers lleva una configuracion como esta (ojo con los IPs). Esta configuracion permite IP, protocolos de enrutamiento, etc. Es muy importante que el txspeed en un router sea el rxspeed en el otro y viceversa.

interface Async1
ip address 192.168.10.1 255.255.255.0
encapsulation ppp
async default routing
async mode dedicated
!
line aux 0
modem InOut
transport input all
rxspeed 38400
txspeed 38400
flowcontrol hardware

Troubleshooting:
#show line
#ping


3) Utilizando enthernet

Tan solo es necesario un cable cruzado entre los puertos ethernet de los routers


Suerte y espero haya sido util esta informacion

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...