Today, I have encountered the following problem:
MY-SWITCH#copy running-config startup-config
startup-config file open failed (Device or resource busy)
In a first step, I was thinking that the nvram: was corrupted because I was not able to see files in the nvram (dir nvram:). In fact, we were 2 users connected on the switch.
MY-SWITCH#show users
Line User Host(s) Idle Location
* 1 vty 0 admin idle 00:00:00 10.10.10.10 => My session
2 vty 1 admin idle 00:07:09 10.10.20.10
Also, I have just ejected my colleague with the following command:
MY-SWITCH#clear line 2
After that, I was able to backup my configuration.
Tuesday, July 15, 2014
Friday, March 21, 2014
Troubleshoot OSPF neighbors (Hellos check)
In order to become neighbors, routers perform several checks. If this check fails, we have to troubleshoot and find the cause of this issue. You will find below several examples of neighbor failed. I have added logs messages and debug messages in order to easily find the cause.
- Area mismatch:
- Authentication key mismatch:

- Duplicate Router-id:
- Subnet/mask Mismatch:
- Area Type Mismatch:
Friday, February 28, 2014
Tuesday, December 17, 2013
ICMP Fragmentation and Firewall
Following an installation of new firewalls, I was facing an issue of communication between a CMC (Central Management Console) and a Riverbed Steelhead.
In a normal way, the CMC open a SSH session to push rules to the Riverbed. But after the installation, it was not working anymore. I have investigated and found the root cause of this issue.
Packets between the CMC and the Riverbed are fragmented. Without firewalls, CMC and Riverbed use PMTU in order to discover the MTU small enough to traverse the entire path without fragmentation.
In a first step, Path MTU uses the option Don't Fragment (DF). When a packet is sent with this option, it cannot been fragmented. If a router with a smaller MTU receives this packet, it will drop it and send to the sender an ICMP Fragmentation Needed. This step is repeated until the source has reached the destination without fragmentation.
As you can see below, our problem come from this ICMP Fragmentation Needed packet.
When the steelhead sends a packet (with option Don't fragment) to the CMC, a router on the path sends a ICMP fragmentation Needed. However, the new firewall filters this packet and now the handshake failed.
Workaround:
In a normal way, the CMC open a SSH session to push rules to the Riverbed. But after the installation, it was not working anymore. I have investigated and found the root cause of this issue.
Packets between the CMC and the Riverbed are fragmented. Without firewalls, CMC and Riverbed use PMTU in order to discover the MTU small enough to traverse the entire path without fragmentation.
In a first step, Path MTU uses the option Don't Fragment (DF). When a packet is sent with this option, it cannot been fragmented. If a router with a smaller MTU receives this packet, it will drop it and send to the sender an ICMP Fragmentation Needed. This step is repeated until the source has reached the destination without fragmentation.
As you can see below, our problem come from this ICMP Fragmentation Needed packet.
When the steelhead sends a packet (with option Don't fragment) to the CMC, a router on the path sends a ICMP fragmentation Needed. However, the new firewall filters this packet and now the handshake failed.
Workaround:
- Allow ICMP option on the firewall.
- Reduce MTU on primary interface of the Riverbed.
Saturday, December 14, 2013
QoS Traffic Policing (drop excess traffic)
Today, I was facing an issue with several users. These users were uploading big files on server (http). Unfortunately, they were using all available bandwidth. It's why, I have decided to police this specific traffic (any users to this server). With the following configuration, the bandwidth for users is limited at 3Mbps (configuration applied on a Layer 3 Switch):
- If the bandwidth exceeds 3Mbps, following packets are dropped:
access-list 100 permit tcp any 10.10.10.200 0.0.0.0 eq www
!
class-map match-all UserTraffic
match access-group 100
!
policy-map policeTraffic
class UserTraffic
police 3000000 conform-action transmit exceed-action drop
!
interface Vlan999
service-policy output policeTraffic
- Check statistics:
MYSWITCH#show policy-map interface vlan 999
Vlan999
Service-policy output: policeTraffic
Class-map:UserTraffic (match-all)
558663 packets, 827048161 bytes
5 minute offered rate 3643000 bps, drop rate 645000 bps
Match: access-group 100
police:
cir 3000000 bps, bc 93750 bytes
conformed 460702 packets, 679305595 bytes; actions:
transmit
exceeded 97962 packets, 147744080 bytes; actions:
drop
conformed 2994000 bps, exceed 669000 bps
Class-map: class-default (match-any)
1626596 packets, 568490144 bytes
5 minute offered rate 3555000 bps, drop rate 0 bps
Match: any
Tuesday, December 3, 2013
BGP Decision Process
Nothing new in this post! It's just a reminder regarding the BGP process decision:
- Weight (Bigger win, Cisco proprietary)
- LOCAL_PREF (Bigger Win)
- Locally injected routes (Locally injected win overiBGP/eBGP learned)
- AS_PATH length (Smaller Win)
- ORIGIN (code I win over E, E win over ? )
- MED (Smaller Win)
- Neighbor Type (eBGP win over iBGP)
- IGP metric to NEXT_HOP (Smaller win)
Tuesday, November 26, 2013
Key Based SSH Authentication on a Linux Host using Putty
In order to be more secure, I have decided to use a key instead of a password authentication. I'm using putty to connect to my linux server. I have used the following steps in order to configure it:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
After this, if you open the session, you will be directly prompted to the linux host.
- Generate a public and private key with PuTTYgen (click on Generate):
- Save the public and private key.
- The next step is to add the public key on the server:
chmod 700 ~/.ssh
- Paste the public key to the following file:
chmod 600 ~/.ssh/authorized_keys
- Configure the putty session:
- Create a new session and save it:
- Select data and configure 'Auto-login' (usersame used by the created key):
- Configure the path to the private key:
After this, if you open the session, you will be directly prompted to the linux host.
Subscribe to:
Posts (Atom)