Configuring Cisco HSRP

KB ID 0000946 

Problem

Cisco HSRP: Normally your client machines have one route off the network, (their default gateway). But what if that goes down? HSRP aims to solve this problem by assigning a ‘Virtual IP address’ to your default gateway (or default route). So that IP can be shared amongst two or more possible devices (routers, or layer 3 switches).

Above, we have a client 192.168.1.10 that has two possible routes off the network, (.254 and .253). We will setup a virtual IP of .250 and both routers can use that IP, (if they are the active gateway). Below is a brief overview of how to set it up.

Deploy Cisco HSRP

Setting up Cisco HSRP

1. On the first router (Router0), add the standby IP address (192.168.1.250) the ‘1’ denotes the standby group (a number from 0 to 4096). It comes up as standby, then after it has checked (via multicast address 224.0.0.2 on UDP port 1985). It finds no other live HSRP devices using that IP address so it becomes ‘Active’.

[box]

Router0>enable
Router0#configure terminal 
Enter configuration commands, one per line. End with CNTL/Z.
Router0(config)#interface GigabitEthernet0/0
Router0(config-if)#standby 1 ip 192.168.1.250
Router0(config-if)#

%HSRP-6-STATECHANGE: GigabitEthernet0/0 Grp 1 state Speak -> Standby

%HSRP-6-STATECHANGE: GigabitEthernet0/0 Grp 1 state Standby -> Active

Router0(config-if)#

[/box]

2. Repeat this on the second Router, this one discovers the ‘Active’ router and sets itself up as ‘Standby’.

[box]

Router1>
Router1>enable
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#interface GigabitEthernet0/0
Router1(config-if)#standby 1 ip 192.168.1.250
Router1(config-if)#
%HSRP-6-STATECHANGE: GigabitEthernet0/0 Grp 1 state Speak -> Standby

Router1(config-if)#

[/box]

3. You can prove this by running show standby (or do show standby in configure terminal mode).

[box]

Router0

Router0#show standby
GigabitEthernet0/0 - Group 1 (version 2)
State is Active
8 state changes, last state change 00:02:02
Virtual IP address is 192.168.1.250
Active virtual MAC address is 0000.0C9F.F001
Local virtual MAC address is 0000.0C9F.F001 (v2 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.055 secs
Preemption disabled
Active router is local
Standby router is 192.168.1.253
Priority 100 (default 100)
Group name is hsrp-Gig0/0-1 (default)
Router0#

Router1

Router1#show standby
GigabitEthernet0/0 - Group 1 (version 2)
State is Standby
3 state changes, last state change 00:10:44
Virtual IP address is 192.168.1.250
Active virtual MAC address is unknown
Local virtual MAC address is 0000.0C9F.F001 (v2 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 2.125 secs
Preemption disabled
Active router is 192.168.1.254
Standby router is local
Priority 100 (default 100)
Group name is hsrp-Gig0/0-1 (default)
Router1#

[/box]

4. That is HSRP configured! However there are a few changes you might want to make, for example, what if one router had a 100MB leased line, and the other was a 2MB ADSL line, you would want the fastest one to be in use, (as long as it was up). To achieve that, give the router with the fastest connection a higher priority (you may notice above, that by default the priority is 100). Be aware, even if a router has the highest priority, it wont ‘seize’ the virtual IP, it just sits and waits until it’s available. For our 100MB and 2MB example that’s not good. We would want Router1 to seize the virtual IP as soon as it can. To do that we need to set it to preempt. (Note: This process is called ‘launching a coup’).

[box]

Router1(config)#interface GigabitEthernet0/0
Router1(config-if)#standby 1 priority 105
Router1(config-if)#standby 1 preempt

[/box]

5. At this point it’s important to say, that in our scenario we would also need to setup a virtual IP for the ‘other side’ of the routers (i.e their GigabitEthernet 0/1 interfaces), or the remote client (172.16.1.10) would not be able to return our ‘pings’ or get any traffic back to us. So lets setup a virtual HSRP address on that side as well. Notice I just use another standby group number.

Note: To work the remote host 172.16.1.10 will need its default gateway changing to the HSRP Virtual IP of 172.16.1.250.

[box]

Router0 

Router0(config)#interface GigabitEthernet0/1
Router0(config-if)#standby 2 ip 172.16.1.250
Router0(config-if)#

Router1

Router1(config)#interface GigabitEthernet0/1
Router1(config-if)#standby 2 ip 172.16.1.250
Router1(config-if)#

[/box]

6. Finally we have set Router0 with the highest priority and set it to seize the virtual IP as soon as it can. But what if another interface on Router1 goes down? e.g. If the GigabitEthernet 0/1 interface were to go down, HSRP would not do anything because it’s tracking both the GigabitEthernet 0/0 interfaces, so communications would fail.

To solve the problem we need to tell it which interfaces to ‘Track’. In our example we need to track GigabitEthernet 0/1, if that goes down we need to give the virtual IP address to the standby ‘router’. This works because once we tell it to ‘track’ the GigabitEthernet 0/1 interface, if that were to fail it will DECREMEMT the routers priority by 10. So for Router0 its priority would drop to 95, this is five less than the default value of 100 (on Router1). But Remember, at the moment that fail-over would still fail, unless you allow Router1 to preempt and launch a coup.

[box]

Router0 

Router0(config)#interface GigabitEthernet0/0
Router0(config-if)#standby 1 track GigabitEthernet0/1
Router0(config-if)#

Router1

Router1(config)#interface GigabitEthernet0/0
Router1(config-if)#standby 1 preempt
Router1(config-if)#

[/box]

7. We can see that by running a ‘show standby’ on Router0.

[box]

Router0#show standby
GigabitEthernet0/0 - Group 1 (version 2)
State is Active
7 state changes, last state change 00:00:31
Virtual IP address is 192.168.1.250
Active virtual MAC address is 0000.0C9F.F001
Local virtual MAC address is 0000.0C9F.F001 (v2 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 2.81 secs
Preemption enabled
Active router is local
Standby router is 192.168.1.253, priority 115 (expires in 7 sec)
Priority 115 (configured 115)
Track interface GigabitEthernet0/1 state Up decrement 10
Group name is hsrp-Gig0/0-1 (default)
GigabitEthernet0/1 - Group 2 (version 2)
State is Active
6 state changes, last state change 00:00:28
Virtual IP address is 172.16.1.250
Active virtual MAC address is 0000.0C9F.F002
Local virtual MAC address is 0000.0C9F.F002 (v2 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.81 secs
Preemption disabled
Active router is local
Standby router is 172.16.1.253
Priority 100 (default 100)
Group name is hsrp-Gig0/1-2 (default)
Router0#

[/box]

Related Articles, References, Credits, or External Links

NA

vSphere – ‘Cannot complete operation due to concurrent modification by another operation’

KB ID 0001069

Problem

I had been messing around with ports groups and VLANS, and afterwards when attempting to present a server some vNICs I got this error.

Solution Virtual Center Appliance

I have to completely restart the Virtual Center Appliance, before this error would clear!

Solution (Windows vCenter)

No matter what I did this error refused to budge, when this happens it’s usually because vCenter has got its knickers in a twist. On the vCenter server simply restart the VMware Virtual Center Server service and try again.

Related Articles, References, Credits, or External Links

NA

ENE-NG and GNS3 – Speed and Duplex Mismatch

KB ID 0000983 

Problem

I don’t know why this happens sometimes with GNS3, and EVE-NG but occasionally I will get a connection between two devices that constantly complains.

%CDP-4-DUPLEX_MISMATCH: duplex mismatch discovered on {interface-name} (not half duplex), with {host-name} {interface-name} (half duplex).

For the uninitiated, a speed/duplex mismatch, usually happens when both ends of the link are set differently, or (more commonly) both ends are set to ‘auto’.

[box]

!
interface FastEthernet0/1
ip address 192.168.1.1 255.255.255.0
duplex auto
speed auto
!

[/box]

Solution

WARNING: DO NOT carry out this procedure on live networking equipment, this is only for use in the GNS3 environment.

If this happens to you, you will sensibly try and set the speed/duplex of both ends of the link correctly, on real networking equipment that would solve the problem like so;

[box]

PetesRouter(config)#interface FastEthernet0/1
PetesRouter(config-if)#duplex full
*Aug 6 13:40:39.815: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down
*Aug 6 13:40:41.823: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up
*Aug 6 13:40:42.823: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up
PetesRouter(config-if)#speed 100
*Aug 6 13:40:47.855: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down
*Aug 6 13:40:49.859: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up
*Aug 6 13:40:50.859: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up
PetesRouter(config-if)#

[/box]

But in some cases on GNS3 it does not, (not sure if it’s a bug?)

Is that happening to you, the only way to stop it is to suppress the error. To do this add the ‘no cdp log mismatch duplex’ command to the interface giving you the error.

[box]

PetesRouter(config)#interface FastEthernet 0/1
PetesRouter(config-if)#no cdp log mismatch duplex
PetesRouter(config-if)#exit
PetesRouter(config)#exit
*Aug 6 13:45:55.235: %SYS-5-CONFIG_I: Configured from console by console
PetesRouter#write mem
Building configuration...
[OK]
PetesRouter#
[/box]

Related Articles, References, Credits, or External Links

NA

 

Cisco IOS – An interface whose trunk encapsulation is “Auto” can not be configured to “trunk” mode.

KB ID0001167

Problem

If you try and change a ports status, to make it a trunk port, you may see this error;

[box]

Petes-Switch(config-if)#switchport mode trunk
Command rejected: An interface whose trunk encapsulation is "Auto" can not be configured to "trunk" mode.

[/box]

Trunk Settings

I don’t know if this is a throwback to when we had ISL trunking and 802.1q, but you need to specify the encapsulation before you can specify a trunk.

[box]

Petes-Switch(config-if)#switchport mode trunk
Command rejected: An interface whose trunk encapsulation is "Auto" can not be configured to "trunk" mode.
Petes-Switch(config-if)#switchport trunk encapsulation dot1q
Petes-Switch(config-if)#switchport mode trunk
Petes-Switch(config-if)#

[/box]

Related Articles, References, Credits, or External Links

NA

Cisco IOS – Setting Up DHCP Scopes

KB ID 0001112 

I usually only have to do this on very small sites, or occasionally on the test bench. Most of the time we will have a server sat doing DHCP. The procedure below was carried out on a router, but the procedure is the same for a catalyst switch.

By default DHCP is disabled, you have to turn it on, then create a ‘dhcp pool.’

[box]

Petes-Router(config)#service dhcp
Petes-Router(config)#ip dhcp pool DATA-VLAN-10

[/box]

Then set the range of addresses and scope options.

[box]

Petes-Router(dhcp-config)#network 172.16.1.0 255.255.255.0
Petes-Router(dhcp-config)#default-router 172.16.1.1
Petes-Router(dhcp-config)#dns-server 8.8.8.8 8.8.4.4
Petes-Router(dhcp-config)#domain-name petenetlive.com
Petes-Router(dhcp-config)#exit

[/box]

Don’t forget to EXCLUDE the ip address of the router/switch from the DHCP scope, and any other static IP’s you have.

[box]

Petes-Router(config)#ip dhcp excluded-address 172.16.1.1

[/box]

There’s nothing to stop you running multiple scopes either, below I add another scope for my voice VLAN, and exclude the router IP on that VLAN, and my PBX.

[box]

Petes-Router(config)#ip dhcp pool VOICE-VLAN-11
Petes-Router(dhcp-config)#network 172.16.2.0 255.255.255.0
Petes-Router(dhcp-config)#default-router 172.16.2.1
Petes-Router(dhcp-config)#dns-server 8.8.8.8 8.8.4.4
Petes-Router(dhcp-config)#exit
Petes-Router(config)#ip dhcp excluded-address 172.16.2.1
Petes-Router(config)#ip dhcp excluded-address 172.16.2.250

[/box]

Related Articles, References, Credits, or External Links

NA

Manually Remove VMware Workstation?

KB ID 0000576 

Problem

Tried to upgrade my VMware Workstation Version 8 today, then my laptop has a BSOD with a NETIO.SYS error, I bought it back up again, and attempted to manually install the newer version. This failed with an obscure .msi error. Even running the installer for the older version would not help.

Solution

Rather than picking it out of the registry, you can run remove it by running the install .exe file with a “/clean” switch.

1. Navigate to the directory that has the setup file in it, and run it from command line or via the Search run box in the start menu, with the /clean switch.

2. Follow the on screen instructions.

3. When complete, reboot your machine, and then you can re-attempt an install/upgrade.

Related Articles, References, Credits, or External Links

NA

vSphere Client cannot be installed on a Domain Controller

KB ID 0000968

Problem

I tried to install the VI client on my test network and this happened;

vSphere Client requires Windows XP SP2 or later. vSphere Client cannot be installed on a Domain Controller.

Solution

Well I’m not over the moon about that? Ive only got one permanent VM and it’s a DC? Who came up with this? What about sites who have a single DC on an ESX box? What are they going to do!

Turns out its quite easy to bypass, install the VI client from command line with a switch on the end, like so;

[box]
{Path}VMware-viclient-5.5.exe /VSKIP_OS_CHECKS=”1″
[/box]

The install will now complete without error. I thought that it might be a cunning ploy to get me to use the new web client instead, so out of interest I tried that, and got the following error;

vSphere Web Client requires Windows Server 2008 or later. vSphere Web Client cannot be installed on a Domain Controller.

Fair enough! So I tried the same switch on that, and guess what? That works as well.

[box]
{Path}VMware-WebClient.exe /VSKIP_OS_CHECKS=”1″
[/box]

Other Options

You can also use the ‘Thin App’ version of the VI client, (even if you don’t have ThinApp) you can download it here.

Related Articles, References, Credits, or External Links

NA

Ubuntu – Managing Cisco Devices via Serial / Rollover Cable

KB ID 0000400 

Problem

A while back I ran though “Managing Cisco ASA devices via the ASDM with Ubuntu“, I prefer to work at command line, with a new firewall my only choice is via the console port, In a windows environment I can fire up Hyperterminal and I’m away. With Linux there a couple of things to do first.

Solution

Step 1 (Get the Serial / RS232 / COM Port working)

As pictured above, this is being done on my Acer Netbook so I don’t have a serial port. I need to use a USB to Serial converter, If your machine has a serial port then simply skip this section.

1. Plug in your serial converter and wait a few seconds, open a terminal window (Applications > Accessories > Terminal) and issue the following command,

[box]dmesg[/box]

2. Amazingly it looks like been installed with the correct driver, without any effort by me at all! Lets make sure, unplug the USB to serial converter then issue the following command,

[box]lusb[/box]

Then plug the device back in and run the same command, notice the serial port has popped onto the list.

Note: If you not as lucky as me follow the excellent advice here to install the drivers you need.

Step 2 Install and Configure Minicom

1. Open a terminal window and issue the following command,

[box]sudo apt-get install minicom[/box]

Tap in your password, then enter “Y” for yes when prompted.

4. We need to know the connection name for the USB to Serial converter, issue the following command (See mines called ttyUSB0).

[box]dmesg | grep tty[/box]

5. Now lets fire up Minicom with the following command,

[box]sudo minicom[/box]

Tap in your password again, then as requested press CTRL+A, then Z.

6. To configure the serial settings press O (that’s O for Oscar not zero).

7. Select “Serial Port Setup”.

8. Press A to set the device.

9. As we discovered (above) ours is called ttyUSB0, so change the device to /dev/ttyUSB0.

10. Press C to change the connection speed to 9600 baud, Press Q (to set 8 bits, no stop bit, and 1 parity bit. On mine this was set by default), press {enter} to exit.

11. Press F to turn off hardware flow control (Some posts will say leave it on, I generally turn if off and I’ve never seen anything break!). Press G to disable software flow control (if enabled).

12. Then Select “Save setup as..”, and give is a sensible name. (If you went back too far simply press O again to get back here).

13. Now the settings are saved you can launch them at anytime with,

[box]sudo minicom {filename}[/box]

Note: Sometimes your serial drive gets locked up but a reboot will solve the problem.

14. Here’s me connected to an ancient old catalyst switch.

15. And the baby PIX on my test network.

Note: If your keystrokes are not getting sent: From the main menu (CTRL+A then Z) Press E to turn on local echo.

 

Related Articles, References, Credits, or External Links

NA

Dell Inspiron 1525 – Bluetooth Problem

KB ID 0000402 

Problem

I promised to take a quick look at one of my mum’s friends laptops the other evening, the brief was; they had a problem opening office attachments, and their wireless mouse was’nt working. I assumed they needed the document conversion pack and probably had a flat battery, so I downloaded the update, and slung some batteries in my laptop bag.

The attachment problem was sorted (by re-installing office and changing some file assocations). But the mouse (Which was bluetooth) was somewhat more “fun” to fix.

Basically the laptop had been rebuilt some time ago, and since then the bluetooth would not work, normally I’d just download the drivers but that would have been too simple. Before I could get the mouse to work I needed to enable bluetooth on the laptop.

Solution

1. Stop searchig the chassis there is no switch to enable blueetooth, it can only be enabled by software.

2. Download Bluetooth Driver software here.

3. Install the update.

4. It will dump all its files in C:delldriversR140135, once the files have extracted navigate to the C:delldriversR1401353100_216 folder and run setup.exe.

5. At the end it will tell you to enable wireless by pressing fn&F2 – THIS WONT WORK, click cancel.

6. Back in the C:delldriversR1401353100_216 folder you need to open the Win32 folder if your on a 32 bit machine or the Win64 folder if you on a 64 bit machine. (I dont know).

7. Locate the Inst.exe file and run it.

8. At the end it will once again ask you to press Fn and F2 – Do nothing, but leave the install sat there waiting.

9. With the install still waiting, navigate to “C:Program FilesWIDCOMMBluetooth Software” and locate BTTray.exe

10. Double click BTTray.exe and after a few seconds the bluetooth icon should appear in the taskbar (bottom right). Right click it and turn it on.

11. At this point, the install will burst back into life and setup your bluetooth wireless.

 

Related Articles, References, Credits, or External Links

NA