fryguypa

Archive for November, 2010|Monthly archive page

Clearing hung TCP session on a Cisco router

In Uncategorized on November 19, 2010 at 08:34

While going through some of my old notes I came across some notes from a few years ago on hung TCP sessions on some of our routers. These hung sessions where due to the latency differences on a Multi-link T1 connection that was in place.  Below are the notes (generalized IP and Names) on how to detect and reset these connections.It is my hope for you to never have to use these commands, but since there is little out there on them I figured I would share.

1) We saw this error (connection queue limit reached) on the terminating gateway (10.10.3.5) during an incoming call attempt:

R1#
R1#debug ip tcp trans
TCP special event debugging is on
R1#term mon
R1#
Mar  6 04:49:55 PHL: TCP0: bad seg from 10.11.3.20 — connection queue limit reached: seq 3379916701 ack 0 rcvnxt 0 rcvwnd 4128 len 0
Mar  6 04:49:57 PHL: TCP0: bad seg from 10.11.3.20 — connection queue limit reached: seq 3379916701 ack 0 rcvnxt 0 rcvwnd 4128 len 0
Mar  6 04:50:01 PHL: TCP0: bad seg from 10.11.3.20 — connection queue limit reached: seq 3379916701 ack 0 rcvnxt 0 rcvwnd 4128 len 0
Mar  6 04:50:09 PHL: TCP0: bad seg from 10.11.3.20 — connection queue limit reached: seq 3379916701 ack 0 rcvnxt 0 rcvwnd 4128 len 0

R1#

2) Take a look at: 

R1#sh tcp brief
TCB       Local Address   Foreign Address        (state)
6353F5E8 10.10.3.5.1720   10.11.3.24.12871      SYNRCVD
63555A14 10.10.3.5.1720   10.11.3.23.12814      SYNRCVD
6353AEFC 10.10.3.5.1720   10.11.3.24.12872      SYNRCVD
6350B2DC 10.10.3.5.1720   10.11.3.24.12875      SYNRCVD
63488D44  10.10.3.5.23    10.11.3.23.11265      ESTAB
63571718 10.10.3.5.1720   10.11.3.24.12914      SYNRCVD
All of the TCB's associated with TCP port 1720 are 'hung' (SYNRCVD).
The associated TCP Control Block (TCB) are highlighted in a PINKISH colour.

3) To clear them, clear the associated TCB:

R1#clear tcp tcb 6353F5E8
[confirm]y
[OK]

R1#
R1#clear tcp tcb 63555A14
[confirm]y
[OK]

R1#
R1#clear tcp tcb 6353AEFC
[confirm]y
[OK]

R1#
R1#clear tcp tcb 6350B2DC
[confirm]y
[OK]

R1#
R1#clear tcp tcb 63571718
[confirm]y
[OK]

R1#

And the router started processing calls again.

R1#
Advertisements

Type 7 password decryption via IOS router (? bonus)

In Uncategorized on November 18, 2010 at 08:28

I have seen a few posts out there about this as well as links to sites that will decrypt a Cisco type 7 password.  Since I am trying to share what I know I figured I might as well throw my hat into the ring and include this information here.

If you have a type 7 enable password such as : enable password 7 00331A0A087D071F012F7F5B1B0F0C011754 and want to decrpyt it, all you need is another router that you can get to enable (priv 15) access on and configuration mode.

Enter configuration mode and create a key-chain. For the key-string, tell it type 7 and cut-and-past the encrypted key

Rack1R6(config)#key chain DecrpytThis
Rack1R6(config-keychain)#key 1
Rack1R6(config-keychain-key)#key-string 7 00331A0A087D071F012F7F5B1B0F0C011754

Then all you have to do from a command prompt is issue show key chain

Rack1R6#sh key chain
Key-chain DecrpytThis:
key 1 — text “WillFlynnSurvive?
accept lifetime (always valid) – (always valid) [valid now]
send lifetime (always valid) – (always valid) [valid now]
Rack1R6#

As you can see here, the password is WillFlynnSurvive?

This works for any Type 7 password, including users.  Below I have done a show run | inc user and they added Key 2 with he user type 7 password.

Rack1R6#sh run | inc user
username Flynn privilege 15 password 7 0478071303245F5D
Rack1R6#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Rack1R6(config)#key chain DecryptThis
Rack1R6(config-keychain)#key 2
Rack1R6(config-keychain-key)#key-string 7 0478071303245F5D
Rack1R6(config-keychain-key)#^Z
Rack1R6#sh key chain
Key-chain DecrpytThis:
key 1 — text “WillFlynnSurvive?”
accept lifetime (always valid) – (always valid) [valid now]
send lifetime (always valid) – (always valid) [valid now]
Key-chain DecryptThis:
key 2 — text “Cluless
accept lifetime (always valid) – (always valid) [valid now]
send lifetime (always valid) – (always valid) [valid now]
Rack1R6#

As you can see, the password for Key 2 ( the user one we just added ) is Cluless

 

Now, I am not sure if you noticed but for the first example the password is WillFlynnSurvive? – yes, that is a question mark in the password.  If you want to use a question mark as part of your password, you need to enter ctrl-v prior to typing the question mark in the password or the IOS will think you are looking for help. Old dirty CCIE lab prep tricks there.

 

 

Cisco Embedded Event Manager and its usefullness for TAC

In Uncategorized on November 16, 2010 at 12:49

A few years ago I had a TAC case open with Cisco.  The case was centered around an unusually high CPU condition on a Cisco 3800ISR series router.  This router was only routing traffic between the Ethernet interfaces, doing some SNAT (stateful NAT), and basic BGP routing – so the CPU should not have been in the 90%+ range.  Well, TAC wanted me to run some commands every 60 minutes 24×7 for a few days to see what was going on.  Now we all now that that is not an easy thing to do, so what I decided to do was grab an existing EEM script from Cisco’s website and modify it to provide all the information that the TAC engineer wanted.

Needless to say, the case was solved about 2 days later when we upgraded the code per their suggestion because of the identification of the bug. 🙂  I am guessing that having a router send you the logs and command output every hour either provided them the information they needed, or more likely, the engineer realized that  – well, you know.

So, for this post I have decided to post the EEM configuration as well as the EEM script in case you ever need to do something similar.  If I can save you some time, I am all for that.  I still use this script today – albeit in a different manner.  I now use it to get “Daily Health Checks” from the routers in the field.  Every day at noon they send me standard output commands so that we can check on them without having to log into each and every one of them.

So, without further typing – here is the script broken down: (to download this script, you can click here – HealthCheck_BLOG.tcl

Router Configuration:

First thing we will need to do is configure the Event Manager variables on the router:
The variables that we will use are:

  • Mail Server (SMTP) – 10.11.11.254
  • Receipt E-Mail address – Flynn@Domain.Com
  • From E-Mail address – CluRouter@Domain.Com
  • TCL file location – flash:/
  • User who runs the eem – eem_user

First we configure the EEM Environment using the event manager commands
Router(config)#event manager environment _email_server 10.11.11.254
Router(config)#event manager environment _email_to Flynn@Domain.Com
Router(config)#event manager environment _email_from CluRouter@Domain.Com
Router(config)#event manager directory user policy “flash:/”
Router(config)#event manager session cli username “eem_user”
!
Next we define the scheduling of this command (here at 16:00 every day)
Router(config)#kron occurrence Daily at 16:00 recurring
Router(config)#policy-list HealthCheck_BLOG
!

Now we can device that happens when this KRON job is run.
Router(config)#kron policy-list HealthCheck_BLOG
Router(config)#cli event manager run HealthCheck_BLOG.tcl
!

Lastly we can define the policy
Router(config)#event manager policy HealthCheck_BLOG.tcl
!

———————————————————————-
EEM Script section
———————————————————————-

This .tcl (originally was sendmail.tcl) file was taken from Cisco’s website and then modified.  I will explain only what I have modified in order to accomplish the task of sending logs.

The sections that I have modified are:
#———————– “show commands” —————-
#———————– send mail ———————-

Under the Show Commands section:
To display the clock and store the results in $result:

if [catch {cli_exec $cli(fd) “show clock”} result] {
error $result $errorInfo
}
set show_clock $result

To display the show ip interfaces and store the results in show_ip_interfaces

if [catch {cli_exec $cli(fd) “show ip interfaces”} result] {
error $result $errorInfo
}
set show_ip_interfaces $result

To show the command show align and store the results in the show_align variable
if [catch {cli_exec $cli(fd) “show align”} result] {
error $result $errorInfo
}
set show_align $result

To execute the command show buffers gig 0/0 dump and store in show_buffers_gig_0_0
if [catch {cli_exec $cli(fd) “show buffers gig 0/0 dump”} result] {
error $result $errorInfo
}
set show_buffers_gig_0_0 $result

Now to send the mail most of the variables where defined in the EEM environment originally, all that I had to do was the subject and body

#———————– send mail ———————-
#
# create mail form
action_syslog msg “Creating mail header…”
set body [format “Mailservername: %s” “$_email_server”]
set body [format “%s\nFrom: %s” “$body” “$_email_from”]
set body [format “%s\nTo: %s” “$body” “$_email_to”]
set _email_cc “”
set body [format “%s\nCc: %s” “$body” “”]

#setting the subject
set body [format “%s\nSubject: %s\n” “$body” “SR TAC CASE NUMBER – $routername…”]

#outputting the command output into the e-mail body
set body [format “%s\n%s” “$body” “The body of your msg goes here…”]
set body [format “%s\n%s” “$body” “Report Summary:”]
set body [format “%s\n%s” “$body” ”   – Show Clock”]
set body [format “%s\n%s” “$body” ”   – Show ip interfaces”]
set body [format “%s\n%s” “$body” ”   – Show align”]
set body [format “%s\n%s” “$body” ”   – Show buffers gig 0/0 dump”]
set body [format “%s\n\n%s” “$body” “———- Show Clock———-“]
set body [format “%s\n\n%s” “$body” “$show_clock”]
set body [format “%s\n\n%s” “$body” “———- Show IP Interfaces ———-“]
set body [format “%s\n\n%s” “$body” “$show_ip_interfaces “]
set body [format “%s\n\n%s” “$body” “———- Show Align ———-“]
set body [format “%s\n\n%s” “$body” “$show_align”]
set body [format “%s\n\n%s” “$body” “———- Show buffers gig 0/0 dump ———-“]
set body [format “%s\n\n%s” “$body” “$show_buffers_gig_0_0”]

Below is a pure dump of the script if you want to look at it in its raw format

###############################################################################################################
#
#     Daily Health Check TCL Script taken from Cisco.Com web site
#
#    Update by Jeff Fry – 9/23/2008
#
###############################################################################################################

# Useful event registration tcl command extensions
# None
::cisco::eem::event_register_none queue_priority low nice 1 maxrun 600
# Watchdog Timer
#::cisco::eem::event_register_timer watchdog name errimt time $errim_period queue_priority low nice 1
# Syslog
#::cisco::eem::event_register_syslog occurs 1  pattern .*STANDBY.*STATECHANGE.* maxrun 90 queue_priority low nice 1
# Object Tracking
#::cisco::eem::event_register_track 1 state up queue_priority low nice 1
# Interface
#::cisco::eem::event_register_interface name $intf parameter txload entry_op ge entry_val 192 entry_val_is_increment FALSE queue_priority low nice 1
# Cron Job
#::cisco::eem::event_register_timer cron name test cron_entry “0 * * * *” queue_priority low nice 1 maxrun 20

#
# Namespace imports
#
namespace import ::cisco::eem::*
namespace import ::cisco::lib::*

#— Check required environment variable(s) has been defined

if {![info exists _email_server]} {
set result “EEM Policy Error: variable $_email_server has not been set”
error $result $errorInfo
}

if {![info exists _email_to]} {
set result “EEM Policy Error: variable $_email_to has not been set”
error $result $errorInfo
}

if {![info exists _email_from]} {
set result “EEM Policy Error: variable $_email_from has not been set”
error $result $errorInfo
}

#——————  hostname        ——————-
set routername [info hostname]

#
#——————-   ” cli open”   ——————-
#
if [catch {cli_open} result] {
error $result $errorInfo
} else {
array set cli $result
}

#————— end of  “cli open”   ——————-

#
#———————– “show commands” —————-
#
if [catch {cli_exec $cli(fd) “enable”} result] {
error $result $errorInfo
}

if [catch {cli_exec $cli(fd) “show clock”} result] {
error $result $errorInfo
}
set show_clock $result

if [catch {cli_exec $cli(fd) “show ip interfaces”} result] {
error $result $errorInfo
}
set show_ip_interfaces $result

if [catch {cli_exec $cli(fd) “show align”} result] {
error $result $errorInfo
}
set show_align $result

if [catch {cli_exec $cli(fd) “show buffers gig 0/0 dump”} result] {
error $result $errorInfo
}
set show_buffers_gig_0_0 $result

#———————- end of show commands ————

#
#———————– “enable” ———————-
#
if [catch {cli_exec $cli(fd) “enable”} result] {
error $result $errorInfo
}

#
#———————– send mail ———————-
#
# create mail form
action_syslog msg “Creating mail header…”
set body [format “Mailservername: %s” “$_email_server”]
set body [format “%s\nFrom: %s” “$body” “$_email_from”]
set body [format “%s\nTo: %s” “$body” “$_email_to”]
set _email_cc “”
set body [format “%s\nCc: %s” “$body” “”]
set body [format “%s\nSubject: %s\n” “$body” “SR TAC CASE NUMBER – $routername…”]

set body [format “%s\n%s” “$body” “The body of your msg goes here…”]
set body [format “%s\n%s” “$body” “Report Summary:”]
set body [format “%s\n%s” “$body” ”   – Show Clock”]
set body [format “%s\n%s” “$body” ”   – Show ip interfaces”]
set body [format “%s\n%s” “$body” ”   – Show align”]
set body [format “%s\n%s” “$body” ”   – Show buffers gig 0/0 dump”]
set body [format “%s\n\n%s” “$body” “———- Show Clock———-“]
set body [format “%s\n\n%s” “$body” “$show_clock”]
set body [format “%s\n\n%s” “$body” “———- Show IP Interfaces ———-“]
set body [format “%s\n\n%s” “$body” “$show_ip_interfaces “]
set body [format “%s\n\n%s” “$body” “———- Show Align ———-“]
set body [format “%s\n\n%s” “$body” “$show_align”]
set body [format “%s\n\n%s” “$body” “———- Show buffers gig 0/0 dump ———-“]
set body [format “%s\n\n%s” “$body” “$show_buffers_gig_0_0”]

if [catch {smtp_send_email $body} result] {
action_syslog msg “smtp_send_email: $result”
}

action_syslog msg “E-mail sent!”
#—————— end of send mail ——————–

#
#——————— cli close ————————
#
cli_close $cli(fd) $cli(tty_id)

# eeeeeeeeeeeeeeeeeeeeeeeeeeee    End of sendmail.tcl eeeeeeeeeeeeeeeeeeeeee

Cisco IP Router DHCP Server and Client

In Uncategorized on November 15, 2010 at 14:15
Configuring DHCP on routers is not something that is normally
done in a production network.  Typically in a production network
DHCP servers are either Windows, Linux, or some other vendors
implementation.  Occasionally you will need to configure a Cisco
device to provided DHCP for initial purposes - say a new location
build-out, a lab network, or even just perhaps for your home
networking.

For this post, I will show you how to:
 - Configure your route to be a DHCP Server
 - Configure your router to be a client
 - Configure DHCP Reservations for a specific client
 - Release / Renew your DHCP lease
 - Configure DHCP options (150 for example)

Here is the network information we are going to use:

 Network   - 192.168.1.0/24
 Gateway   - 192.168.1.1
 DNS       - 192.168.1.2 and 192.168.1.3
 Domain    - FryGuyLab.Net
 Cisco UCM - 192.168.1.5 and 192.168.1.6
 WINS      - 192.168.1.2
 Node Type - Hybrid



So, first lets setup the DHCP Server router (R2)

Rack1R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Rack1R2(config)#ip dhcp pool DHCP_POOL_1
Rack1R2(dhcp-config)#network 192.168.1.0 /24
Rack1R2(dhcp-config)#default-router 192.168.1.1
Rack1R2(dhcp-config)#dns-server 192.168.1.2 192.168.1.3
Rack1R2(dhcp-config)#domain-name FryGuyBlog.Net
Rack1R2(dhcp-config)#option 150 ip 192.168.1.5 192.168.1.6
Rack1R2(dhcp-config)#netbios-node-type h-node
Rack1R2(dhcp-config)#netbios-name-server 192.168.1.2
Rack1R2(dhcp-config)#exit

Now, don't forget to exclude addresses if necessary. 
Here will exclude 192.168.1.1 - 192.168.1.10

Rack1R2(config)#ip dhcp excluded-address 192.168.1.1 192.168.1.10
Rack1R2(config)#

Now we can go over to R1 and configure DHCP and then enable
the G0/0 interface on the router.

Rack1R1#show run int g0/0
Building configuration...

Current configuration : 103 bytes
!
interface GigabitEthernet0/0
 no ip address
 shutdown
 duplex auto
 speed auto
 media-type rj45
end

Now we can configure the interface:

Rack1R1(config)#int g0/0
Rack1R1(config-if)#ip address dhcp
Rack1R1(config-if)#no shut
Rack1R1(config-if)#exit
Rack1R1(config)#exit
Rack1R1#
*Nov 15 18:37:55.302: %SYS-5-CONFIG_I: Configured from console
 by console
*Nov 15 18:37:56.102: %LINK-5-CHANGED: Interface GigabitEthernet0/0,
changed state to reset
Rack1R1#
*Nov 15 18:37:58.866: %LINK-3-UPDOWN: Interface GigabitEthernet0/0,
changed state to up
*Nov 15 18:37:59.866: %LINEPROTO-5-UPDOWN: Line protocol on Interface
GigabitEthernet0/0, changed state to up
Rack1R1#
*Nov 15 18:38:05.490: %DHCP-6-ADDRESS_ASSIGN: Interface GigabitEthernet0/0
 assigned DHCP address 192.168.1.13, mask 255.255.255.0, hostname Rack1R1

As you can see, we received a DHCP address of 192.168.1.13/24 from the
server. To check the DHCP Lease information on the client, issue the
show dhcp lease command

Rack1R1#show dhcp lease
Temp IP addr: 192.168.1.13  for peer on Interface: GigabitEthernet0/0
Temp  sub net mask: 255.255.255.0
 DHCP Lease server: 192.168.1.1, state: 3 Bound
 DHCP transaction id: 859
 Lease: 86400 secs,  Renewal: 43200 secs,  Rebind: 75600 secs
Temp default-gateway addr: 192.168.1.1
 Next timer fires after: 11:58:27
 Retry count: 0   Client-ID: cisco-001c.f6e6.6a90-Gi0/0
 Client-ID hex dump: 636973636F2D303031632E663665362E
 366139302D4769302F30
 Hostname: Rack1R1

Now to check the connectivity, lets PING the other router:
Rack1R1#ping 192.168.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

Rack1R1#

To check the active leases on the server, issue the sh ip dhcp
binding command:
Rack1R2#sh ip dhcp binding
Bindings from all pools not associated with VRF:
IP address          Client-ID/              Lease expiration        Type
 Hardware address/
 User name
192.168.1.13        0063.6973.636f.2d30.    Nov 16 2010 06:25 PM    Automatic
                    3031.632e.6636.6536.
                    2e36.6139.302d.4769.
                    302f.30
Rack1R2#

Now for reservations. 
We will configure the DHCP server (R2) to assign 192.168.1.254/24
 to R3's F0/0 interface.

On the DHCP Server (R2) - configure a special DHCP pool just
for that client:

Rack1R2#conf t
Rack1R2(config)#ip dhcp pool R3
Rack1R2(config)#host 192.168.1.254 255.255.255.0
Rack1R2(config)#client-identifier 0100.0bfd.5661.e0

To find out the Cleint Identifier to use, on R3 look at the Fa0/0
MAC address and then pre-pend 01 to the mac address. 
(see IETF RFC1700 Hardware table below)

Rack1R3#sh int f0/0
FastEthernet0/0 is up, line protocol is up
 Hardware is AmdFE, address is 000b.fd56.61e0 

On R3, configure the Fa0/0 interface as follows:
Rack1R3(config)#interface FastEthernet0/0
Rack1R3(config)#ip address dhcp client-id FastEthernet0/0
Rack1R3(config)#no shut
Rack1R3(config)#exit
Rack1R3#

You will then see:
*Mar 13 23:29:28.142: %DHCP-6-ADDRESS_ASSIGN: Interface FastEthernet0/0
assigned DHCP address 192.168.1.254, mask 255.255.255.0, hostname Rack1R3

And on R2 you will see under the DHCP binding:
Bindings from all pools not associated with VRF:
IP address          Client-ID/              Lease expiration        Type
 Hardware address/
 User name
192.168.1.13        0063.6973.636f.2d30.    Nov 16 2010 06:25 PM    Automatic
 3031.632e.6636.6536.
 2e36.6139.302d.4769.
 302f.30
192.168.1.254       0100.0bfd.5661.e0       Infinite                Manual
Rack1R2#

IETF Hardware Table from RFC1700
http://www.ietf.org/rfc/rfc1700.txt

Number Hardware Type (hrd)                           References
------ -----------------------------------           ----------
 1 Ethernet (10Mb)                                    [JBP]
 2 Experimental Ethernet (3Mb)                        [JBP]
 3 Amateur Radio AX.25                                [PXK]
 4 Proteon ProNET Token Ring                          [JBP]
 5 Chaos                                              [GXP]
 6 IEEE 802 Networks                                  [JBP]
 7 ARCNET                                             [JBP]
 8 Hyperchannel                                       [JBP]
 9 Lanstar                                             [TU]
 10 Autonet Short Address                             [MXB1]
 11 LocalTalk                                         [JKR1]
 12 LocalNet (IBM PCNet or SYTEK LocalNET)             [JXM]
 13 Ultra link                                        [RXD2]
 14 SMDS                                              [GXC1]
 15 Frame Relay                                        [AGM]
 16 Asynchronous Transmission Mode (ATM)              [JXB2]
 17 HDLC                                               [JBP]
 18 Fibre Channel                            [Yakov Rekhter]
 19 Asynchronous Transmission Mode (ATM)      [Mark Laubach]
 20 Serial Line                                        [JBP]
 21 Asynchronous Transmission Mode (ATM)              [MXB1]

Now, if you need to force release an IP address on a client, you can issue the command:

Rack1R1# release dhcp g0/0

If you need to renew the address, you can use the command

Rack1R1# renew dhcp g0/0

IP Expert CCIE SP Class last week

In Uncategorized on November 13, 2010 at 16:28

Well, finally had a chance to take a Cisco CCIE Service Provider class last week – and I am very glad I did.  I know I was not ready for the lab when I took it the other month, and it was my hope that this class would help me fill in the pieces.  I have to say, I feel much better about what I know and what I need to brush up on.

Many of the more complex topics are now much easier to understand and configure. The way that Marko explained and diagramed the concepts was wonderful.  He knows his stuff, and what really helped is that he has some real-world experience in deploying these technologies.  He is able to articulate them into a real-world deployment, so understanding the concept (Multicast for example) makes much more sense when you can relate it to something you understand.  It was a loooooong week of class with few breaks.

Each day was about 12 hours long – some lecture some labbing.  The lecture was not “power-point waterboarding” but more of interactive communication and understanding.  He would take a topic, explain it in lecture, and then actually configure it on the screen.  We broke configs, tweaked configs, and even reinterpreted things in order to see if we could get them work in alternate ways (when the possibility existed).  After he would show us the topic and configs, it was then up to us to do our labs for a few hours.

At first these labs looked easy, but you quikly realized that they where not.  You had to really read and understand what they where asking.  What is nice about that is that is how the real test is rumored to be.  At first it might look easy, but you need to understand it to realize what they are asking.  What was also nice about this was that it really helped you learn and understand a topic and topology.  You needed to understand the interactions between the technologies as to not break something you have already done.

The final two labs you get to do are 8-hours (yeah right) labs. These labs are close to what you can expect on the real lab  in the ways of complexity and such, so they are a good guage at your understanding of the topics.  I did not finish my first lab during class and, unfortunately, had to skip out on the second one (Friday).  I would have loved to spend the day there doing the lab but instead chose to get home to family.  Since I have the lab workbook from class, I will so do the second lab one this week and see what happens.

All in all I am very glad I was able to attend the class, I learned alot, but best of all – met some great people who also have the same goal to pass the SP lab.

 

 

 

 

 

 

 

Day one of CCIE SP Class

In Uncategorized on November 8, 2010 at 09:06

Well, today is the day – first day for CCIE SP Class.

off to class!

In Uncategorized on November 7, 2010 at 08:20

Well, today is the day. I am heading out to Columbus, OH to attend a CCIE SP bootcamp class hosted by IPExpert. Looking forward to this as I know there are some things I need to learn.

I am not taking the CCIE SP test just to get “another CCIE” but to actually learn more about the technology and how I can apply it to the place I work at.

CCIE SP Bootcamp scheduled

In Uncategorized on November 3, 2010 at 15:49

Been a little quiet lately, trying to brush up on things and get ready for class next week.  I have a CCIE Service Provider bootcamp scheduled with IPExpert on 11/8-12 in Columbus, OH. Really looking forward to the class, especially since Marko (@icemarkon on Twitter) is one of the teachers.

See what happens!  I will post my thoughts and reflections once the class is complete.

 

 

 

%d bloggers like this: