Seguridad y Redes

Tips & Video Tutoriales, Wifislax, VMware, GNS3, VirtualBox, CCNA, Cisco Routers & Switches, [ Programming ]

Configuración de OSPF en un Cisco 3725 (IOS) y Nexus 7000 (NX-OS)

A continuación, se muestra un ejemplo de configuración básica de OSPF entre un Switch Nexus y un Router 3725. Para habilitar OSPF en el Cisco Nexus se realiza desde la configuración de la interfaz.

Topologia en GNS3.

Habilitamos OSPF
N7K-2(config)# feature ospf
Habilitamos el proceso de OSPF
N7K-2(config)# router ospf 10
N7K-2(config-router)# router-id 10.10.10.1
Habilitamos OSPF en la interface en particular
N7K-2(config)# int ethernet 2/2
N7K-2(config-if)# ip address 10.10.10.1 255.255.255.0
N7K-2(config-if)# no shutdown
N7K-2(config-if)# ip router ospf 10 area 0
N7K-2(config-if)# end
N7K-2#
Configuración de OSPF en el Cisco 3725.
ESW1(config)#interface fastEthernet0/1
ESW1(config-if)#ip add 10.10.10.2 255.255.255.0
ESW1(config-if)#no shutdown

ESW1(config)#interface fastEthernet0/0
ESW1(config-if)#ip add 10.4.4.4 255.255.255.0
ESW1(config-if)#no shutdown
ESW1(config-if)#exit

ESW1(config)#interface loopback2
ESW1(config-if)#ip address 10.3.3.3 255.255.255.0
ESW1(config-if)#end

ESW1#show ip int brief
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            10.4.4.4        YES manual up                    up      
FastEthernet0/1            10.10.10.2      YES manual up                    up      
FastEthernet1/0            unassigned      YES unset  up                    down    
FastEthernet1/14           unassigned      YES unset  up                    down    
FastEthernet1/15           unassigned      YES unset  up                    down    
Vlan1                      unassigned      YES unset  up                    down    
Loopback1                  10.2.2.2        YES manual up                    up      
Loopback2                  10.3.3.3        YES manual up                    up      

ESW1(config)#router ospf 10
ESW1(config-router)#network 10.10.10.0 0.0.0.255 area 0
*Mar  1 00:06:10.307: %OSPF-5-ADJCHG: Process 10, Nbr 10.10.10.1 on FastEthernet0/1 from LOADING to FULL, Loading Done
ESW1(config-router)#networ 10.4.4.0 0.0.0.255 area 0
ESW1(config-router)#

Verificación
ESW1#show ip ospf neighbor 

Neighbor ID     Pri   State           Dead Time   Address         Interface
10.10.10.1        1   FULL/BDR        00:00:33    10.10.10.1      FastEthernet0/1
ESW1


ESW1#show cdp neighbors detail 
-------------------------
Device ID: N7K-2(Nexus-Switch)
Entry address(es): 
  IP address: 10.10.10.1
Platform: Nexus-Switch,  Capabilities: Router Switch IGMP 
Interface: FastEthernet0/1,  Port ID (outgoing port): Ethernet2/2
Holdtime : 165 sec

Version :
Cisco Nexus Operating System (NX-OS) Software, Version 5.1(2)

advertisement version: 2
Duplex: full

ESW1#
Verificación en el Cisco Nexus
N7K-2# show ip route
IP Route Table for VRF "default"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]

10.4.4.0/24, ubest/mbest: 1/0
    *via 10.10.10.2, Eth2/2, [110/50], 00:00:11, ospf-10, intra
10.10.10.0/24, ubest/mbest: 1/0, attached
    *via 10.10.10.1, Eth2/2, [0/0], 00:01:52, direct
10.10.10.1/32, ubest/mbest: 1/0, attached
    *via 10.10.10.1, Eth2/2, [0/0], 00:01:52, local
N7K-2#

N7K-2# show ip ospf neighbors
 OSPF Process ID 10 VRF default
 Total number of neighbors: 1
 Neighbor ID     Pri State            Up Time  Address         Interface
 10.3.3.3          1 FULL/DR          00:00:09 10.10.10.2      Eth2/2


N7K-2# ping 10.10.10.2
PING 10.10.10.2 (10.10.10.2): 56 data bytes
64 bytes from 10.10.10.2: icmp_seq=0 ttl=254 time=10 ms
64 bytes from 10.10.10.2: icmp_seq=1 ttl=254 time=10 ms
64 bytes from 10.10.10.2: icmp_seq=2 ttl=254 time=10 ms
64 bytes from 10.10.10.2: icmp_seq=3 ttl=254 time=10 ms
64 bytes from 10.10.10.2: icmp_seq=4 ttl=254 time=10 ms

--- 10.10.10.2 ping statistics ---
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min/avg/max = 10/10/10 ms
N7K-2#

N7K-2# ping 10.4.4.4
PING 10.4.4.4 (10.4.4.4): 56 data bytes
64 bytes from 10.4.4.4: icmp_seq=0 ttl=254 time=10 ms
64 bytes from 10.4.4.4: icmp_seq=1 ttl=254 time=10 ms
64 bytes from 10.4.4.4: icmp_seq=2 ttl=254 time=0 ms
64 bytes from 10.4.4.4: icmp_seq=3 ttl=254 time=0 ms
64 bytes from 10.4.4.4: icmp_seq=4 ttl=254 time=10 ms

--- 10.4.4.4 ping statistics ---
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min/avg/max = 0/6/10 ms
N7K-2#

GNS3, impresionado con idlepc + idlemax

Todo iba muy bien con el uso de GNS3 en Windows, hasta que me encontré con una topologia de 8 routers corriendo OSPF, donde no podía configurar OSPF en el router 7 y 8, ya que el uso del CPU de mi maquina se disparaba al 100%. Aunque busque la forma de encontrar un mejor idle-pc, seguía al 100%. Lo que hice fue dejar el tema con solo 6 router corriendo OSPF y seguir con la practica aunque incompleta. Por cierto esto no paso con los protocolos de enrutamiento como RIP y EIGRP, en estos escenarios si pude configurar correctamente RIP y EIGRP en los 8 routers sin ningún problema. El problema fue al configurar OSPF.

Después de unos días, leyendo en algunos blogs, específicamente en el blog de Daniel Dib, me encontré con un valor interesante para reducir drásticamente el uso del CPU.

El valor se llama idlemax que esta relacionado con el famoso valor idle-pc, para reducir muy drásticamente el uso del CPU, el secreto es utilizar los dos valores (idlepc + idlemax). Como en mi laboratorio de OSPF tenia problemas de inestabilidad, así que decidí probar este valor agregándolo al archivo de configuración .net y estos fueron mis impresiones.

La siguiente imagen muestra mi topologia en GNS3 ejecutando Frame Relay entre en el R1, R2 y R3. También corriendo OSPF del R1 al R6, sin configurar R7 y R8. Pongan detalle en el uso del CPU.

El 89% de uso del CPU.
Configuración del Archivo .net.
autostart = False
[127.0.0.1:7000]
workingdir = OSPFr6_working
udp = 10000
[[3660]]
image = C:\Program Files\GNS3\ios\c3660-ik9o3s-mz.124-13b.bin
idlepc = 0x6051169c
ghostios = True
chassis = 3660
Ahora veamos la gran diferencia utilizando idlepc + idlemax.

Solo el 3% utilizando idlepc + idlemax.

Configuración del Archivo .net (uso de idlepc + idlemax).
autostart = False
[127.0.0.1:7000]
workingdir = OSPFr6_working
udp = 10000
[[3660]]
image = C:\Program Files\GNS3\ios\c3660-ik9o3s-mz.124-13b.bin
idlepc = 0x6051169c
idlemax = 100
ghostios = True
chassis = 3660
Me he quedado impresionado!!. Sin duda es muy útil el usar idlepc + idlemax. Espero que todo salga bien con su topologia.

Referencias:
Drastically decreasing CPU load in Dynamips
How to minimize CPU utilization when using Dynamips/GNS3 (idlepc + idlemax)