Cisco

5508-1

Wireless Client frequent disconnects RLDP and/or Rogue Containment

0

Recently had an issue with a Cisco 5508 WLC where RLDP was enabled and the clients were complaining of being disconnected several times a day.

 

Jumped directly onto the AP via SSH and went through the logs and could see message’s like the following every 2/3 minutes:

 

*Oct 15 10:37:20.851: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio0, changed state to up
*Oct 15 10:37:34.983: %LWAPP-5-RLDP: RLDP stopped on slot 0.
*Oct 15 10:37:35.043: %LINK-6-UPDOWN: Interface Dot11Radio0, changed state to down
*Oct 15 10:37:35.287: %LINK-5-CHANGED: Interface Dot11Radio0, changed state to reset
*Oct 15 10:37:36.043: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio0, changed state to down
*Oct 15 10:37:36.279: %LINK-6-UPDOWN: Interface Dot11Radio0, changed state to up
*Oct 15 10:37:37.279: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio0, changed state to up
*Oct 15 10:39:14.483: %LWAPP-5-RLDP: RLDP started on slot 0.
*Oct 15 10:39:14.959: %LINK-6-UPDOWN: Interface Dot11Radio0, changed state to down
*Oct 15 10:39:14.999: %LINK-5-CHANGED: Interface Dot11Radio0, changed state to reset
*Oct 15 10:39:15.967: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio0, changed state to down
*Oct 15 10:39:15.987: %LINK-6-UPDOWN: Interface Dot11Radio0, changed state to up
*Oct 15 10:39:15.991: 000f.7de8.XXXX-no legacy rates; default to lowest CCK/OFDM rate
*Oct 15 10:39:16.987: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio0, changed state to up
*Oct 15 10:39:31.175: %LWAPP-5-RLDP: RLDP stopped on slot 0.
*Oct 15 10:39:31.235: %LINK-6-UPDOWN: Interface Dot11Radio0, changed state to down
*Oct 15 10:39:31.479: %LINK-5-CHANGED: Interface Dot11Radio0, changed state to reset
*Oct 15 10:39:32.235: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio0, changed state to down
*Oct 15 10:39:32.471: %LINK-6-UPDOWN: Interface Dot11Radio0, changed state to up
*Oct 15 10:39:33.471: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio0, changed state to up

Fix/Workaround

The Fix is too disable RLDP or enable only for MonitorOnly (Listen) APs:

If you go Security Tab –> Wireless Protection Policies –> Rogue Policies –> General

You will find the following setting:

5508-1

Either mark for Disable or MonitorModeAPs

Enabling Audit logging on Cisco Router

0

Enabling Audit logging on Cisco Router

Enable logging on the Router:
CiscoR1(config)#logging 10.0.0.10

Define logging level:
CiscoR1(config)#logging trap

Loggin to Cisco router via telnet or ssh(preferred)
CiscoR1#

Enter into Global configuration mode :
CiscoR1# conf t
CiscoR1(config)#

Type archive to enter archive configuration mode:
CiscoR1(config)# archive

Enter into log config mode:
CiscoR1(config-archive)#log config

Enable archive logging:
CiscoR1(config-archive-log-cfg)#logging enable

Specifies the maximum number of entries retained in the configuration log:
CiscoR1(config-archive-log-cfg)#logging size < any number from 0-1000, default:100, recommended 500 >

Suppresses the display of password information in configuration log files:
CiscoR1(config-archive-log-cfg)#hidekeys

Enables the sending of notifications of configuration changes to a remote syslog server.
CiscoR1(config-archive-log-cfg)#notify syslog

Exits to privileged EXEC mode.
CiscoR1(config-archive-log-cfg)#end

Cisco ASA 5515 Next Gen – Active / Passive Failover Configuration Setup

0

Recently took delivery of 2 x Cisco 5515 ASA’s for one of my clients. Simple configuration guide for setting these up in an Active/Passive design.

Brief Overview:

Port0 = LAN
Port1-3 = NOT USED
Port 4 – Failover Link
Port 5 – WAN

Assumptions:
Hardware on both ASA firewalls are identical
The same software versions are installed on both firewalls.
PRIMARY firewall is setup (not massively important as I did this project from scratch)

IP Address:
LAN
Main – 10.20.0.254
Standby – 10.20.0.250

WAN
Main – 77.22.22.6
Standby – 77.22.22.5

Cable directly connected on G0/4 on both ASA’s

LAN cable goes into our core switches and the WAN link is a dual link supplied by our supplier at the Datacentre.

Take backup of the Main firewall running config if you do not already. (copy run flash)

Primary Firewall

CiscoASA(config)# clear configure interface G0/4
CiscoASA(config)# int g0/4
CiscoASA(config-if)# no shut

CiscoASA(config)# interface g0/5
CiscoASA(config-if)# speed 100
CiscoASA(config-if)# duplex full
CiscoASA(config-if)# nameif Outside
CiscoASA(config-if)# security-level 0
CiscoASA(config-if)# ip address 77.22.22.6 255.255.255.0 standby 77.22.22.5
CiscoASA(config-if)# interface g0/0
CiscoASA(config-if)# speed 100
CiscoASA(config-if)# duplex full
CiscoASA(config-if)# speed 100
CiscoASA(config-if)# duplex full
CiscoASA(config-if)# nameif Inside
CiscoASA(config-if)# security-level 100
CiscoASA(config-if)# ip address 10.20.0.254 255.255.255.0 standby 10.20.0.250

CiscoASA(config)# failover lan interface LANFAIL GigabitEthernet0/4
CiscoASA(config)# failover interface ip LANFAIL 192.168.6.250 255.255.255.0 standby 192.168.6.252

CiscoASA(config)# failover key 222333444

SETS FIREWALL AS PRIMARY
CiscoASA(config)# failover lan unit primary

TURN ON FAILOVER
CiscoASA(config)# failover

ENABLE STATEFUL FAILOVER
CiscoASA(config)# failover link failover GigabitEthernet0/4
SAVE CONFIG
CiscoASA(config)# wr

Secondary Firewall

Ensure Cabling correct on primary and secondary firewall

CiscoASA(config)# clear configure interface G0/4
CiscoASA(config)# int g0/4
CiscoASA(config-if)# no shut

ENABLE STATEFUL FAILOVER
CiscoASA(config)# failover lan interface LANFAIL GigabitEthernet0/4

CiscoASA(config)# failover interface ip LANFAIL 192.168.6.250 255.255.255.0 standby 192.168.6.252

CiscoASA(config)# failover key 222333444

SETS FIREWALL AS SECONDARY
CiscoASA(config)# failover lan unit secondary

TURN ON FAILOVER
CiscoASA(config)# failover

You should see this on the console:

Detected an Active mate
Beginning configuration replication from mate.

CiscoASA# show failover

CiscoASA5515# show failover
Failover On
Failover unit Primary
Failover LAN Interface: LANFAIL GigabitEthernet0/4 (up)
Unit Poll frequency 1 seconds, holdtime 3 seconds
Interface Poll frequency 3 seconds, holdtime 15 seconds
Interface Policy 1
Monitored Interfaces 2 of 114 maximum
MAC Address Move Notification Interval not set
Version: Ours 9.2(2)4, Mate 9.2(2)4
Last Failover at: 05:54:13 GMT Sep 2 2014
FINE TUNE

The failover timers can be played with as they are a bit too safe so here is my recommendation:

CiscoASA(config)# failover poll 1 hol 3
CiscoASA(config)# failover poll interface 3
CiscoASA(config)# int g0/4
CiscoASA(config-if)# failover poll interface 3

Cisco 4G LTE Setup – EE UK Configuration

0

This was setup using a Cisco 1911 Router and the 4G Card (EHWIC-4G-LTE-G)

The EHWIC-4G-LTE-G actually turns up with the antennas and the extended cables for the Antennas which i am surprised at as normally Cisco charge extra.

This particular example the Sim Card was for the EE Network in the UK (Orange,T-Mobile,EE)

I thing to note always you cannot bridge the cellular interface if anyone is thinking of handing this off to a ASA or similar firewall you will need to double NAT. If anyone has found a way please do email or drop me a comment.

Below is just the selected bits of the config to get the connection working:

Router#(config)chat-script lte “” “AT!CALL1″ TIMEOUT 30 “OK”

 

controller Cellular 0/0

 

Router#(config-if)
interface Cellular0/0/0

ip address negotiated
ip nat outside
ip virtual-reassembly in
encapsulation slip
dialer in-band
dialer string lte
dialer-group 1
async mode interactive

Router#(config-if)
interface Dialer1
no ip address

Router#(config)
ip nat inside source list 101 interface Cellular0/0/0 overload
ip route 0.0.0.0 0.0.0.0 Cellular0/0/0

 

Router#(config)
access-list 101 permit ip 172.16.32.0 0.0.0.255 any
dialer-list 1 protocol ip permit

line 0/0/0
script dialer lte
modem InOut
no exec
rxspeed 100000000
txspeed 50000000

 

 

 

 

Cisco IOS Transparent Bridged Mode Inspection/ACL

0

Recently I needed to install a small Cisco 2811 Router in front on my Lync 2013 setup as the Mediation/FrontEnd server didnt like the 1:1 NAT and the Cisco IOS would either cause a 1 way audio or no call connection so I decided on this route.

I have a layer 2 switch which has the internet feed, Main Firewall feed and a feed going to port F0/0 on the 2811.

I basically am going to create a bridge between F0/0 and F0/1 and enable inspection and some access-lists in order to protect the SIP Trunk.

Create the Bridge Group:
Router(config)# bridge 1 irb
Router(config)# bridge 1 protocol ieee

Assign Interfaces to Bridge Group:
Router(config)# interface f0/0
Router(config-if)# bridge-group 1

Router(config)# interface f0/1
Router(config-if)# bridge-group 1

You can create the Bridge Virtual Interface but I haven’t

Router(config)# interface bvi 1
Router(config-if)# ip address 10.20.0.200 255.255.255.0
Router(config-if)# no shut

Router(config)# sh bridge group

Bridge Group 1 is running the IEEE compatible Spanning Tree protocol

Port 2 (FastEthernet0/0) of bridge group 1 is forwarding
Port 3 (FastEthernet0/1) of bridge group 1 is forwarding

Inspection Configuration

Router(config)#  ip inspect name LYNC-IN tcp
Router(config)#  ip inspect name LYNC-IN udp
Router(config)#  ip inspect name LYNC-IN icmp

Create ACL (permit ip any any is just for show put in what you need)

Router(config)# ip access-list extended LYNC-IN
Router(config-ext-nacl)# permit ip any any

My first draft ACL was like this as X.X.X.X is my SIP provider and I wanted to block 5060 tcp/udp from everywhere else.

Extended IP access list LYNC-IN
10 permit tcp host X.X.X.X any eq 5060 (179 matches)
20 permit udp host X.X.X.X any range 20000 60000 (8438 matches)
180 deny tcp any any eq 5060
181 deny udp any any eq 5060 (26 matches)
200 permit ip any any (475520 matches)

Now Apply to the Interface: (F0/0 is my external Interface)

interface FastEthernet0/0
description **INTERNET FACING – PUBLIC IP**
no ip address
ip access-group LYNC-IN in
ip inspect LYNC-IN in
ip virtual-reassembly in
duplex auto
speed auto
bridge-group 1
end

interface FastEthernet0/1
description **WIZLYNC13 – Server**
no ip address
ip virtual-reassembly in
duplex auto
speed auto
bridge-group 1
end

I have used this example specifically to secure a Lync 2013 Mediation server but a Transparent IOS Firewall can be used for many purposed.

 

 

 

 

Cisco CME/CUCME SIP Trunk Configuration Guide/Setup

0

This is a quick post on how to configure a SIP trunk in CME as I have had a few emails now requesting it.

SIP trunk configuration is very simple as you only need to find a SIP Provider and in this example I use a company called OrbTalk (I am based in the UK)

All the configuration is done in SIP-UA under global configuration mode:

sip-ua
credentials username USERNAME password 0 PASSWORD realm orbtalk
authentication username USERNAME password 0 PASSWORD
no remote-party-id
retry invite 2
retry register 10
retry options 1
timers connect 100
registrar dns:sipgw3.orbtalk.co.uk expires 1800
sip-server dns:sipgw3.orbtalk.co.uk
host-registrar

You can check the SIP registration status by using this command:

Show Sip-ua register status and it should show the following:

Cisco2901#show sip-ua register status
Line                                                                           peer                    expires(sec)           registered           P-Associ-URI
================================ ========== ============ ========== ============
USERNAME                                                                -1                      38                           yes
Cisco2901#

What you are looking for is registered = yes.

Although I have an expires of 1800 second Orbtalk have 60 seconds so we always go by the shortest time.

You then need a dial-peer, voice translation-rules and profile and you can start getting calls sent to the SIP provider.

 

Internal / External Call Forwarding Cisco CCME/CME Call Manager Express SIP Trunk

0

I have a client who has a Cisco 2921 Router running CCME and the simplest task would not work which is to call forward to a mobile phone.

When I say internal and external what I mean is the following two scenarios:

External:

0207 888 8888 dials 0203 555 1007 this call forwards to 07540111222

We got this working by adding “calling-number local secondary” to the telephony-service.

But then internal call forwards would not work. Example:

Internal Extension 1010 dials 1007 this call forward to 07540111222 (we would just get a busy tone)

The problem was the SIP trunk provider was getting the SIP header information incorrect so I called Cisco TAC and this is the solution they came up with:

Create a new SIP Call Profile:

voice class sip-profiles 7
request INVITE sip-header Diversion copy “.*<sip:(.*)@.*” u01
request INVITE sip-header From copy “.*<sip:(.*)@.*” u02
request INVITE sip-header From modify “(.*)<sip:1…@(.*)” “\1<sip:44203555\u01@\2″
request INVITE sip-header From modify “(.*)<sip:0.*@(.*)” “\1<sip:\u01@\2″
request INVITE sip-header From modify “(.*)<sip:@(.*)” “\1<sip:\u02@\2″

New voice translation rules and profiles created like below:

voice translation-rule 20
rule 1 /\(^10..\)/ /44203555\1/

voice translation-rule 3
rule 2 /^999$/ /999/
rule 5 /^9\(.*\)/ /\1/

voice translation-profile SIPPrefix
translate calling 20
translate called 3

On the Dial-peer for outgoing calls reference this voice class:

dial-peer voice 3 voip
description **Outgoing Calls to Any Number **
translation-profile outgoing SIPPrefix
destination-pattern 9T
session protocol sipv2
session target sip-server
incoming called-number .
voice-class sip profiles 7
dtmf-relay rtp-nte
codec g711ulaw
no vad

I don’t yet fully understand the logic for the above as I have never written anything like this but as far as I can tell u01 and u02 are used for storing variables.

The logic behind this is the call-forwarding number has to start with 0 and can be any number of digits (look at the line below)
request INVITE sip-header From modify “(.*)<sip:0.*@(.*)” “\1<sip:\u01@\2″

The last line is for normal outgoing calls to allow anything as normal.

Once I research into this some more ill write up a deeper explanation.

CiscoRouterDownload-1

Cisco Router – Slow / Dropping Internet Downloads

1

Recently had a problem with a Cisco Router Failover pair causing me some grief where when you download a large file it was just cutting out or stopping. I tried a few attempts and even tried downloading on our own firewall and the download worked fine so I knew there was no problem at the remote end (Microsoft)

Was trying to download SQL 2012 Express at the time and this kept happening:

CiscoRouterDownload-1

First thing I done was open an ssh  session with the Router and enabled terminal monitor:

Log in and type:

Once that was done I noticed quite a few errors like this appear:

%FW-4-TCP_OoO_SEG: Dropping TCP Segment: seq:3558911335 1500 bytes is out-of-order; expected seq:3558888055. Reason: TCP reassembly queue overflow – session 10.0.X.X:52435 to XX.XX.XX.XX:231424

I added this command to global config mode:

All the command above does is increase the size of the tcp queue which has solved this problem.

Downloads are now working perfectly!

VPNNAT-1

Cisco Router NAT Internal Traffic over VPN

0

Recently had a request where I needed to setup a IPSEC VPN tunnel (no problem) but NAT the internal traffic to a new range to go over the tunnel and for it not too interfere with the normal NAT Translation going out to the internet.

Bit of background information:

MPLS Network with over 100+ sites
Each site has a 192.168.X.X range (e.g. 192.168.22.X and 192.168.44.X)
Centralized HSRP Failover Cisco Firewalls on a 10.20.X.X range

Each site has a server on the .200 address so 192.168.22.200 and 192.168.44.200.

These servers needed to be NAT’d to a 10.60.0.X range to go over the VPN to 10.29.13.X/24

To keep things fairly tidy I kept the NAT translations in some sort of pattern so for example:

192.168.22.200 would become 10.60.0.22
192.168.44.200 would become 10.60.0.44

I created the tunnel and tested it using a loopback adapter on the routers with a 10.29.13.x address just to confirm the IPSEC tunnel is working successfully.

We have an IP range of 64 public address that had a NAT translation of all stores IP’s to 1 of them for easy management.

192.168.0.0 0.0.255.255 mapped to –> 2.2.2.60 for example

NAT Translation for store to global IP:

ip nat pool SNAT-STORES 2.2.2.60 2.2.2.60 netmask 255.255.255.192

ip nat inside source route-map SNAT-STORES pool SNAT-STORES mapping-id 101 overload

NOTE: mapping-id is for statefull NAT on the HSRP router pair :)

Access-lists:

IP access list extended PBRNAT
permit ip 192.168.0.0 0.0.255.255 10.29.13.0 0.0.0.255

Access List PBRNAT is just to specify when the NAT translation should happen which is when any of the 192.168.0.0 addresses try to access the other side of the VPN (10.29.13.0/24). Note you need to use the original un-nat’d address in order to get the match.

IP access list extended SNAT-STORES
5 deny ip 192.168.0.0 0.0.255.255 10.29.13.0 0.0.0.255
10 permit ip 192.168.25.0 0.0.0.255 any 
20 permit ip 192.168.104.0 0.0.0.255 any
30 permit ip 192.168.107.0 0.0.0.255 any
40 permit ip 192.168.101.0 0.0.0.255 any
50 permit ip 192.168.105.0 0.0.0.255 any

Notice the deny statement under SNAT-STORES which is important as you need to set the criteria for when you want the NAT translation to be true. You do not want the global NAT translation to happen when trying to access the other side of the VPN (10.29.13.0/24).
Route maps needs to be created as they are used in the NAT translation rule and used for mapping to the access-lists.

route-map PBRNAT permit 10
match ip address PBRNAT

route-map SNAT-STORES permit 10
match ip address SNAT-STORES

Few of the NAT Translations

ip nat inside source static 192.168.112.200 10.60.0.112 route-map PBRNAT redundancy HSRP-Internal
ip nat inside source static 192.168.114.200 10.60.0.114 route-map PBRNAT redundancy HSRP-Internal
ip nat inside source static 192.168.115.200 10.60.0.115 route-map PBRNAT redundancy HSRP-Internal
ip nat inside source static 192.168.116.200 10.60.0.116 route-map PBRNAT redundancy HSRP-Internal
ip nat inside source static 192.168.117.200 10.60.0.117 route-map PBRNAT redundancy HSRP-Internal
ip nat inside source static 192.168.118.200 10.60.0.118 route-map PBRNAT redundancy HSRP-Internal

The interesting traffic for the VPN would be

permit ip 10.60.0.0 0.0.0.255 10.29.13.0 0.0.0.255

10.60.0.0 = Local Side (NAT’d addresses)
10.29.13.0 = Remote VPN Side

Just to show it working I pinged 10.29.13.21 from 192.168.22.200

VPNNAT-1
Primary Cisco Router showing the correct NAT Statement:

VPNNAT-2

Sorry if this appears to be a bit rushed I am off on holiday tomorrow and wanted to get done before I go while its still fresh :)

 

CiscoCallTransfer

Cisco CME Call Transfer Issue – SIP Trunk

1

Have a client with a Cisco 2921 Router running latest version of CME 9.1 (currently)

Had a weird issue with Call Transfer and the call flow would go like this:

Ext 1001 would dial a external number 0800111222 and then transfer the call to Ext 1002.

The Call then dropped and disconnected after a few seconds.

A incoming call received by Ext 1001 from 0800 111 222 then transferred to Ext 1002 works fine.

So incoming calls works but outbound based calls don’t.

Running “debug ccsip messsages” show an UPDATE message is sent when the call is transferred to the SIP provider and because this was replied to it caused the call to drop.

Adding “no update-callerid” to voice service voip under sip resolved the issue (took days to diagnose and fix this silly issue!)

CiscoCallTransfer

 

Go to Top