Thursday, September 14, 2023

DEVCOR - Infrastructure as Code - Puppet Commands

 Over the next series of blog posts I'm going to set out the commands required in order is install and run Infrastructure as Code solutions - Puppet, Chef, Ansible, Terraform.

I'm not going to go in to any depth on explanations per say, these are meant to be command guide posts allowing you to ensure you have correct sequence of events in mind and can easily identify answers if they ask 'Which command do you use to execute XYZ' or perhaps a drag and drop type question stating 'Put these commands in the correct order'

So lets start with Puppet.

Assume we are installing the server and agent on Ubuntu servers. 

1) Download Puppet using wget:
 $ wget https://apt.puppet.com/puppet7-release-focal.deb

2) Install Puppet with dpkg utility:
 $ sudo dpkg -i puppet7-release-focal.deb

3) Run an update to ensure you have all the latest package information:
 $ sudo apt-get update

4) Install the Puppet Server:
$ sudo apt-get install puppetserver

5a) Start the Puppet Server service:
$ sudo systemctl start puppetserver
$ sudo systemctl enable puppetserver

5b) Check the Puppet Service is running:
$ sudo systemctl status puppetserver

Puppet Server is now installed.

Now lets install the Puppet Agent, go to your server/destination that will be running the agent.

1) Install the Puppet Agent
$ sudo apt-get install puppet-agent

2a) Add the package binaries to the Ubuntu executable path, first run the Puppet Agent profile script
$ source /etc/profile.d/puppet-agent.sh

2b) Next, check the executable path is as expected:
$ echo $PATH
      *Note output should contain - : /opt/puppetlabs/bin - at the end of the line.

3) Confirm Puppet is install correctly and check the version is as expected:*
$ puppetserver -v
$ puppet -V
$ puppet agent -V

       * Note - the lowercase v for the puppetserver cmd and the uppercase V for the puppet cmds.

4a) Configure the Puppet Server destination that the Puppet Agent targets:
$ sudo puppet config set server puppetserver.networkstudies.co.uk
* obviously set this to whatever your server FQDN is

4b) Confirm this is correct by checking the puppet.conf file:
$ cat /etc/puppetlabs/puppet/puppet.conf

5) Start the Puppet Agent service:
$ sudo puppet reseource service puppet state-running

6) Test the Puppet Agent connectivity
$ sudo puppet agent --test

Monday, June 12, 2023

CCNA - Starting Out For Free (...or at least very nearly...)

 Over on the Learning Network some one asked how to get started with studying the CCNA.

I thought I'd post my reply here as well in case it can be of help to any one.

'Assuming you're starting out from scratch, if you work in an environment that has its own IT dept or even better a Networks team, start speaking to them. Find out what tech they use, what systems are used to monitor the tech and what new technologies are being looked at for the future. This gives you your focus.

Next, what to study.

 

There are no prerequisites to studying and passing the CCNA exam.

 

In an ideal world I would recommend you ask your employer to fund a place at your local Networking Academy on a CCNA course. Its a fantastic training program and really sets out the ground work that all other networking builds upon.

 

If you're self funding, then there are loads of free/ low cost resources you can access.

 

The hardest part is trying to determine where to start? You want to be fully prepared to be able to sit and pass the CCNA exam. So I recommend you start by checking out the exam topics here. Now you have a list of topics you can start making a plan to study each area.

 

If you can, buy the CCNA Official Cert Guide which has sample questions and provides a framework to cover the topics being tested in the exam.

 

The Learning Network has a fantastic CCNA Learning Plan that you can work through in preparation for your exam.

 

Lean on this community, keep an eye on the CCNA community pages. Watch the CCNA training series here (again for free).

 

Check out the free tier on CiscoU - work through the Automation learning path which will set you on a path for automating networks and future proofing your skills.

 

YouTube has loads of free CCNA courses. I recommend David Bombal's Complete CCNA Course or Network Chuck's free CCNA course

 

You can practice building networks and study packets as they move across the network using Packet Tracer from the Network Academy.

 

You can practice the technologies covered in the exam topics for free at the Cisco DevNet website. There are labs, learning paths and tutorials all for free that can help with preparing you for the CCNA exam.

 

Finally, you will need to know your subnetting. On the exam there will be loads of questions such as 'Which network is this host IP on?' or 'How many hosts can you have on this network?' These type of questions provide an opportunity to gain easy marks and can be answered quickly if you know your subnetting.

 

Practice, Practice, Practice! you can access subnetting questions here and aim to be able to answer any subnetting question within 20 seconds. You can gain easy marks and recover time on the exam to use up on harder questions.'

Friday, February 19, 2021

DEVNET - My DevNet Journey - 1 year in!

 It's been just over a year since my first Cisco Live and my introduction to the new DevNet certification track.

Since then I've managed to cover so much and looking back I've got to say I'm really proud with myself on how far I've come.

From a standing start, knowing little of network automation or the technologies associated with it, I have:

  • Completed Hank Prestons Programming Fundementals course
  • Completed the DevNet Fundementals online training course
  • Completed Nick Russo's DevNet Associate Path on PluralSight.com
  • Completed many Cisco DevNet Sandbox's
  • Sat and passed the Cisco Certified DevNet Associate exam
  • Joined the Cisco DevNet Class of 2020

As I look forward to the rest of 2021, I'm thinking about what's next and how I can utilise my studies at work. 

I'm aware one of the business objectives in my team will be to adopt 'network automation' - what manner that will take has not been defined yet so I have a real opportunity to get in at the ground level help move the business processes forward.

Wth that in mind I plan to set out new list of personal targets to take me to 2022 and beyond. 

In no particular order:
  • Get hands on with Ansible, YAML and gain an understanding of Ansible Tower
  • Look into CI/CD pipeline, in particular Jenkins
  • Get a better handle on GitHub and Git, and tidy up my repo
  • Keep working on the Cisco DevNet Sandboxes to keep the DEVASC skills fresh
  • Consider the DevNet Professional certfication in order to renew my CCNP before 2023
Exciting times ahead.

All the best with your studies and keep moving forward.

Monday, September 14, 2020

DEVNET - DevNet Fundamentals Course - Done

 After just short of 6 months I'm pleased to say that I've completed the DevNet Fundamentals course on DevNet.

I really enjoyed the content and found the course flowed well.

As a fundamentals course it outlines a particular area, such as NETCONF, and outlines its main attributes and you generally get started.

Early in the course it introduces Python. Whilst the course does offer insight in to Python I would say its really not covered in any depth and you need to plan to study this separately. I'm going to start 'Automating the Boring Stuff' and take it from there. 

Another topic introduced but not covered in as much depth as I would have liked is application testing. Various testing concepts were presented such as UnitTest and PyTest but I didn't feel I was comfortable with the foundations at the end of topics. I suspect this was mainly down to my short comings with Python so I'll try again once I feel more confident.

One of the areas I did get alot out of however was the section on API's. I've had colleagues demonstrate various tasks via API calls and there were a few moments in the course where I went 'I've seen this!' 

One the things I liked the most was the hands on learning incorporated in to the online course its self. It was really useful to take part in hands on demonstrations such as getting started with GIT, REST APIs, or demonstration of Ansible.

Would I recommend it? Absolutely! This course lays the ground work for the DevNet Associate exam. I don't think there's enough in it to use as your only source material for the exam but when has that ever been the case for a training course?

As a career networker with no experience of coding or automation I found this to be an excellent use of my time. 

Finally, there is an added bonus with this course! The Cisco Continuing Education programme!

This course is worth 48 CE credits to go towards the re-certification of your certificates. Thats huge! I'm a CCNP and CCDP so to recertify I need 80 CE credits. As a result of this course I now just need 32 CE credits over the next 3 years to re-certify all my certifications without sitting an exam. A few Cisco Live sessions and I'm done. Brilliant!

Soooo what next?

There are 3 areas that I'm going to follow up immediately:

1) Firstly I intent on working on my Python. I've got a number of simple projects in mind, whilst they're not going to set the world alight they might make a few tasks at work a bit more interesting.

2) Next I'm going to complete the Nick Russo's Cisco Certified DevNet Associate (DEVASC 200-901) learning path on Pluralsight.com

 3) At the same time I'll be chipping away at the DevNet Learning path, doing the labs and getting a handle on concepts such as GIT and RESTCONF/NETCONF

Following up on my check list from the start of the year, here is my progress so far:

  • Get it set up.  <<DONE
  • Install Visual Studio Code.  <<DONE
  • Link to my Github profile (?) page(?) whatever...<<DONE
  • Make Cisco DevNet my homepage. <<DONE
  • Work through the Programming Fundamentals course. <<DONE
  • Work through the DevNet Associate Fundamentals course. <<DONE
  • Move on to the DevNet sandbox environments and have a play there.  <<ON GOING
  • Pluralsight.com - Nick Russo's DevNet Associate Path <<ON GOING
  • DevNet LEarning Path Labs - <<ON GOING
  • Start learning Python <<ON GOING
  • Work through the Visual Studio Code Python tutorial  <<TO DO
  • Check out NAPALM  <<TO DO
  • Check out Netmiko  <<TO DO

Onwards...

Friday, February 28, 2020

DEVNET - My DevNet Journey

Its update time.

Lets see where we are with things so far then...
  • Get it set up.  <<DONE
  • Install Visual Studio Code.  <<DONE
  • Link to my Github profile (?) page(?) whatever...<<DONE
  • Work through the Visual Studio Code Python tutorial  <<TO DO
  • Make Cisco DevNet my homepage. <<DONE
  • Work through the Programming Fundamentals course. <<DONE
  • Work through the DevNet Associate Fundamentals course. <<ON GOING
  • Move on to the DevNet sandbox environments and have a play there.  <<ON GOING
  • Check out NAPALM  <<TO DO
  • Check out Netmiko  <<TO DO

My main focus has been working through the Programming Fundementals video course on DevNet

I feel I'm making steady progress but given this is a side project for me I doubt I'm going to make the DevNet 500.

I'll look at posting some further stuff on how I set up the various bits above shortly.

See you soon.

Tuesday, February 11, 2020

Stop Starting...

One of the things I'm struggling with as I attempt to get into network automation and programming is the huge volume of information.

There's DevNet, all the Cisco YouTube channels, udemy courses, cbtnuggets, Cisco press back catalogue, blogs, twitter, Facebook groups, webex teams, the list goes on and on.

I've found that I've been utterly daunted by just how much information is out there.

I spotted a quote on twitter just yesterday though -

'you must build an actual project '  @wellpaidgeek

- which pretty much summed me up.

I've spent so much time researching that I've been unable to see where to start. I look at one area and it sends me on to another, and another, and another. Before you know it I've watched 4 YouTube videos and read various blogs and not actually done anything!

So today marks my first actual steps.

I've got my new laptop due for delivery any time now. First tasks are:

  • Get it set up.
  • Install Visual Studio Code.
  • Link to my Github profile (?) page(?) whatever...
  • Work through the Visual Studio Code Python tutorial
  • Make Cisco DevNet my homepage.
  • Work through the Programming Fundamentals course.
  • Work through the Python Fundamentals course.
  • Move on to the DevNet sandbox environments and have a play there.
  • Check out NAPALM
  • Check out Netmiko

Thats all well and good but I've not actually 'done' anything even if I manage to clear that lot any time soon...

As result a simple task I'm going to look at will be :

  • A simple Python script to take pre and post change snapshots of the kit I work on. 
  • Next, develop it so I can split out specific tasks based on the type of device I'm making a change on.
  • Next, add a Diff process to compare the before and after state of my changed devices.
  • Further down the line I want to be able to look at the active connections at any one time and run a comparison for before and after my change.
  • Next, lets take all that detail and store it in a central location to be reviewed at a later date if needs be. 
  • Those are all read only tasks so I guess at some point I'll be looking to run the actual change and then run all the post checks as well.
  • It would also be nice to have a basic web page our ops team can reference to check the live status of the connections on the devices I'm working.
  • The list goes on...
Now you might say 'Hey, Sparky! there's already code out there that can do that!' - well yes, that's true. But where's the fun in copying some one else's work? what would I learn?

Today is the day I stop starting and simply start doing.

Wish me luck!






Thursday, February 6, 2020

Cisco Live 2020 - Barcelona

I was able to attend Cisco Live 2020 in Barcelona this year and it was EPIC!

It's the first time I've been to Cisco Live and had no idea what to expect. I thought I'd make a few notes on my experience with the view of keeping a list of reminders in the event that I get to go again.

In no particular order:

  • Wear comfy shoes, I was walking at least 12km each day!
  • Don't worry about the schedule - it is not possible to do everything you might want to do so pick out your 'must do's' then use the app to bookmark anything else of interest
  • Download and use the app - Cisco Events - about 2-3 days before the event the Cisco Live event was added and I could login in using my Cisco account and access my schedule (that I had already started to fill up online)
  • Make time for the World of Solutions hall and the The Hub / DevNet halls - its not all break out sessions. 
  • Get to the Walk-in Labs early, find out what time it opens and get there before 9am - I found that after my 9am talks I'd get to the Walk in Lab area at around 9:30 and all the seats were full and there was a massive queue.
  • Same for Capture the Flag - it fills up quick so get there early or go there late in the day
  • The food was awesome, everything was free (meals, sandwich bags, tea, coffee, fizzy drinks) and breakfast was also available via pastries and muffins!
  • Get Social - Follow @CiscoLiveEurope and monitor #CLEUR for updates and news
  • Drop  in on sessions that have already started, if you spot a session that you hadn't seen on the schedule before you arrived don't think twice about rocking up and standing in the corner. I did this a few times and found there was always a spare chair. People's plans change and I never had trouble find a chair even on the ones I hadn't registered for prior.
Would I go again? ABSOLUTELY! I learnt more in one week at Cisco Live than I had in previous roles going back years. In your day to day role you will no doubt have a set number of duties and its really easy to forget that there's more to networking than the bit you do. Cisco Live opened my eyes to whats out there and what's coming in the future and it was amazing.

I also loved the fact that I was with like minded people who were enthusiastic and that got me really engaged and excited about the possibilities on my return to work.

I doubt I'll get to go to Amsterdam next year but I'll be sure to be planning a visit as soon as I can.

Monday, January 14, 2019

New Year - New Posts!

How long is it since I've posted!

A lot has happened since my CCDP Arch posts. I passed my CCDP - Yey! I've re-certified all my Cisco certs with a last gasp effort last autumn whilst the counter to the 4th November (expiry day) was counting down.

It took me 3 attempts to clear the CCNP - ROUTE , with a week to go, which brings my routing up to date given my last routing exam was the BSCI.

2020 marks my first time at Cisco Live as well. Really looking forward to Barcelona on the 27th and I'll be adding a few posts around my experiences as a first timer.

Finally I'm intending on picking up the ENCOR study material and get my self prepared for the CCIE lab - eek! - Not sure if I'll clear it but what the hell, I'll pick up a load of skills on the way.

Good luck in your NetworkStudies folks!


Tuesday, March 18, 2014

CCNP - ENTERPRISE - DESIGN - Command Reference

This article looks to collect together the most frequent commands associated with the CCDP ARCH exam.

The point being that these are easy marks to pick up on the exam when you get a question such as 'Name the command that allows you to [insert task here]'

This list is by no means complete and I'll add further commands as I find them.

OSPF - Originate a default route in to OSPF
    #router ospf 10
        #default-information originate [always]

OSPF - On the ABR filter out all advertised routes accept those listed in the range command
Limits the size of the DB and reduces the flooding internally
    #router ospf 1
         #area 20 range 192.168.200.0 255.255.255.0

OSPF - On the ASBR filter routes sent out externally to those explicitly listed.
    #router ospf 20
         #summary address [prefix] [mask]

OSPF - Tune the OSPF hello timer interval for faster convergence
    #interface f0/0
        #ip ospf hello-interval [seconds]

OSPF - tune SPF timers to increase efficiency
    #conf t
          #timers throttle spf [spf-start] [spf-hold] [spf-max-wait]

OSPF - Increase the reference bandwidth to factor in high speed link such as 10GB ethernet, do this across all links for consistency
    #router ospf 20
          #auto-cost reference-bandwidth 10000 (for 10Gb ethernet links)

EIGRP - Originate a default route in to EIGRP
    #conf t
         #ip default-network [network ip]

EIGRP - configure unequal-cost load balancing
    #router eigrp 1
       #variance 2

BGP -configure neighbor as a Client of the route reflector
    #router bgp 65123
        #neighboor 1.1.1.1 route-reflector-client

IPv6 - enable IPv6 routing for use with RIPng, EIGRP for Ipv, OSPFv3 etc
    #conf t
         #ip v6 unicast-routing

IPv6 - Define a base prefix to use for addressing:
  #conf t
       #ipv6 general-prefix [prefix]

CEF - Eliminate CEF Polarisation where one redundant link ends up being preferred to the other
    #conf t
         #mls ip cef load-sharing

EtherChannel - Use this to ensure all links within an Etherchannel bundle are utilised effectiviely
    #conf t
        #port-channel load-balance src-dst-port

FlexLinks  - Configure a port to act as a resilient backup for FlexLinks. Configure this on the primary link.
    #interface f0/10
       #switchport backup-interface [interface id]

Friday, March 7, 2014

CCNP - ENTERPRISE - DESIGN - Well Known Multicast Addresses

In the CCDP ARCH exam there are numerous refereences to Multicast addresses.

This post is to simply catalogue those that are specifically refered to in the various reading materials I've covered.

Address Scope:
  • 224.0.0.0 /4 - Class D reservation
Address type:
  • 224.0.0.0 to 224.0.0.255 - assigned by IANA for services (detailed below)
  • 224.0.1.0 to 224.0.1.255 - Control Block - assigned by IANA for traffic crossing public networks e.g.- NTP 224.0.1.1
  •  224.0.2.0 to 224.0.255.255 - AD-HOC block assigned by IANA for addresses that don't fit the above ranges
  • 224.3.0.0 to 224.4.255.255 - AD-HOC block assigned by IANA for addresses that don't fit the above ranges
  • 233.252.0.0 to 233.255.255.255-  AD-HOC block assigned by IANA for addresses that don't fit the above ranges
  • 232.0.0.0 255.0.0.0 - Source-Specfic Multicast Addresses
  • 233.0.0.0 255.0.0.0 - GLOP addresses - Originally experimental now publically assigned addresses for use by ISPs and any organisation want to ublich content over Multicast
  • 234.0.0.0 255.0.0.0 - Uni-cast Prefix addresses
  • 239.0.0.0 255.0.0.0 - Administratively scoped IPv4 addresses, locally assigned, not globally unique
Well Known Addresses:


  • 224.0.0.1 The All Hosts multicast group addresses all hosts on the same network segment.

  • 224.0.0.2 The All Routers multicast group addresses all routers on the same network segment.

  • 224.0.0.5 The Open Shortest Path First (OSPF) All OSPF Routers address is used to send Hello packets to all OSPF routers on a network segment.

  • 224.0.0.6 The OSPF All Designated Routers ""(DR)"" address is used to send OSPF routing information to designated routers on a network segment.

  • 224.0.0.9 The Routing Information Protocol (RIP) version 2 group address is used to send routing information to all RIP2-aware routers on a network segment.

  • 224.0.0.10 The Enhanced Interior Gateway Routing Protocol (EIGRP) group address is used to send routing information to all EIGRP routers on a network segment.

  • 224.0.0.13 Protocol Independent Multicast (PIM) Version 2

  • 224.0.0.18 Virtual Router Redundancy Protocol (VRRP)

  • 224.0.0.19 - 21 IS-IS over IP

  • 224.0.0.22 Internet Group Management Protocol (IGMP) version 3

  • 224.0.0.102 Hot Standby Router Protocol version 2 (HSRPv2) / Gateway Load Balancing Protocol (GLBP)

  • 224.0.1.1 Network Time Protocol clients listen on this address for protocol messages when operating in multicast mode.

  • 224.0.1.39 The Cisco multicast router AUTO-RP-ANNOUNCE address is used by RP mapping agents to listen for candidate announcements.

  • 224.0.1.40 The Cisco multicast router AUTO-RP-DISCOVERY address is the destination address for messages from the RP mapping agent to discover candidates.

  • 224.0.1.41 H.323 Gatekeeper discovery address

  • 239.255.255.250 Simple Service Discovery Protocol address




  • Tuesday, January 14, 2014

    CCNP - ENTERPRISE - DESIGN - Spark's rules for Design

    During my studies I've noticed common themes in how to approach network design.

    In general I've found that it comes down to making the best of what you've got (unless you're Google and simply commission your own hardware and build your very own private internet - coming to home near you soon...)

    Based on that I've noted the following observations during my studies:

    • Divide and Conquer! - Large flat networks are generally a bad idea, they propagate all the broadcast/multicast traffic to all hosts, make poor use of available network resourse (bandwidth, increase work on routers/firewalls etc),  are difficult to scale, increase the impact of a network event across the environment. Where possible segment it. For example:
      • OSPF - Make use of backbone routers in Area 0 and then use different areas to limit the propagation of Link State Advertisiements. In doing this you reduce the amount bandwidth used up by the OSPF process, you reduce the about of processing load on the routers within each area and the LSA's are limited to each area (reducing the content of the Routing Table). Originate the Default Route from Area 0 and where possible make use of Stub, Totally Stubby and Not-So-Stubby-Areas to reduce LSA/Route propagation.
      • Campus Design - Make good use of Hierarchical designs with a Core, Distribution/ Aggregation, Access Layers. These scale well, limits broadcast domains and make troubleshooting more logical
      • IP Address Assignment - Use contiguous networks and avoid any discontiguous subnets. Contiguous subnets makes address assignment easier (more efficient allocation of address space), troubleshooting easier, you can trace through the network easier, allows for efficient route summarisation and redistribution.
    • Summarise it! - Expanding on the previous point, when advertising routes, where possible advertise summary routes for destinations in a given area/zone. By advertising a summarised route you are reducing the size of routing tables on upstream routers and you then limit the impact of route flaps within the network. If a single link goes down then a route that is advertised as a /30 would need removing from all routers that have a route for this network. If the failed link falls under a /24 route then the upstream routers don't observe the link flap and do not have to re-calculate the shortest path which inturn means that resources on upstream routers are not utlised unneccesarily.
    • Keep It Simple! - At the dead of night that on call network engineer will not thank you for building that convoluted network that makes use of lesser know commands just because it's fancy. Always consider how difficult troubleshooting the proposed solution will be and keep it simple. For example:
      • Avoid OSPF virtual links - an network outage in the transit area could cut off the remote area to area 0
      • Keep access lists consistent - Agree on a naming convention for access lists, object-groups, hosts. Agree on how an access list will be named and how it will be constructed and stick to it. Being consistent will make for a cleaner running-config and will make reading it easier which in turn should make troubleshooting easier
    Now, the point of the rules above is to apply each rule as measure of how to approach exam questions. For any given question can the rules above be applied and the correct answer revealed? (Of course you should know your stuff when it comes to sitting an exam but sometimes you get blind sided by a badly worded question)

    Remember to be methodical and ultimately consider What Would Cisco Do...?

    Wednesday, October 16, 2013

    Well Known Ports

    The full range of available ports is 0 - 65536 and can be used dynamically by any application however in general ports 0 - 1024 are pre-defined and 'well known' which is to say 22 is always ssh, 80 is http and so on.

    Port NumberDescription
    1TCP Port Service Multiplexer (TCPMUX)
    5Remote Job Entry (RJE)
    7ECHO
    18Message Send Protocol (MSP)
    20FTP -- Data
    21FTP -- Control
    22SSH Remote Login Protocol
    23Telnet
    25Simple Mail Transfer Protocol (SMTP)
    29MSG ICP
    37
    39
    Time
    RIP
    42Host Name Server (Nameserv)
    43WhoIs
    49Login Host Protocol (Login)
    53
    67
    68
    Domain Name System (DNS)
    bootps
    bootpc
    69Trivial File Transfer Protocol (TFTP)
    70Gopher Services
    79Finger
    80
    88
    101
    102
    HTTP
    Kerberos
    Hostname
    iso-tsap
    103
    107
    X.400 Standard
    rtelnet
    108SNA Gateway Access Server
    109POP2
    110
    111
    113
    POP3
    sunrpc
    auth
    115
    117
    Simple File Transfer Protocol (SFTP)
    uucp-path
    118SQL Services
    119
    123
    Newsgroup (NNTP)
    NTP - Network Time Protocol
    137NetBIOS Name Service
    139NetBIOS Datagram Service
    143Interim Mail Access Protocol (IMAP)
    150NetBIOS Session Service
    156SQL Server
    161SNMP
    179Border Gateway Protocol (BGP)
    190Gateway Access Control Protocol (GACP)
    194Internet Relay Chat (IRC)
    197Directory Location Service (DLS)
    389Lightweight Directory Access Protocol (LDAP)
    396Novell Netware over IP
    443HTTPS
    444Simple Network Paging Protocol (SNPP)
    445Microsoft-DS
    458Apple QuickTime
    546DHCP Client
    547DHCP Server
    563SNEWS
    569MSN
    1080Socks

    Wednesday, October 2, 2013

    Output Characters from PING

    This table is taken from the following Cisco article:
    Understanding PING and Traceroute Commands

    The table below lists the possible output characters from the ping facility:
    CharacterDescription
    !Each exclamation point indicates receipt of a reply.
    .Each period indicates the network server timed out while waiting for a reply.
    UA destination unreachable error PDU was received.
    QSource quench (destination too busy).
    MCould not fragment.
    ?Unknown packet type.
    &Packet lifetime exceeded.

    And I just want to log this here for quick reference. Thanks

    Monday, September 30, 2013

    Download a Packet Capture from an ASA

    Firstly run your capture:
    1) create an access list that will match the packets you are interested in seeing e.g:
        #access-list TESTCAP extended permit tcp 10.10.10.0 255.255.255.0 host 10.10.10.254 eq ldap

    2) Create the capture on your ASA:
       #capture TESTCAP access-list TESTCAP interface INSIDE

    Let that run then once you have collected enough data (use sh capture TESTCAP to view the capture ) transfer the capture file (pcap) to your local machine to view in a packet analyser programme such as WireShark:
    1) Download and install a TFTP server programe (I used Solarwinds TFTP server) and then start the server.
    2) From the firewall concerned run change to the System Context then run the following :
        #changeto context system
        #copy /pcap capture:[ContextName]/TESTCAP tftp:
        You will be asked for the destination IP - this will be your laptop IP that is running TFTP
        Note - [ContextName] should be the name of the context that the capture is running on.
    3) Check the TFTP-root folder on your local machine to verify the transfer was successful.
    4) Open WireShark then open the pcap file from there.

    Friday, September 6, 2013

    View the Pre-Shared Key on an IPsec VPN tunnel-group

    When troubleshooting VPN connectivity issues a common problem is a mis-matched pre-shared key.

    When you add a pre-shared key to a tunnel-group if you issue a #sh run the output hides the key with a simple *. e.g:

    tunnel-group 10.10.10.10 ipsec-attributes
     pre-shared-key *
     isakmp keepalive threshold 15 retry 2

    To confirm precisely what has been applied (and therefore help confirm if both ends of your tunnel have the same key) use the following command:
     #more system:running-config

    tunnel-group 10.10.10.10 ipsec-attributes
     pre-shared-key AbCdEfG192837645
     isakmp keepalive threshold 15 retry 2


    Upgrade the IOS on a Cisco Catalyst 3750 switch

    Steps to conduct an upgrade of the IOS are as follows:

    1. Download the new image from www.cisco.com using a suitable account
    2. Install a TFTP server such as SolarWinds TFTP Server (other TFTP programs are available)
    3. Boot the switch and apply an IP address to the VLAN1 interface
    4. Apply an IP in the same subnet to your PC/Laptop LAN port and cable up using a CAT5 straight through
    5. Ping both sides to confirm connectivity
    6. Copy the downloaded BIN image to the TFTP-Root folder you'll find on the C:drive
    7. Start the TFTP Server on the PC/Laptop
    8. On the switch back up the current image to your PC/Laptop #copy Flash:/[filename.bin] tftp
    9. Enter the required remote host IP and confirm the destination file name when prompted
    10. Allow the current file to copy over to the PC/Laptop
    11. Once complete delete the original from the switch to create space for the new image #delete /recursive Flash:/[filename.bin]
    12. Next copy the new image from the PC/Lpatop to the switch #copy tftp: flash:
    13. Enter the remote host details and file name then confirm
    14. Allow the file to copy
    15. Set the new BIN as the system boot image #boot system flash:/[filename.bin]
    16. write this #wr
    17. Reload



    Verify the image in use via - #sh ver

    Tuesday, September 3, 2013

    VPN - QM FSM error and PFS

    We're busy attempting to bring up a site to site IPSec tunnel to Cisco router from our ASA.

    Phase1 is completing but Phase2 fails with a 'QM FSM Error'.

    This very unhelpful error message results from PFS not matching at either end. Either set it or don't set but if you have one end configured and the other not then you'll get an error like the one above.

    Check the config on both ends of your VPN and either add PFS or remove by entering the following:
    [no] crypto map VPNCONNECTION set pfs [group1 | group2 | group 5 ]

    Notes:
    • PFS must match at either end
    • The default action on an ASA is to be off
    • If you just enter 'set pfs' and don't define a group then group1 is offered by default and group1/group2 is accepted
    • If you set the group then the same group must be returned by the remote peer.


    Cisco CCDA - Done!

    At the start of August I returned to the site of my last attempt and faced the Cisco CCDA once again.

    This time I have re-read the OCG, read more from the Cisco Design Zone -
    http://www.cisco.com/en/US/netsol/ns982/networking_solutions_program_home.html

    I had also reviewed all the exam material I had and not take the results for granted (as I did last time).

    What I found with my resit was that is was SOOOOOO much harder! really hard. I'm mean difficult hard. Hard.

    Cisco must have a large pool of questions on this exam as I only spotted one question on the entire exam that I recognised from my first attempt and the rest were very detailed and narrow on the topic selection. As it is, I took my time, paced my self as best I could and finished with about 5 minutes to spare. last time I done a good chunk of the exam in the first 15 minutes.

    I passed with a reasonable (not brilliant) mark and I'm just grateful I'm now looking at my new certificate on the desk partition in front of me.

    My advise for the exam is truely go in depth. As much as you can, learn the detail, and ensure you know the 'Key Topic' sections of OCG of by heart. It's a tough exam but lays the foundation for the ARCH exam so I guess it has to be.

    I'm picking the books up in October and hope to have my CCDP by Christmas. Lets see shall we...

    Thursday, June 20, 2013

    Troubleshooting IPSec Phase2 issues

    Problem - '#sh crypto ipsec sa' shows packets are being encrypted outbound but no packets are being decrypted inbound.

      Check the following: 

    •     Crypto ACL at either end is a mirror of each other. Use host to host /32 addresses don't use subnets
    •     Check routing at remote end is in place with correct exit interface
    •     If traffic passes through a Firewall towards the VPN terminating peer check that NAT Traversal is in place - apply:

                 policy-map global_policy
                     class inspection_default
                          inspect ipsec-pass-thru

    •     Check that port 500/4500/ah/esp are permitted on outbound acls to the remote end. Look at ACL's.
    •     Check that 'sysopt connection permit-vpn' is applied to permit IPSEC protocols to by pass ACLs that are applied to the tunnel interface

    Thursday, June 13, 2013

    Off Topic - Spark's Laws

    I decided I'd write down some of my musings. Nothing structured just observations from family life, work life and life in general.

    Here you go:

    Spark's Laws

    #1 - Always tell the truth, that way you never have to remember anything
    #2 - The smaller the child the bigger the splash they can make in the pool
    #3 - The smaller the child the bigger the poo you have to clean up
    #4 - If everyone did their job right first time, every time we could all have Fridays off.
    #5 - You have to pay tax. Get over it.
    #6 - The public can't handle the truth. - The truth is war is not nice but at times necessary to stand up for freedom. Taxes are not nice but pay for everything around you.
    #7 - The media can't handle the truth. - They expect politicians to be honest but when one is honest and says 'Yes, I made a mistake' they hound them until they are forced to resign, instead of allowing them to learn, improve and move on. Is it any wonder Politicians lie? (and sports personalities for that matter)
    #8 - Nature is cruel. Civilization, technology, and education does not change that.
    #9 - Project deadlines are simply the date at which the project gets signed off, renamed, restarted and the PM gets their bonus regardless of what is achieved
    #10 - If you want a project to run smoothly. Show the PM where the coffee machine is, close the door, and continue as normal.
    #11 - The earlier in a project life cycle you implement your build the higher the certainty you'll have to back it out and rebuild it with 'new, unexpected' requirements that should have been captured right at the start.
    #12 - The job's not done until you've finished the documentation.
    #13 - In business, once you start copying the competition you've lost.
    #14 - Spark's Law of Office Parties - Always make sure there is someone in a worse state than you...

    I'll add more as I think of them.

    Cheers.