<?xml version="1.0" encoding="utf-8"?>
<!-- generator="" -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Cisco Routers</title>
		<description><![CDATA[Leading Network Security & Cyber Security site. Cisco Routing/Switching, VPN, Microsoft, SASE, SSE, F5, PaloAlto Firewalls, Protocol Analysis, Tips & more.]]></description>
		<link>https://www.firewall.cx/cisco/cisco-routers.html</link>
		<lastBuildDate>Sat, 11 Apr 2026 12:41:23 +1000</lastBuildDate>
		<generator></generator>
		<atom:link rel="self" type="application/rss+xml" href="https://www.firewall.cx/cisco/cisco-routers.feed?type=rss"/>
		<language>en-gb</language>
		<item>
			<title>Enabling &amp; Configuring SSH on Cisco Routers. Restrict SSH for Management &amp; Enable AAA Authentication for SSH Sessions</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-routers-ssh-support-configuration-rsa-key-generation.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-routers-ssh-support-configuration-rsa-key-generation.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/cisco-routers-ssh-support-configuration-rsa-key-generation-01.png" alt="cisco-routers-ssh-support-configuration-rsa-key-generation-01" style="margin: 7px; float: left;" title="Enable and configure SSH &amp; SSHv2 on Cisco Routers" />This article shows how to <strong>configure and setup SSH</strong> for <strong>remote management</strong> of <strong>Cisco IOS Routers</strong>. We’ll show you <strong>how to check if SSH is supported</strong> by your <strong>IOS version</strong>, how to enable it, <strong>generate an RSA key</strong> for your router and finally configure <strong>SSH as the preferred management protocol</strong> under the <strong>VTY interfaces</strong>.</p>
<p style="text-align: justify;"><strong>Secure Shell</strong> (SSH) provides a <strong>secure and reliable</strong> mean of connecting to remote devices. It’s an <strong>encrypted network protocol</strong> that allows users to <strong>safely access</strong> equipment via <strong>command line interface</strong> sessions. SSH makes use of <a href="https://www.firewall.cx/networking/network-protocols/tcp-udp-protocol.html" target="_blank" title="TCP Protocol">TCP</a> port 22 which’s assigned to secure logins, file transfer and port forwarding.</p>
<p style="text-align: justify;">SSH uses public key for authenticating the remote device and encrypt all data between that device and the workstation which makes it the best choice for public networks, unlike (telnet) which transmits data in plain text which subjects it to security threats, this makes (telnet) recommended for private networks only to keep the data uncompromised.</p>
<h2 style="text-align: justify;">Verifying SSH Support On A Cisco Router</h2>
<p style="text-align: justify;">The first step involves examining whether your Cisco router’s IOS supports SSH or not. Most modern Cisco routers support SSH, so this shouldn’t be a problem.</p>
<p style="text-align: justify;">Products with (K9) in the image name e.g <strong>c2900-universalk9-mz.SPA.154-3.M2.bin</strong>, support strong encryption with 3DES/AES while (K8) IOS bundles support weak encryption with the outdated DES.</p>
<p style="text-align: justify;">To check, simply enter <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-pri-mode.html" target="_blank" title="Cisco router privilege mode">privilege mode</a> and use the <strong>show ip ssh</strong> command:</p>
<p class="box-content">R1# <strong>show ip ssh</strong> <br />SSH Disabled - version 1.99<br />%Please create RSA keys to enable SSH (and of atleast 768 bits for SSH v2).<br />Authentication timeout: 120 secs; Authentication retries: 3<br />Minimum expected Diffie Hellman key size : 1024 bits<br />IOS Keys in SECSH format(ssh-rsa, base64 encoded): NONE</p>
<p style="text-align: justify;">In the above output, the system is showing SSH support, but it’s currently disabled as no RSA key has been generated.&nbsp; It is also worth noting that a key of at least 768 bits must be generated to enable SSHv2.</p>
<h2 style="text-align: justify;">Securing Router Access</h2>
<p style="text-align: justify;">It’s always a good idea to first restrict access to the Cisco router before enabling SSH. This is very important especially when the device has an interface facing public networks e.g Internet, Public Hotspot.</p>
<p style="text-align: justify;">We first create user credentials for the device and then <strong>enable Athentication, Authorization &amp; Accounting Services (AAA)</strong>.&nbsp; Finally, ensure a <strong>secret password</strong> is set to protect access to <strong>privilege mode</strong>, along with the <strong>service password-encryption</strong> command to ensure all <strong>clear-text passwords</strong> are <strong>encrypted</strong>:</p>
<div class="box-content" style="text-align: justify;">Router (config)# <strong>username admin privilege 15 secret Firewall.cx</strong><br />Router (config)# <strong>aaa new-model</strong><br />Router (config)# <strong>aaa authentication login default local</strong><br />Router (config)# <strong>enable secret $FirewAll.cx!</strong><br />Router (config)# <strong>service password-encryption</strong></div>
<p style="text-align: justify;">Next, it is highly recommended to restrict remote access via the SSH protocol only. This will ensure that insecure services such as Telnet cannot be used to access the router. Telnet sends all information unencrypted, including username/password, and is therefore considered a security risk.</p>
<p style="text-align: justify;">We’ll use the <strong>transport input ssh</strong> command under the VTY section to restrict remote access using SSH only. Note that we can also use <strong>Access-lists</strong> to <strong>restrict SSH connections</strong> to our router:</p>
<div class="box-content" style="text-align: justify;">R1(config)#<strong> line vty 0 4</strong><br />R1(config-line)# <strong>transport input ssh</strong><br />R1(config-line)# <strong>login authentication default</strong><br />R1(config-line)# <strong>password $Cisco!</strong></div>
<p style="text-align: justify;">Note: the <strong>password</strong> command used under <strong>line vty 0 4</strong> section is completely optional and not used in our case because of the <strong>login authentication default</strong> command which forces the router to use the <strong>AAA mechanism</strong> for all user authentication.</p>
<h2 style="text-align: justify;">Generating The Router’s RSA Key – Digital Certificate</h2>
<p style="text-align: justify;">Digital keys serve the purpose to help further secure communications between devices. Our next step involves generating an RSA key pair that will be used by SSH to help encrypt the communication channel.</p>
<p style="text-align: justify;">Before generating our RSA key, it is necessary to define our router’s domain using the <strong>ip domain-name</strong> command, followed by the <strong>crypto key generate</strong> command:</p>
<p class="box-content">R1 (config)#&nbsp; <strong>ip domain-name firewall.cx</strong><br />R1(config)# <strong>crypto key generate rsa</strong> <br />The name for the keys will be: <strong>R1.firewall.cx</strong><br />Choose the size of the key modulus in the range of 360 to 4096 for your General Purpose Keys. Choosing a key modulus greater than 512 may take a few minutes. How many bits in the modulus [512]: <strong>4096</strong><br />% Generating 4096 bit RSA keys, keys will be non-exportable...<br />[OK] (elapsed time was 183 seconds)</p>
<p style="text-align: justify;">When generating our key pairs, the router notifies us with the name used for the keys, which consists of the <strong>router’s hostname</strong> (R1) + <strong>Configured Domain Name</strong> (firewall.cx).&nbsp; Finally, we can select the amount of bits used for the modulus (key).</p>
<p style="text-align: justify;">Since we selected to generate a key using <strong>4096 bits</strong>, the router took a bit<strong> over 3 minutes</strong> to generate the key! Note that router used in our example was a Cisco 877.</p>
<p style="text-align: justify;">With SSH enabled we are able to ssh into our router and manage it securely from any location around the globe.</p>
<p style="text-align: justify;">To view any active SSH session, simply use the <strong>show ssh</strong> command:</p>
<p class="box-content">R1# <strong>show ssh</strong> <br />Connection&nbsp;&nbsp; Version&nbsp;&nbsp;&nbsp; Mode&nbsp;&nbsp; Encryption&nbsp; &nbsp;&nbsp;&nbsp; Hmac&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; State&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; Username<br />0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp; &nbsp; aes256-cbc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hmac-sha1&nbsp; Session started&nbsp;&nbsp; admin<br />0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.0&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; OUT&nbsp;&nbsp; aes256-cbc&nbsp; &nbsp;&nbsp;&nbsp; hmac-sha1&nbsp; Session started&nbsp;&nbsp; admin<br />%No SSHv1 server connections running.<br />R1#</p>
<p style="text-align: justify;">This article explained the importance of <strong>enabling</strong> and using SSH to remotely manage and configure your Cisco router. We saw how to <strong>create users for remote management</strong>, <strong>enable AAA</strong>, <strong>encrypt clear-text passwords</strong>, <strong>enable SSHv2</strong>, <strong>generate RSA keys</strong> and <strong>verify SSH sessions</strong> to our router.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Thu, 09 Jul 2015 07:11:35 +1000</pubDate>
		</item>
		<item>
			<title>How to Capture Packets on your Cisco Router with Embedded Packet Capture - Configuration, Troubleshooting &amp; Data Export</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-embedded-packet-capture-configuration-usage-troubleshooting-exporting.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-embedded-packet-capture-configuration-usage-troubleshooting-exporting.html</guid>
			<description><![CDATA[<p style="text-align: justify;">If you’re tired of setting up <a href="https://www.firewall.cx/cisco/cisco-switches/cisco-switches-span-monitoring.html" target="_blank" title="Configuring Cisco SPAN on Catalyst Switches">SPAN sessions</a> to <strong>capture network traffic transiting your network</strong> and <strong>Cisco router</strong>, it’s time to start using <strong>Cisco’s Embedded Packet Capture</strong> (<strong>EPC</strong>), available from <strong>IOS 12.4.20T</strong> and above. We will show you <strong>how to configure Cisco’s Embedded Packet Capture</strong>, to <strong>capture packets transiting a Cisco router</strong>, <strong>save</strong> them to its<strong> flash disk</strong> or <strong>export</strong> them directly to an <strong>ftp/tftp server</strong> for further analysis with the help of a <strong>packet analyzer</strong> such as <strong>Wireshark</strong>.</p>
<p style="text-align: justify;">Finally, we've also included a number of useful <strong>Embedded Packet Capture troubleshooting commands</strong> to <strong>monitor the status</strong> of the <strong>capture points</strong> and <strong>memory buffer</strong>.</p>
<p style="text-align: justify;">Let’s take a look at some of the basic features offered by <strong>Embedded Packet Capture</strong>:</p>
<ul class="check">
<li style="text-align: justify;"><strong>Capture IPv4</strong> and IPv6 packets in the <strong>Cisco Express Forwarding</strong> path</li>
<li style="text-align: justify;">Ability to specify various <strong>capture buffer parameters</strong></li>
<li style="text-align: justify;"><strong>Export packet captures</strong> in <strong>PCAP format</strong>, enabling <strong>analysis</strong> with external tools such as Wireshark.</li>
<li style="text-align: justify;"><strong>Display</strong> content of the <strong>capture buffer</strong></li>
<li style="text-align: justify;"><strong>G</strong><span class="st"><strong>ranularity</strong> of <strong>captured packets</strong> via<strong> Standard or Extended</strong> </span><strong>Access Control Lists</strong> (ACLs)</li>
</ul>
<p style="text-align: center;"><img src="https://www.firewall.cx/images/stories/cisco-router-embedded-packet-capture-1.png" alt="cisco-router-embedded-packet-capture-1" width="464" height="249" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco Embedded Packet Capture - Capture Points, Capture Buffer, Example, Router" />Figure 1. Understanding Basic Embedded Packet Capture Terminology</p>
<p style="text-align: justify;">Before we dive into the <strong>configuration of Cisco EPC</strong>, let’s explain the two terms used during the EPC configuration:&nbsp; <strong>Capture Buffer</strong> &amp; <strong>Capture Point</strong>.&nbsp; We’ll use figure 1 to help illustrate the terms.</p>
<h2 style="text-align: justify;">Capture Buffer</h2>
<p style="text-align: justify;"><strong>Capture buffer</strong> is an area in memory for <strong>holding packet data</strong>.&nbsp; There are two types of Capture Buffers: <strong>Linear</strong> and <strong>Circular</strong>.</p>
<p style="text-align: justify;"><strong>Linear Capture Buffer</strong>: When the capture buffer is full, it stops capturing data.<br /><strong>Circular Capture Buffer</strong>: When the capture buffer is full, it continues capturing data by overwriting older data.</p>
<h2 style="text-align: justify;">Capture Point</h2>
<p style="text-align: justify;"><strong>Capture point</strong> is a <strong>traffic transit point</strong> where a <strong>packet is captured</strong>. Capture points need to define the following:</p>
<ul class="checkbox check" style="text-align: justify;">
<li>IPv4 or IPv6</li>
<li>CEF (Cisco Express Forwarding or Process-Switched</li>
<li>Interface e.g Fast Ethernet0, Dialer0 etc.</li>
<li>Direction of traffic to the interface: in (ingress), out (engress) or both</li>
</ul>
<h2 style="text-align: justify;">Configuring Cisco Embedded Packet Capture</h2>
<div style="text-align: justify;">EPC configuration is an <strong>easy 5 step configuration process</strong>. Examining the diagram below, our goal is to <strong>capture ingress</strong> &amp; <strong>egress packets</strong> on <strong>interface FastEthernet0</strong> from workstation 192.168.3.2 to and from Firewall.cx:</div>
<div style="text-align: center;"><br /><img src="https://www.firewall.cx/images/stories/cisco-router-embedded-packet-capture-2.png" alt="cisco-router-embedded-packet-capture-2" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco Embedded Packet Capture - Capture Example, configuration, troubleshooting" /> Figure 2. Capturing packets betwen host 192.168.3.2 and Firewall.cx</div>
<p class="box-info" style="text-align: justify;">Note: None of the below configuration commands, except the optional access lists (filters), will be stored in the router's running-configuration or startup-configuration. 'Monitor' commands are only stored in the router's RAM and are lost after a router reboot.</p>
<h2 style="text-align: justify;">STEP 1 -&nbsp;&nbsp; Define A Capture Buffer</h2>
<p style="text-align: justify;">The capture buffer will store the packets to be captured. Our <strong>capture buffer</strong> will be named<strong> firewallcx_cap</strong> and will have size of <strong>1024KB</strong> (1 Mb), which is the default size and will be set to<strong> linear type buffer</strong>:</p>
<div class="box-content" style="text-align: justify;">R1# <strong>monitor capture buffer firewallcx_cap size 1024 linear</strong></div>
<h2 style="text-align: justify;">STEP 2 – Define The Traffic To Be Captured (optional)</h2>
<p style="text-align: justify;">We can optionally configure to capture specific traffic. In our case, we need to capture traffic between hosts 192.168.3.2 and 208.86.155.203 (Firewall.cx).&nbsp; This is accomplished with the use of access control lists. We can make use of <strong>standard</strong> or <strong>extended access lists</strong> depending on the granularity required. If no access list is configured, all traffic will be captured.</p>
<div class="box-content">R1(config)#<strong> ip access-list extended selected-traffic&nbsp;</strong> &nbsp;<br />R1(config-ext-nacl)# <strong>permit ip host 192.168.3.2 host 208.86.155.203</strong><br />R1(config-ext-nacl)# <strong>permit ip host 208.86.155.203 host 192.168.3.2</strong><br />R1(config-ext-nacl)# <strong>end</strong><br />R1# <strong>monitor capture buffer firewallcx_cap filter access-list selected-traffic</strong><br /><br />Filter Association succeeded</div>
<p style="text-align: justify;">Note: Our access list includes traffic originating from both hosts because we want to capture bidirectional traffic.&nbsp; If we included only one ACL statement, then only one-way traffic would be captured.</p>
<p style="text-align: justify;">Our filter is now in place and we are ready for the next step.</p>
<h2 style="text-align: justify;">STEP 3 – Define Capture Point &amp; Parameters</h2>
<p style="text-align: justify;">Here we define which interface will be the capture point. In our case, this is <strong>Fast Ethernet0</strong> and we’ll capture both <strong>ingress</strong> and <strong>egress packets</strong>. During this configuration phase, we need to provide a name for the <strong>capture point</strong>, we selected <strong>CPpoint-FE0</strong> to make it easy to distinguish.</p>
<p style="text-align: justify;">Note: It is highly advisable to ensure <strong>ip cef</strong> is <strong>enabled</strong> to ensure minimum impact on the router’s CPU. If <strong>ip cef is not enabled</strong>, a message like the one below will appear, in which case you need to <strong>enable ip cef</strong> and re-enter the command.</p>
<div class="box-content">R1# <strong>monitor capture point ip cef CPoint-FE0 FastEthernet 0 both</strong> <br /><strong>IPv4 CEF is not enabled</strong><br /><br />R1# <strong>config t</strong><br />Enter configuration commands, one per line.&nbsp; End with CNTL/Z.<br />R1(config)# <strong>ip cef</strong><br />R1(config)# <strong>exit</strong><br />R1# <strong>monitor capture point ip cef CPoint-FE0 FastEthernet 0 both</strong> <br />*May 25 14:54:40.383: %BUFCAP-6-CREATE: Capture Point CPoint-FE0 created.</div>
<h2 style="text-align: justify;">STEP 4 – Associate the Capture Point with the Capture Buffer</h2>
<p style="text-align: justify;">Here we associate the configured capture point with the capture buffer:</p>
<div class="box-content" style="text-align: justify;">R1# <strong>monitor capture point associate CPoint-FE0 firewallcx_cap</strong></div>
<p style="text-align: justify;">At this point, we are ready to start capturing packets!</p>
<h2 style="text-align: justify;">STEP 5 – Start, Stop Capturing Packets</h2>
<p style="text-align: justify;">It’s now time to start capturing those packets using the <strong>monitor capture point start</strong> command:</p>
<div class="box-content" style="text-align: justify;">R1# <strong>monitor capture point start CPoint-FE0 </strong><br /><br />*May 25 14:57:02.091: %BUFCAP-6-ENABLE: Capture Point CPoint-FE0 enabled.</div>
<p style="text-align: justify;">At this point, the router is capturing all traffic between our two hosts.</p>
<p style="text-align: justify;">To stop the capturing process, use the <strong>monitor capture point stop</strong> command:</p>
<div class="box-content" style="text-align: justify;">R1# <strong>monitor capture point stop CPoint-FE0</strong><br /><br />*May 25 15:00:51.419: %BUFCAP-6-DISABLE: Capture Point CPoint-FE0 disabled.</div>
<h2 style="text-align: justify;">Useful Verification Commands</h2>
<p style="text-align: justify;"><strong>1</strong>. To monitor the status of our buffer, we can use the <strong>show monitor capture buffer</strong> command:</p>
<div class="box-content" style="text-align: justify;">R1# <strong>show monitor capture buffer all parameters </strong><br />Capture buffer firewallcx_cap (linear buffer)<br />Buffer Size : 1048576 bytes, Max Element Size : 68 bytes, Packets : 263<br />Allow-nth-pak : 0, Duration : 0 (seconds), Max packets : 0, pps : 0<br />Associated Capture Points:<br />Name : CPoint-FE0, Status : Active<br />Configuration:<br />monitor capture buffer firewallcx_cap size 1024 linear <br />monitor capture point associate CPoint-FE0 firewallcx_cap<br />monitor capture buffer firewallcx_cap filter access-list selected-traffic<br />R1#</div>
<p style="text-align: justify;"><strong>2.</strong> To view Capture Point details, use the <strong>show monitor capture point all</strong> command:</p>
<div class="box-content">R1# <strong>show monitor capture point all</strong><br />Status Information for Capture Point CPoint-FE0<br />IPv4 CEF<br />Switch Path: IPv4 CEF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; , Capture Buffer: firewallcx_cap&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />Status : Active<br /><br />Configuration:<br />monitor capture point ip cef CPoint-FE0 FastEthernet0 both</div>
<p style="text-align: justify;"><strong>3.</strong> To see all information about the captured packets, use the&nbsp;<strong>show monitor capture buffer</strong> command:</p>
<div class="box-content" style="text-align: justify;">R1# <strong>show monitor capture buffer firewallcx_cap</strong><br />15:04:50.835 UTC May 25 2015 : IPv4 LES CEF&nbsp;&nbsp;&nbsp; : Fa0 None<br />15:04:51.015 UTC May 25 2015 : IPv4 LES CEF&nbsp;&nbsp;&nbsp; : Fa1 Fa0<br />15:04:51.015 UTC May 25 2015 : IPv4 LES CEF&nbsp;&nbsp;&nbsp; : Fa0 None<br />15:04:51.015 UTC May 25 2015 : IPv4 LES CEF&nbsp;&nbsp;&nbsp; : Fa0 None<br />15:04:51.195 UTC May 25 2015 : IPv4 LES CEF&nbsp;&nbsp;&nbsp; : Fa1 Fa0<br />15:04:51.443 UTC May 25 2015 : IPv4 LES CEF&nbsp;&nbsp;&nbsp; : Fa1 Fa0<br />15:04:51.443 UTC May 25 2015 : IPv4 LES CEF&nbsp;&nbsp;&nbsp; : Fa1 Fa0<br />15:04:51.443 UTC May 25 2015 : IPv4 LES CEF&nbsp;&nbsp;&nbsp; : Fa1 Fa0</div>
<p style="text-align: justify;"><strong>4. </strong>To examine the buffer’s contents, use the <strong>show monitor capture buffer dump</strong> command:</p>
<div class="box-content">R1# <strong>show monitor capture buffer firewallcx_cap dump</strong><br />15:04:50.835 UTC May 25 2015 : IPv4 LES CEF&nbsp;&nbsp;&nbsp; : Fa0 None
<p>86621680: 5475D061 2856F4CE 469A161C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TuPa(VtNF...<br />86621690: 08004500 00347440 40007F06 57B7C0A8&nbsp; ..E..4t@@...W7@(<br />866216A0: 0302D056 9BCBC6BC 00506100 C18E0000&nbsp; ..PV.KF&lt;.Pa.A...<br />866216B0: 00008002 20003676 00000204 04EC0103&nbsp; .... .6v.....l..<br />866216C0: 03020101 040200&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .......&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</p>
<p>15:04:51.015 UTC May 25 2015 : IPv4 LES CEF&nbsp;&nbsp;&nbsp; : Fa1 Fa0</p>
<p>86621680: F4CE469A 161C5475 D0612856&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tNF...TuPa(V<br />86621690: 08004500 00340000 40003406 16F8D056&nbsp; ..E..4..w.4..xPV<br />866216A0: 9BCBC0A8 03020050 C6BC8F58 11D26100&nbsp; .K@(...PF&lt;.X.Ra.<br />866216B0: C18F8012 39087B6D 00000204 05AC0101&nbsp; A...9.{m.....,..<br />866216C0: 04020103 030700&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .......&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</p>
<p>15:04:51.015 UTC May 25 2015 : IPv4 LES CEF&nbsp;&nbsp;&nbsp; : Fa0 None</p>
<p>86621680: 5475D061 2856F4CE 469A161C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TuPa(VtNF...<br />86621690: 08004500 00287443 40007F06 57C0C0A8&nbsp; ..E..(tC@...W@@(<br />866216A0: 0302D056 9BCBC6BC 00506100 C18F8F58&nbsp; ..PV.KF&lt;.Pa.A..X<br />866216B0: 11D35010 4137B408 00000000 00000000&nbsp; .SP.A74.........<br />866216C0: 04&nbsp;&nbsp; </p>
</div>
<h2>Export Captured Data</h2>
<p style="text-align: justify;">In most cases, the data captured will need to be exported to a network analyzer for additional analysis within a user friendly interface. &nbsp;</p>
<p class="box-info" style="text-align: justify;">Note: Captured buffer can be exported to a number of locations including: flash: (on router), ftp, tftp, http, https, scp (secure copy) and more.</p>
<p style="text-align: justify;">Export the captured buffer using the <strong>monitor capture buffer export</strong> command. Keep in mind that we must stop the capturing process before exporting the data, and also have our tftp server ready to accept the captured data:</p>
<div class="box-content" style="text-align: justify;">R1#<strong> monitor capture point stop CPoint-FE0</strong><br />R1#<br />*May 25 15:35:31.975: %BUFCAP-6-DISABLE: Capture Point CPoint-FE0 disabled.<br />R1#<br />R1# <strong>monitor capture buffer firewallcx_cap export tftp://192.168.5.53/capture.pcap</strong><br />!!!!!!!<br />R1#</div>
<p style="text-align: justify;">At this point, the <strong>capture.pcap</strong> file should be located on our workstation.</p>
<p style="text-align: justify;">We are now ready to import the data into our <strong>network analyzer</strong> for further analysis:</p>
<p style="text-align: center;"><img src="https://www.firewall.cx/images/stories/cisco-router-embedded-packet-capture-3.png" alt="cisco-router-embedded-packet-capture-3" style="display: block; margin-left: auto; margin-right: auto;" title="Embedded Packet Capture - Importing captured packets to network analyzer" />Figure 3. Importing packets into a Network Analyzer</p>
<p style="text-align: justify;">Once the import process is complete, our captured packets are displayed and we can analyse them in a more user-friendly environment:</p>
<p style="text-align: center;"><img src="https://www.firewall.cx/images/stories/cisco-router-embedded-packet-capture-4.png" alt="cisco-router-embedded-packet-capture-4" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco Embedded Packet Capture - Packet analysis " />Figure 4. Packets displayed inside the network analyzer</p>
<p style="text-align: justify;">This article introduced the <strong>Cisco Embedded Packet Capture</strong> feature offered on all Cisco router <strong>IOS platforms</strong> from <strong>version 12.4.20T</strong> and above. We explained <strong>terms</strong> used by the Embedded Packet Capture feature (<strong>Capture Buffer</strong>, <strong>Capture Point</strong>) and showed how to <strong>configured Embedded Packet Capture</strong> using 5 simple steps, but also how to <strong>export captured data</strong> from the <strong>Cisco router</strong> so that it can be <strong>imported</strong> into a <strong>network analyzer</strong>.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Mon, 25 May 2015 08:13:34 +1000</pubDate>
		</item>
		<item>
			<title>How and Why You Should Verify IOS Images On Cisco Routers &amp; Catalyst Switches.  Identify Corrupt &amp; Tampered Images using SHA2 or MD5 Verification</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-switch-ios-image-verification-sha2-md5.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-switch-ios-image-verification-sha2-md5.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/cisco-router-switch-ios-image-verification-sha2-md5-1.jpg" alt="cisco-router-switch-ios-image-verification-sha2-md5-1" style="margin: 7px; float: left;" title="Cisco IOS Image verification" />Chances are we’ve all needed to <strong>upgrade</strong> our <strong>Cisco’s device IOS software</strong> at some point. While <strong>upgrading the IOS software</strong> on a Cisco device is considered to be a fairly simple process, it can turn out to be a <strong>very stressful</strong> and <strong>destructive process</strong> if something goes wrong, especially if the upgrade is being performed on a remote Cisco device. <strong>Uploading a corrupt IOS image</strong> or having it <strong>become corrupt during the upload process </strong>is a common problem Cisco engineers encounter.</p>
<p style="text-align: justify;">If a corrupted IOS image is not identified <strong>before the reload/reboot</strong> of the device, it’s most likely the device will not boot again unless a special recovery procedure is followed. A <strong>corrupt IOS image</strong> translates to <strong>network downtime</strong>, <strong>service disruption</strong> and possibly <strong>financial loss</strong> for the company.</p>
<p style="text-align: justify;">Therefore <strong>verifying an IOS image</strong> that has been uploaded to a Cisco device is a very important step, regardless how experienced one might be.&nbsp; Unfortunately most network engineers skip or are totally unaware of the <strong>image verification process</strong> and the trouble it can help them avoid.</p>
<p style="text-align: justify;">Here are a few reasons why Cisco IOS image verification should become a mandatory step during any upgrade:</p>
<ul class="check">
<li style="text-align: justify;">It helps ensure the IOS image is <strong>not corrupt</strong></li>
<li style="text-align: justify;">It avoids <strong>unnecessary surprises</strong> after a router/switch reload - especially when it’s at a remote location!</li>
<li style="text-align: justify;">It <strong>verifies the integrity</strong> of the software</li>
<li style="text-align: justify;">Reduces the risk of <strong>malicious code</strong> being installed on the Cisco IOS device</li>
<li style="text-align: justify;">TFTP, the method often used to upload files, <strong>cannot guarantee error-free</strong> transfers</li>
<li style="text-align: justify;">Helps maintain your <strong>professional image and reliability</strong> :)</li>
</ul>
<h2 style="text-align: justify;">Using The SHA2/MD5 File Verification Feature</h2>
<p style="text-align: justify;">The <strong>MD5 File Validation</strong> feature was added in Cisco IOS Software Releases <strong>12.2(4)T</strong> and <strong>12.0(22)S</strong> onwards. This feature allows the administrator to <strong>calculate the MD5 hash</strong> of a Cisco IOS software image previously loaded on a device's flash.</p>
<p style="text-align: justify;">Newer IOS images and ISR routers now make use of the <strong>SHA2 algorithm</strong>, rather than the older <strong>MD5</strong>, however we can optionally verify the image using MD5.</p>
<p style="text-align: justify;">Cisco publishes the <strong>MD5 hash value (Checksum)</strong> for every software image in their download area. This enables the network engineer to easily check and compare the <strong>calculated MD5 hash value</strong> against Cisco’s site and identify any signs of tampering.</p>
<div class="box-info" style="text-align: justify;"><strong>Note:</strong> The commands might slightly differ depending on the device you are working on (Cisco Router or Catalyst Switch) and the running version of the IOS software.</div>
<p style="text-align: justify;">Below is a Cisco 2921 router that has just had an IOS image uploaded (<strong>c2900-universalk9-mz.SPA.152-4.M6a.bin</strong>):</p>
<div class="box-content">VG2921# <strong>dir</strong><br />Directory of flash0:/<br />&nbsp;&nbsp;&nbsp; 1&nbsp; -rw-&nbsp;&nbsp;&nbsp; 99137584&nbsp;&nbsp; Dec 7 2022 20:57:20 +03:00&nbsp; <strong>c2900-universalk9-mz.SPA.152-4.M6a.bin</strong><br />&nbsp;&nbsp;&nbsp; 2&nbsp; -rw-&nbsp;&nbsp;&nbsp; 97114876&nbsp;&nbsp; Aug 7 2022 21:57:20 +03:00&nbsp; c2900-universalk9-mz.SPA.154-1.T1.bin<br />&nbsp;&nbsp;&nbsp; 3&nbsp; -rw-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 3064&nbsp;&nbsp; Aug 7 2022 21:08:32 +03:00&nbsp; cpconfig-29xx.cfg<br />&nbsp;&nbsp;&nbsp; 4&nbsp; drw-&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; Aug 7 2022 21:08:54 +03:00&nbsp; ccpexp<br />&nbsp; &nbsp; 5&nbsp; -rw-&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; 2464&nbsp;&nbsp; Aug 7 2022 21:10:36 +03:00&nbsp; home.shtml<br /><br />256487424 bytes total (154890240 bytes free)</div>
<p style="text-align: justify;">Before changing the device’s configuration to load the newly uploaded IOS image, we need to verify its integrity first by using the <strong>verify</strong> command:</p>
<div class="box-content" style="text-align: justify;">VG2921# <strong>verify flash0:c2900-universalk9-mz.SPA.152-4.M6a.bin</strong><br />Starting image verification<br />Hash Computation:&nbsp;&nbsp;&nbsp; 100% Done!<br /><br />Computed Hash&nbsp;&nbsp; SHA2: 8E9A291FD3203FE665F17EC137B01C16<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 76D997C83ABEDA953379D88D018C8933<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; B461FE204B503AE7F4D4CAA76C516445<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6B81994221B5D4ACEB94860DAFA6EB85<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />Embedded Hash&nbsp;&nbsp; SHA2: 8E9A291FD3203FE665F17EC137B01C16<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; 76D997C83ABEDA953379D88D018C8933<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B461FE204B503AE7F4D4CAA76C516445<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 6B81994221B5D4ACEB94860DAFA6EB85<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />CCO Hash&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MD5 : CEC1428C33BCE462346D77445D5A468D<br /><br /><strong>Digital signature successfully verified in file flash0:c2900-universalk9-mz.SPA.152-4.M6a.bin</strong></div>
<p style="text-align: justify;">When issuing the <strong>verify</strong> command, the router will compute and automatically verify the image using the <strong>SHA2 algorithm</strong> and then compare it against the <strong>embedded SHA2 hash</strong>.&nbsp; This verification ensures that the file is not corrupt and has not been tampered with.</p>
<p style="text-align: justify;">To verify the image using <strong>MD5</strong>, we can use the <strong>verify /md5</strong> command as shown below:</p>
<div class="box-content">VG2921# <strong>verify /md5 flash0:c2900-universalk9-mz.SPA.152-4.M6a.bin</strong> ..........................................................................................(output omitted) <br />&nbsp;Done! verify /md5 (flash0:c2900-universalk9-mz.SPA.152-4.M6a.bin) = <strong>cec1428c33bce462346d77445d5a468d</strong></div>
<h2 style="text-align: justify;">Verifying The MD5 HASH With Cisco's Site</h2>
<p style="text-align: justify;">As noted in our previously, an additional security check is available for those seeking to fully satisfy their security concerns. Cisco makes the <strong>MD5 hash</strong> available for every image in their download section, allowing the network engineer to compare the <strong>embedded</strong> and <strong>calculated MD5 hash</strong> with Cisco. <br />&nbsp;<br />Using our image <strong>c2900-universalk9-mz.SPA.152-4.M6a.bin</strong> as an example, we went to Cisco’s download section and located the file. By simply placing our mouse cursor above the filename, a popup window appeared showing the file details where the <strong>MD5 Checksum</strong> can also be found:</p>
<p><img src="https://www.firewall.cx/images/stories/cisco-router-switch-ios-image-verification-sha2-md5-2.jpg" alt="cisco-router-switch-ios-image-verification-sha2-md5-2" style="margin: 7px auto; vertical-align: middle; display: block;" title="Cisco IOS Image MD5 Verification " /></p>
<p style="text-align: justify;">Our calculated <strong>MD5 checksum</strong> was also <strong>cec1428c33bce462346d77445d5a468d</strong>, which means we have a Cisco original image that has not been altered or tampered in any way.</p>
<p style="text-align: justify;">This article explained the importance of <strong>verifying a Cisco IOS image</strong> and the problems this simple step can help avoid. We also explained how to <strong>verify the image</strong> using the <strong>SHA2</strong> or <strong>MD5 algorithm</strong> and compare it against Cisco’s website.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Sun, 07 Dec 2014 21:53:49 +1100</pubDate>
		</item>
		<item>
			<title>How To Fix Cisco Configuration Professional (CCP) 'Java Memory Heap Size Less Than 256MB Error' &amp; Java Runtime Environment Settings</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-configuration-professional-java-errors.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-configuration-professional-java-errors.html</guid>
			<description><![CDATA[<p style="text-align: justify;">Our previous article covered <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-configuration-professional-display-problem.html" target="_blank" title="how to fix the Cisco Configuration Professional display/window problem">how to fix the Cisco Configuration Professional display/window problem</a> where the CCP application is displayed in about one third of the browser’s window. Users looking for Cisco’s CCP will be happy to know that it is available as a free download from Firewall.cx’s <a href="https://www.firewall.cx/downloads/cisco-tools-a-applications.html" target="_blank" title="Cisco Tools &amp; Applications">Cisco Tools &amp; Applications</a> download section.</p>
<p style="text-align: justify;">Another common problem CCP users are faced with is the Java “<strong>Memory Heap Size Less than 256MB</strong>” error. This error is usually presented to the user when trying to access the <strong>Intrusion Prevention System</strong> (<strong>IPS</strong>) configuration section in the CCP configuration menu as shown below:</p>
<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/cisco-ccp-java-heapsize-1.jpg" alt="Cisco Java Heapsize Error" width="650" height="352" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco Configuration Professional Heapsize 256MB Error" /></p>
<p style="text-align: justify;">&nbsp;To overcome this error, Firewall.cx has outlined an easy-to-follow procedure which can be executed even by inexperienced users.</p>
<h2>Requirements To Fix Java Memory Heap Size Error</h2>
<p style="text-align: justify;">Dealing with the Java memory heap size error is fairly simple, as long as the correct Java version is installed on the system where CCP is run from.&nbsp;</p>
<p style="text-align: justify;">It should be noted that even if other versions of Java are installed on our system, the error will continue, until the correct version of Java is installed.&nbsp;</p>
<p style="text-align: justify;">For this reason, it is imperative <a href="https://www.firewall.cx/downloads/cisco-tools-a-applications.html" target="_blank" title="Java version 1.6 Update 17">Java version 1.6 Update 17</a> is installed.&nbsp; Users are not required to uninstall existing versions of Java. Installing the provided Java version and following our procedure, will get the job done.</p>
<p style="text-align: justify;">To help make life easier for its readers, Firewall.cx has made the <a href="https://www.firewall.cx/downloads/cisco-tools-a-applications.html" target="_blank" title="Cisco Configuration Professional"><strong>Cisco Configuration Professional</strong></a> program and <a href="https://www.firewall.cx/downloads/cisco-tools-a-applications.html" target="_blank" title="Java version 1.6 Update 17"><strong>Java version 1.6 Update 17</strong></a> available as a free download in our <a href="https://www.firewall.cx/downloads/cisco-tools-a-applications.html" target="_blank" title="Cisco Tools &amp; Applications download section">Cisco Tools &amp; Applications download section</a>.&nbsp; It is advisable to download and install this Java version before proceeding with the next steps.</p>
<h2>How To Fix Java Memory Heap Size Error</h2>
<p style="text-align: justify;">Assuming <strong>Java 1.6 Update 17</strong> is installed on the workstation, go to the <strong>Windows Control Panel</strong> and launch the <strong>Java (32 bit)</strong> Control Panel:</p>
<p><img src="https://www.firewall.cx/images/stories/cisco-ccp-java-heapsize-2.jpg" alt="cisco-ccp-java-heapsize-2" width="750" height="362" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco CCP Heapsize 256MB Error - Windows Java Settings" /></p>
<p style="text-align: justify;">Next, select the <strong>Java</strong> tab as shown in the screenshot below, and click on the <strong>View</strong> button to reveal the <strong>Java Runtime Environment Settings</strong>:</p>
<p><img src="https://www.firewall.cx/images/stories/cisco-ccp-java-heapsize-3.jpg" alt="cisco-ccp-java-heapsize-3" width="452" height="471" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco CCP Heapsize 256MB Error - Java Settings" /></p>
<p style="text-align: justify;">In case more than one Java version is installed, it should appear in this window. As seen in our screenshot, we have version <strong>1.7 Update 25</strong> and version <strong>1.6 Update 17</strong> installed. In the <strong>Runtime Parameters</strong> for the 1.6 platform, enter the value <strong>–Xmx256m</strong> or <strong>–Xmx512m</strong> to increase the memory heap size to 256MB or 512MB, and then click on the <strong>Enabled</strong> checkbox, as shown below:</p>
<p><img src="https://www.firewall.cx/images/stories/cisco-ccp-java-heapsize-4.jpg" alt="cisco-ccp-java-heapsize-4" width="555" height="334" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco CCP Java Heapsize Error - Java Runtime Environment Settings" /></p>
<p style="text-align: justify;">Finally click on <strong>OK</strong> to close the window and save the new settings.</p>
<p style="text-align: justify;">While not necessary, it’s a good idea to restart the workstation and then launch <strong>Cisco Configuration Professional</strong>.</p>
<p style="text-align: justify;">Visiting now the <strong>Intrusion Prevention</strong> configuration screen within CCP, should provide proper access to the <strong>IPS Configuration Wizard</strong>:</p>
<p><img src="https://www.firewall.cx/images/stories/cisco-ccp-java-heapsize-5.jpg" alt="cisco-ccp-java-heapsize-5" width="750" height="621" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco CCP Heapsize 256MB Error -IP Configuration Working Correctly" /></p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Sun, 27 Oct 2013 08:50:30 +1100</pubDate>
		</item>
		<item>
			<title>How To Fix Cisco Configuration Professional (CCP) Display/Window View Problem - Internet Explorer 10 Not Showing Correctly</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-configuration-professional-display-problem.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-configuration-professional-display-problem.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><strong>Cisco Configuration Professional</strong> (<strong>CCP</strong>) is Cisco’s latest GUI administration tool used to administer Cisco routers. CCP is basically the next step up from the popular Security Device Manager or SDM. Users seeking more information on SDM’s installation can refer to our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-sdm.html" target="_blank" title="Cisco SDM router installation article">Cisco SDM router installation article</a>.</p>
<p style="text-align: justify;">Cisco’s <strong>CCP</strong> is available as a<strong> free download </strong>from Firewall.cx’s <a href="https://www.firewall.cx/downloads/cisco-tools-a-applications.html" target="_blank" title="Cisco Tools &amp; Applications">Cisco Tools &amp; Applications</a> download section.</p>
<p class="box-info" style="text-align: justify;">Note: Users experiencing the <strong>Java Memory Heap Size Less Than 256MB Error</strong> can also read our article on how&nbsp;<a href="https://www.firewall.cx/cisco/cisco-routers/cisco-configuration-professional-java-errors.html" target="_blank" title="How To Fix Cisco Configuration Professional (CCP) 'Java Memory Heap Size Less Than 256MB Error' &amp; Java Runtime Environment Settings">How To Fix Cisco Configuration Professional (CCP) 'Java Memory Heap Size Less Than 256MB Error' &amp; Java Runtime Environment Settings</a>.</p>
<p style="text-align: justify;"><strong>CCP</strong> is a versatile and easy-to-use tool. It not only provides the ability to configure your Cisco router but also allows you to monitor its interfaces, CPU memory etc. and manage almost every service available on the router itself.</p>
<p style="text-align: justify;">As with most Cisco configuration tools, CCP requires Internet Explorer to work correctly, ironically this is also where the problem with CCP begins.</p>
<p style="text-align: justify;">When installing the <strong>Cisco Configuration Professional</strong> application on a system running Internet Explorer 10, users frequently get the CCP application displayed only in about one third of the browser’s window, as shown below:</p>
<p><img src="https://www.firewall.cx/images/stories/cisco-ccp-display-problem-1.png" alt="cisco-ccp-display-problem-1" width="660" height="399" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco Configuration Professional (CCP) Display/Window View Problem - Internet Explorer 10 Not Showing Correctly" /></p>
<p style="text-align: justify;">Obviously, working in such a crammed environment is impossible but, thankfully, overcoming this display issue is fairly simple.</p>
<h2>How To Get Cisco Configuration Professional Displayed Correctly</h2>
<p style="text-align: justify;">The problem with CCP lies inside Internet Explorer’s compatibility settings. To fix this issue, from Internet Explorer’s menu, select <strong>Tools&gt; Compatibility View Settings</strong> as shown below:</p>
<p><img src="https://www.firewall.cx/images/stories/cisco-ccp-display-problem-2.jpg" alt="cisco-ccp-display-problem-2" width="660" height="571" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco Configuration Professionall (CCP) Display Problem - Internet Explorer Compatibility View Settings" /></p>
<p style="text-align: justify;">Next, in the new window, type IP address <strong>127.0.0.1</strong> in the <strong>Add this Website</strong> field and click on the <strong>Add</strong> button to insert it to the <strong>Compatibility View</strong> list:</p>
<p><img src="https://www.firewall.cx/images/stories/cisco-ccp-display-problem-3.png" alt="cisco-ccp-display-problem-3" width="457" height="529" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco Configuration Professional - IE10 Add Local Host - Compatibility View Settings" /></p>
<p><br />After clicking on the <strong>Add </strong>button, the IP address should appear in the <strong>Compatibiity View</strong> area:</p>
<p><img src="https://www.firewall.cx/images/stories/cisco-ccp-display-problem-4.png" alt="cisco-ccp-display-problem-4" width="458" height="529" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco Configuration Professional (CCP) Display/Window View Problem - Internet Explorer 10 Settings" /></p>
<p>When done, click on the <strong>Close</strong> button to complete the process.</p>
<p>Now we can launch <strong>CCP </strong>and it will be displayed correctly within our Internet Explorer web browser:</p>
<p><img src="https://www.firewall.cx/images/stories/cisco-ccp-display-problem-5.jpg" alt="cisco-ccp-display-problem-5" width="660" height="494" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco Configuration Professional (CCP) Display/Window View Problem - Internet Explorer 10 Settings" /></p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Thu, 17 Oct 2013 08:07:21 +1100</pubDate>
		</item>
		<item>
			<title>How to Restrict Cisco IOS Router VPN Client to Layer-4 (TCP, UDP) Services - Applying IP, TCP &amp; UDP Access Lists</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-vpn-client-acls.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-vpn-client-acls.html</guid>
			<description><![CDATA[<p style="text-align: justify;">In our article <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-vpn-client.html" target="_blank" title="Cisco VPN Client Configuration - Setup for IOS Router">Cisco VPN Client Configuration - Setup for IOS Router</a>&nbsp; we explained how to setup up a Cisco IOS router to support Cisco IPSec VPN clients, allowing remote users to securely connect to the company network and access the available resources.</p>
<p style="text-align: justify;">It is recommended that users with little or no experience on Cisco router VPN client configuration read our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-vpn-client.html" target="_blank" title="Cisco Router VPN Client Configuration">Cisco Router VPN Client Configuration</a> article before proceeding.</p>
<p style="text-align: justify;">Restricting access to your IPSec VPN clients (or Groups) is possible with the use of standard or extended access lists, which are applied to the <strong>crypto isakmp client configuration group</strong> section.</p>
<p style="text-align: justify;">The problem many administrators and Cisco engineers are faced with is even though usage of <strong>extended</strong> ACLs, defining layer-4 services such as TCP or UDP, is allowed, the router will only apply up to layer-3 access list information. Layer-4 information in the defined access lists is completely ignored.</p>
<h2 style="text-align: justify;">Layer-4 VPN Access Lists Ignored? What Does this Mean?</h2>
<p style="text-align: justify;">To put it simply, if there is a need to restrict Cisco IPSec VPN clients to layer 4 services e.g. http access (TCP port 80) or MSSQL access (TCP port 1433) to an internal server (e.g 192.168.0.6), you’d be surprised to know that even though the vpn group access lists can be defind to restrict access to these services, vpn clients will have full access to host 192.168.0.6 when connecting to the VPN!</p>
<p>The Cisco IOS Router will completely ignore any layer 4 information (TCP – UDP) available in the extended access lists applied to the VPN group.<br /><br /><img src="https://www.firewall.cx//images/stories/cisco-routers-vpn-client-layer4-acl-1.png" alt="VPN Client Accessing Company Resources - SQL / Web Server" width="669" height="249" style="display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: justify;">Let’s take for example the following configuration, designed to restrict our <strong>CCLIENT-VPN</strong> VPN group to host <strong>192.168.0.6</strong> and <strong>TCP ports 80</strong> &amp; <strong>1433</strong>:</p>
<div class="box-content" style="text-align: justify;">!<strong><br />aaa new-model</strong><br />aaa authentication login default local<br />aaa authentication login vpn_xauth_ml_1 local<br />aaa authorization network vpn_group_ml_1 local<br />aaa session-id common<br />!<br />
<div><strong>crypto isakmp policy 1</strong></div>
<div>&nbsp;encr 3des</div>
<div>&nbsp;authentication pre-share</div>
<div>&nbsp;group 2</div>
<div>!</div>
<div><strong>crypto isakmp policy 2</strong></div>
<div>&nbsp;encr 3des</div>
<div>&nbsp;hash md5</div>
<div>&nbsp;authentication pre-share</div>
<div>&nbsp;group 2</div>
<div>!</div>
<div><strong>crypto isakmp client configuration group CCLIENT-VPN </strong><br /> &nbsp;key firewall.cx <br /> &nbsp;pool VPN-Pool<br /> &nbsp;acl 120<br /> &nbsp;max-users 5</div>
<div>!</div>
<div><strong>crypto isakmp profile vpn-ike-profile-1</strong></div>
<div>&nbsp;&nbsp; match identity group CCLIENT-VPN</div>
<div>&nbsp;&nbsp; client authentication list vpn_xauth_ml_1</div>
<div>&nbsp;&nbsp; isakmp authorization list vpn_group_ml_1</div>
<div>&nbsp;&nbsp; client configuration address respond</div>
<div>&nbsp;&nbsp; virtual-template 2</div>
<div>!</div>
<div><strong>crypto ipsec transform-set encrypt-method-1 esp-3des esp-sha-hmac</strong></div>
<div>!</div>
<div><strong>crypto ipsec profile VPN-Profile-1</strong></div>
<div>&nbsp;set transform-set encrypt-method-1</div>
<div>!</div>
<div>!</div>
<div><strong>interface Virtual-Template2 type tunnel</strong></div>
<div>&nbsp;ip unnumbered Vlan1</div>
<div>&nbsp;tunnel mode ipsec ipv4</div>
<div>&nbsp;tunnel protection ipsec profile VPN-Profile-1</div>
<div>!</div>
<div>access-list 120 remark ==[VPN Group CCLIENT-VPN Access Lists]==<br /> access-list 120 permit tcp host&nbsp; 192.168.0.6 eq 80 192.168.0.0 0.0.0.255</div>
access-list 120 permit tcp host&nbsp; 192.168.0.6 eq 1433 192.168.0.0 0.0.0.255</div>
<p style="text-align: justify;">When a VPN client belonging to the <strong>CCLIENT-VPN</strong> group connects, he is expected to have access to host 192.168.0.6 and the defined (by the ACLs) services - TCP ports 80 &amp; 1433 - right?&nbsp; Wrong!</p>
<p style="text-align: justify;">Access lists under the <strong>crypto isakmp client configuration group</strong> are <strong>not </strong>filtering access lists. Their purpose is not to control <a href="https://www.firewall.cx//networking-topics/the-osi-model/175-osi-layer4.html" target="_blank" title="OSI Layer-4 Model">Layer-4</a> services, but identify the network routes the remote VPN user(s) will have access to. This is also called <strong>Split-Tunneling</strong>.</p>
<p style="text-align: justify;">It is for this reason the IOS router will allow full access to our host 192.168.0.6.&nbsp; TCP/UDP services, located on <a href="https://www.firewall.cx//networking-topics/the-osi-model/175-osi-layer4.html" target="_blank" title="OSI Layer 4">Layer-4</a> of the <a href="https://www.firewall.cx//networking-topics/the-osi-model.html" target="_blank" title="OSI Model">OSI model</a>, are completely ignored when defined in VPN group access lists.</p>
<p style="text-align: justify;">As a result, this design or limitation (if you like) is a big problem for many network administrators and engineers as it does not provide the flexibility and granularity required in today’s complex and demanding VPN networks.</p>
<h2>The Solution To Making Extended ACLs Work For Cisco IOS VPN Clients – Restricting VPN Clients To Layer 4 Services</h2>
<p style="text-align: justify;">Despite the setback, it is possible to control access to layer 4 TCP/UDP services for your VPN groups. The solution involves creating different <strong>Virtual-Template </strong>interfaces to which the <strong>ISAKMP</strong> profiles, and therefore VPN groups, are bound. We then create a new set of access lists and apply them to the <strong>Virtual-Template</strong> in the <strong>inbound</strong> direction as shown below:</p>
<div class="box-content" style="text-align: justify;">!<br />
<div><strong>crypto isakmp client configuration group web-sql-group</strong></div>
<div>&nbsp;key $firewall.cx$</div>
<div>&nbsp;pool VPN-Pool</div>
<div>&nbsp;<span style="color: #cc99ff;">acl 110</span></div>
<div>&nbsp;max-users 3</div>
<div>!</div>
<div><strong>crypto isakmp profile vpn-ike-profile-2</strong></div>
<div>&nbsp;&nbsp; match identity group web-sql-group</div>
<div>&nbsp;&nbsp; client authentication list vpn_xauth_ml_5</div>
<div>&nbsp;&nbsp; isakmp authorization list vpn_group_ml_1</div>
<div>&nbsp;&nbsp; client configuration address respond</div>
<div>&nbsp;&nbsp; <strong>virtual-template 3</strong></div>
<div>!</div>
<div>!</div>
<div><span style="color: #000000;"><strong>interface Virtual-Template3 type tunnel</strong></span></div>
<div>&nbsp;ip unnumbered Vlan1</div>
<div><strong><span style="color: #000000;">&nbsp;ip access-group 121 in</span></strong></div>
<div>&nbsp;tunnel mode ipsec ipv4</div>
<div>&nbsp;tunnel protection ipsec profile VPN-Profile-1</div>
<div>!</div>
<div><strong>access-list 110 remark ==[Cisco VPN- WEB Service ]==</strong></div>
<div>access-list 110 permit ip host 192.168.0.6 any</div>
<div>access-list 110 remark</div>
<div>!</div>
<div><strong>access-list 121 remark ==[Virtual Template3 - Restrict Access to 192.168.0.6 - HTTP &amp; MSSQL]==</strong></div>
<div><strong><span style="color: #000000;">access-list 121 permit tcp any host 192.168.0.6 eq www</span></strong></div>
<div><strong><span style="color: #000000;">access-list 121 permit tcp any host 192.168.0.6 eq 1433</span></strong></div>
<div>access-list 121 deny&nbsp;&nbsp; ip any any</div>
<div>access-list 121 remark</div>
</div>
<p>Notice how we still use a set of access-lists (<strong>110</strong>) for our new group <strong>web-sql-group</strong>, restricting access to host <strong>192.168.0.6</strong>.&nbsp; These will ensure the VPN group will be able to access the particular host.</p>
<p style="text-align: justify;">Next, we create a new set of access-lists (<strong>121</strong>) which are placed under the new <strong>Virtual-Template3</strong> in the <strong>inbound </strong>direction.&nbsp; These are the extended access-lists that do the job.</p>
<p style="text-align: justify;">Keep in mind that these access-lists must always be placed in the <strong>inbound </strong>direction of the <strong>Virtual-Template3</strong> interface, to ensure they work correctly and block other types of VPN user traffic from reaching our network or hosts.</p>
<p style="text-align: justify;">Finally, it is equally important to pay attention to the <strong>crypto isakmp profile vpn-ike-profile-2 </strong>command, which essentially maps the VPN group with our new <strong>Virtual-Template3</strong> interface. If there is a need to create additional vpn groups with restricted access, all that is required is to configure new crypto isakmp profiles and Virtual-Templates along with the necessary access lists as shown by this example.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Tue, 05 Feb 2013 09:06:06 +1100</pubDate>
		</item>
		<item>
			<title>Configuring Cisco Site to Site IPSec VPN with Dynamic IP Endpoint Cisco Routers</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-vpn-dynamic-endpoint.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-vpn-dynamic-endpoint.html</guid>
			<description><![CDATA[<p style="text-align: justify;">This article serves as an extension to our popular <strong>Cisco VPN topics</strong> covered here on Firewall.cx. While we’ve covered <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-site-to-site-ipsec-vpn.html" target="_blank" title="Site to Site IPSec VPN Tunnel Between Cisco Routers">Site to Site IPSec VPN Tunnel Between Cisco Routers</a> (using static public IP addresses), we will now take a look on how to configure our headquarter Cisco router to support remote Cisco routers with <strong>dynamic</strong> IP addresses.&nbsp; One important note to keep in mind when it comes to this implementation, is that <strong>Site-to-Site VPN networks with Dynamic remote Public IP addresses can only be brought up by the remote site routers as only they are aware of the headquarter's router Public IP address.</strong></p>
<p style="text-align: justify;">IPSec VPN tunnels can also be configured using GRE (Generic Routing Encapsulation) Tunnels with IPsec encryption. GRE tunnels greatly simply the configuration and administration of VPN tunnels and are covered in our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-gre-ipsec.html" target="_blank" title="Configuring Point-to-Point GRE VPN Tunnels">Configuring Point-to-Point GRE VPN Tunnels</a> article. &nbsp;Lastly, DMVPNs – a new VPN trend that provide outstanding flexibility and almost no administration overhead can also be examined by reading our <a href="https://www.firewall.cx/cisco/cisco-services-technologies/cisco-dmvpn-intro.html" target="_blank" title="Understanding Cisco Dynamic Multipoint VPN (DMVPN)">Understanding Cisco Dynamic Multipoint VPN (DMVPN)</a>,&nbsp; <a href="https://www.firewall.cx/cisco/cisco-services-technologies/cisco-dmvpn-models.html" target="_blank" title="Dynamic Multipoint VPN (DMVPN) Deployment Models &amp; Architectures">Dynamic Multipoint VPN (DMVPN) Deployment Models &amp; Architectures</a> and <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-dmvpn-configuration.html" target="_blank" title="Configuring Cisco Dynamic Multipoint VPN (DMVPN) - Hub, Spokes , mGRE Protection and Routing - DMVPN Configuration">Configuring Cisco Dynamic Multipoint VPN (DMVPN) - Hub, Spokes , mGRE Protection and Routing - DMVPN Configuration </a>articles.</p>
<p style="text-align: justify;">ISAKMP (Internet Security Association and Key Management Protocol) and <a href="https://www.firewall.cx/networking/network-protocols/ip-security-protocol.html" target="_blank" title="IPSec Analysis">IPSec</a> are essential to building and encrypting the VPN tunnel. ISAKMP, also called IKE (Internet Key Exchange), is the negotiation protocol that allows two hosts to agree on how to build an IPsec security association. ISAKMP negotiation consists of two phases: Phase 1 and Phase 2. &nbsp;</p>
<p style="text-align: justify;">Phase 1 creates the first tunnel, which protects later ISAKMP negotiation messages. Phase 2 creates the tunnel that protects data. &nbsp;IPSec then comes into play to encrypt the data using encryption algorithms and provides authentication, encryption and anti-replay services.</p>
<h2>IPSec VPN Requirements</h2>
<p style="text-align: justify;">To help make this an easy-to-follow exercise, we have split it into two required steps to get the Site-to-Site IPSec Dynamic IP Endpoint VPN Tunnel to work.</p>
<p style="text-align: justify;">These steps are:</p>
<p style="text-align: justify;">(1)&nbsp; Configure <strong>ISAKMP </strong>(ISAKMP Phase 1)</p>
<p style="text-align: justify;">(2)&nbsp; Configure <strong>IPSec&nbsp; </strong>(ISAKMP Phase 2, ACLs, Crypto MAP)</p>
<p style="text-align: justify;">Our example setup consists of the headquarter router <strong>R1 </strong>which is assigned a <strong>static public IP address</strong>, and two remote routers, <strong>R2 </strong>&amp; <strong>R3</strong>. Both remote routers (<strong>R2 </strong>&amp; <strong>R3</strong>) connect to the Internet and have a <strong>dynamic public IP address</strong> assigned by the ISP, as shown in the diagram below:</p>
<p style="text-align: center;" align="center"><strong><img src="https://www.firewall.cx/images/stories/cisco-router-ipsec-vpn-dynamic-endpoint-1.png" alt="Cisco routers site-to-site IPSec VPN Dynamic Endpoints" width="637" height="294" title="Cisco routers site-to-site IPSec VPN Dynamic Endpoints" /></strong></p>
<p style="text-align: justify;"><strong>Our Headquarters</strong> is assigned an internal network of <strong>10.10.10.0/24</strong>, while <strong>Remote Site 1</strong> has been assigned network <strong>20.20.20.0/24</strong>. &nbsp;and <strong>Remote Site 2</strong> network 30.30.30.0/24. The goal is to securely connect both remote sites with our headquarters and allow full communication, without any restrictions.</p>
<h2>Configure ISAKMP (IKE) - (ISAKMP Phase 1)</h2>
<p style="text-align: justify;">IKE exists only to establish SAs (Security Association) for IPsec. Before it can do this, IKE must negotiate an SA (an ISAKMP SA) relationship with the peer.</p>
<p style="text-align: justify;">To begin, we’ll start working on the Headquarter router (<strong>R1</strong>).</p>
<p style="text-align: justify;">First step is to configure an ISAKMP Phase 1 policy:</p>
<div class="box-content"><strong>crypto isakmp policy 1</strong><br />
<div>&nbsp;encr 3des</div>
<div>&nbsp;hash md5</div>
<div>&nbsp;authentication pre-share</div>
<div>&nbsp;group 2</div>
<div>&nbsp;lifetime 86400</div>
</div>
<p>The above commands define the following (in listed order):</p>
<div style="text-align: justify;"><strong>3DES</strong> - The encryption method to be used for Phase 1.</div>
<div style="text-align: justify;"><strong>MD5</strong> - The hashing algorithm</div>
<div style="text-align: justify;"><strong>Pre-share</strong> - Use Pre-shared key as the authentication method</div>
<div style="text-align: justify;"><strong>Group 2</strong> - Diffie-Hellman group to be used</div>
<div style="text-align: justify;"><strong>86400 </strong>– Session key lifetime. Expressed in either kilobytes (after x-amount of traffic, change the key) or seconds. Value set is the default value.</div>
<p style="text-align: justify;">We should note that <strong>ISAKMP Phase 1</strong> policy is defined globally. This means that if we have five different remote sites and configured five different ISAKMP Phase 1 policies (one for each remote router), when our router tries to negotiate a VPN tunnel with each site it will send all five policies and use the first match that is accepted by both ends. Since we only have one ISAKMP policy, this will be used for all remote VPN routers.</p>
<p style="text-align: justify;">Next we are going to define a pre-shared key for authentication with our peers (R2 &amp; R3 routers) by using the following command:</p>
<div class="box-content"><strong>crypto isakmp key firewallcx address 0.0.0.0 0.0.0.0</strong></div>
<p style="text-align: justify;">The peers pre-shared key is set to <strong>firewallcx</strong> and note that we are defining a remote public IP address of <strong>0.0.0.0 0.0.0.0</strong>. This tells our headquarter router that the remote routers have <span style="text-decoration: underline;">dynamic public IP addresses</span> and ensures it will try to negotiate and establish a VPN tunnel with any router that requests it.</p>
<h2>Configure IPSec</h2>
<p style="text-align: justify;">To configure IPSec we need to setup the following in order:</p>
<div style="text-align: justify;">- <strong>Create extended ACL</strong></div>
<div style="text-align: justify;">- <strong>Create IPSec Transform</strong></div>
<div style="text-align: justify;">- <strong>Create Dynamic Crypto Maps</strong></div>
<div style="text-align: justify;"><strong>- Apply crypto map to the public interface<br /> <br /> </strong>Let us examine each of the above steps.</div>
<h2>Creating Extended ACL</h2>
<p style="text-align: justify;">Next step is to create an access-list and define the traffic we would like the router to pass through each &nbsp;VPN tunnel. In this example, for the first VPN tunnel it would be traffic from headquarters (10.10.10.0/24) to remote site 1 (20.20.20.0/24) &nbsp;and for the second VPN tunnel it will be from our headquarters (10.10.10.0/24) to remote site 2 (30.30.30.0/24).&nbsp; Access-lists that define VPN traffic are sometimes called <strong>crypto access-list</strong> or <strong>interesting traffic access-list</strong>.</p>
<p style="text-align: justify;">Because we are dealing with two separate VPN tunnels, we’ll need to create one set of access-lists for each:</p>
<div class="box-content"><strong>ip access-list extended VPN1-TRAFFIC</strong><br />&nbsp;permit ip 10.10.10.0 0.0.0.255 20.20.20.0 0.0.0.255<br />!<br /><strong>ip access-list extended VPN2-TRAFFIC</strong>
<div>&nbsp;permit ip 10.10.10.0 0.0.0.255 30.30.30.0 0.0.0.255</div>
</div>
<h2>Create IPSec Transform (ISAKMP Phase 2 policy)</h2>
<p style="text-align: justify;">Now we need to create the transform set used to protect our data. We’ve named our transform set <strong>TS</strong>:</p>
<div class="box-content"><strong>crypto ipsec transform-set TS esp-3des esp-md5-hmac</strong></div>
<p style="text-align: justify;">The above command defines the following: &nbsp;</p>
<div style="text-align: justify;">- <strong>ESP-3DES</strong> - Encryption method</div>
<div style="text-align: justify;">- <strong>MD5 </strong>- Hashing algorithm</div>
<h2 style="text-align: justify;">Create Dynamic Crypto Maps</h2>
<p style="text-align: justify;">The <strong>Crypto Map</strong> is the last step of our setup and connects the previously defined <strong>ISAKMP</strong> and <strong>IPSec</strong> configuration together. We will need one dynamic crypto map for each remote endpoint, which means a total of two crypto maps for our setup.</p>
<p style="text-align: justify;">First we create a crypto map named <strong>VPN</strong> which will be applied to the public interface of our headquarter router, and connect it with the dynamic crypto maps we named as <strong>hq-vpn</strong>.</p>
<div class="box-content"><strong>crypto map VPN 1 ipsec-isakmp dynamic hq-vpn</strong></div>
<p style="text-align: justify;">The <strong>ipsec-isakmp </strong>tag tells the router that this crypto map is an IPsec crypto map. Now we create our two dynamic crypto maps using the following configuration commands:</p>
<div class="box-content"><strong>crypto dynamic-map hq-vpn 10</strong><br />
<div>&nbsp;set security-association lifetime seconds 86400</div>
<div>&nbsp;set transform-set TS</div>
<div>&nbsp;match address VPN1-TRAFFIC</div>
<div>!</div>
<div><strong>crypto dynamic-map hq-vpn 11</strong></div>
<div>&nbsp;set security-association lifetime seconds 86400</div>
<div>&nbsp;set transform-set TS</div>
<div>&nbsp;match address VPN2-TRAFFIC</div>
</div>
<p>Notice how we create one dynamic map for each remote network. The configuration is similar for each dynamic crypto map, with only the instance number (<strong>10</strong> , <strong>11</strong>) and match address (<strong>VPN1-TRAFFIC</strong> , <strong>VPN2-TRAFFIC</strong>) changing.</p>
<p style="text-align: justify;">Adding additional remote sites in the future is as easy as simply adding more dynamic crypto maps, incrementing the index number and specifying the match address extended access-lists for each remote network.</p>
<h2>Apply Crypto Map To The Public Interface</h2>
<p style="text-align: justify;">The final step is to apply our crypto map to the public interface of the headquarter router, which is FastEthernet0/1. In many cases, this might be a serial or ATM (ADSL - Dialer) interface:</p>
<div class="box-content"><strong>interface FastEthernet0/1</strong><br />&nbsp;crypto map VPN<strong><br /></strong></div>
<p style="text-align: justify;">Note that you can assign only one crypto map to an interface.</p>
<p style="text-align: justify;">As soon as we apply crypto map on the interface, we receive a message from the router&nbsp;that confirms isakmp is on: “<strong>ISAKMP is ON</strong>”.</p>
<p style="text-align: justify;">At this point, we have completed the IPSec VPN configuration on our headquarter router and we can move to the remote endpoint routers.</p>
<h2 style="text-align: justify;">Configuring Remote Endpoint Routers (Dynamic Public IP Addresses)</h2>
<p style="text-align: justify;">Our remote routers connect to the Internet and are assigned a dynamic IP address which changes periodically by the ISP. &nbsp;In most part, the configuration is similar to that of the headquarter router, but with a few minor changes.</p>
<p style="text-align: justify;">In the configuration below, IP address <strong>74.200.90.5</strong> represents the public IP address of our headquarter router.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;"><strong>Remote Site 1 Router</strong></span></p>
<div class="box-content"><strong>crypto isakmp policy 1</strong><br />&nbsp;encr 3des
<div>&nbsp;hash md5</div>
<div>&nbsp;authentication pre-share</div>
<div>&nbsp;group 2</div>
<div>&nbsp;lifetime 86400</div>
<div>!</div>
<div><strong>crypto isakmp key firewallcx address 74.200.90.5</strong></div>
<div>!</div>
<div><strong>ip access-list extended VPN-TRAFFIC</strong></div>
<div>&nbsp;permit ip 20.20.20.0 0.0.0.255 10.10.10.0 0.0.0.255</div>
<div>&nbsp; !</div>
<div><strong>crypto ipsec transform-set TS esp-3des esp-md5-hmac</strong></div>
<div>!</div>
<div><strong>crypto map vpn-to-hq 10 ipsec-isakmp</strong></div>
<div>&nbsp;set peer 74.200.90.5</div>
<div>&nbsp;set transform-set TS</div>
<div>&nbsp;match address VPN-TRAFFIC<br />!</div>
<div><strong>interface FastEthernet0/1</strong></div>
<div>&nbsp;crypto map vpn-to-hq</div>
</div>
<div><span style="text-decoration: underline;"><strong>Remote Site 2 Router</strong></span></div>
<div class="box-content"><strong>crypto isakmp policy 1</strong><br />&nbsp;encr 3des<br />&nbsp;hash md5<br />&nbsp;authentication pre-share<br />&nbsp;group 2<br />&nbsp;lifetime 86400<br />!<strong><br />crypto isakmp key firewallcx address 74.200.90.5</strong><br />!<br /><strong>ip access-list extended VPN-TRAFFIC</strong><br />&nbsp;permit ip 30.30.30.0 0.0.0.255 10.10.10.0 0.0.0.255<br />!<br /><strong>crypto ipsec transform-set TS esp-3des esp-md5-hmac</strong><br />!<br /><strong>crypto map vpn-to-hq 10 ipsec-isakmp</strong><br />&nbsp;set peer 74.200.90.5<br />&nbsp;set transform-set TS<br />&nbsp;match address VPN-TRAFFIC<br />!<br /><strong>interface FastEthernet0/1</strong><br />&nbsp;crypto map vpn-to-hq</div>
<div>It is noticeable that the only major difference between the two routers configuration is the extended access list.</div>
<h2>Network Address Translation (NAT) &amp; IPSec VPN Tunnels</h2>
<p style="text-align: justify;"><a href="https://www.firewall.cx/networking/network-address-translation.html" target="_blank" title="Network Address Translation (NAT)"><strong>Network Address Translation</strong> (<strong>NAT</strong>)</a> is most likely to be configured to provide Internet access to internal hosts. When configuring a Site-to-Site VPN tunnel, it is imperative to instruct the router <strong>not to perform NAT</strong> (deny NAT) on packets destined to the remote VPN networks.</p>
<p style="text-align: justify;">This is easily done by inserting a deny statement at the beginning of the NAT access lists as shown below:</p>
<p style="text-align: justify;">For the<strong> headquarter router</strong>, <strong>deny </strong>NAT for packets destined to the remote VPN networks, but allow NAT for all other networks (Internet):</p>
<div class="box-content" style="text-align: justify;"><strong>ip nat inside source list 100 interface fastethernet0/1 overload</strong><br />!<br />access-list 100 remark -=[Define NAT Service]=-<br />access-list 100 deny ip 10.10.10.0 0.0.0.255 20.20.20.0 0.0.0.255<br />access-list 100 deny ip 10.10.10.0 0.0.0.255 30.30.30.0 0.0.0.255<br />access-list 100 permit ip 10.10.10.0 0.0.0.255 any<br />access-list 100 remark<strong><br /></strong></div>
<p>For <strong>Remote Site 1 Router</strong>, <strong>deny NAT</strong> for packets destined to the headquarter network:</p>
<div class="box-content"><strong>ip nat inside source list 100 interface fastethernet0/1 overload</strong><br />
<div>!</div>
<div>access-list 100 remark -=[Define NAT Service]=-</div>
<div>access-list 100 deny ip 20.20.20.0 0.0.0.255 10.10.10.0 0.0.0.255</div>
<div>access-list 100 permit ip 20.20.20.0 0.0.0.255 any</div>
<div>access-list 100 remark</div>
</div>
<p><br />For <strong>Remote Site 2 Router</strong>, <strong>deny NAT </strong>for packets destined to the headquarter network:</p>
<div class="box-content" style="text-align: justify;"><strong>ip nat inside source list 100 interface fastethernet0/1 overload</strong><br />
<div>!</div>
<div>access-list 100 remark -=[Define NAT Service]=-</div>
<div>access-list 100 deny ip 30.30.30.0 0.0.0.255 10.10.10.0 0.0.0.255</div>
<div>access-list 100 permit ip 30.30.30.0 0.0.0.255 any</div>
<div>access-list 100 remark</div>
</div>
<h2>Bringing Up &amp; Verifying The VPN Tunnel</h2>
<p style="text-align: justify;">At this point, we’ve completed our configuration and the VPN Tunnel is ready to be brought up.&nbsp; To initiate the VPN Tunnel, we need to force one packet to traverse the VPN and this can be achieved by pinging from one router to another.&nbsp; There is however one caveat that was mentioned in the beginning of this article:&nbsp;</p>
<div class="box-warning" style="text-align: justify;">Site to Site VPN networks with <strong>Dynamic remote Public IP addresses</strong> can only be brought up by the <strong>remote sites</strong>.</div>
<p style="text-align: justify;">The reason for this is simple and logical. Only the remote site routers are aware of the headquarter’s public IP address (74.200.90.5) because it is static, and therefore only the remote router can initiate the VPN tunnel.</p>
<p style="text-align: justify;">From <strong>Remote Site 1</strong>, let’s ping the headquarter router:</p>
<p class="box-content">R2# <strong>ping 10.10.10.1 source fastethernet0/1</strong><br />Type escape sequence to abort.<br />Sending 5, 100-byte ICMP Echos to 10.10.10.1, timeout is 2 seconds:<br />Packet sent with a source address of 73.54.120.100<br />.!!!!<br />Success rate is 80 percent (4/5), round-trip min/avg/max = 42/46/5</p>
<p>The first ping received a timeout, but the rest received a reply, as expected. The time required to bring up the VPN Tunnel is sometimes slightly more than 2 seconds, causing the first ping to timeout.</p>
<p style="text-align: justify;">To verify the VPN Tunnel, use the <strong>show crypto session</strong> command:</p>
<div class="box-content" style="text-align: justify;">R2# <strong><strong>show crypto session<br /></strong></strong>
<div>Crypto session current status</div>
<div>Interface: FastEthernet0/1</div>
<div>Session status: <strong>UP-ACTIVE</strong>&nbsp;&nbsp;&nbsp;&nbsp;</div>
<div>Peer: 74.200.90.5 port 500</div>
<div>&nbsp; IKE SA: local 73.54.120.100/500 remote 74.200.90.5 /500 <strong>Active</strong></div>
<div>&nbsp; IPSEC FLOW: permit ip 20.20.20.0/255.255.255.0 10.10.10.0/255.255.255.0</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>&nbsp; Active SAs: 2, origin: crypto map</strong></div>
</div>
<p style="text-align: justify;">From <strong>Remote Site 2</strong>, let’s ping the headquarter router:</p>
<div class="box-content" style="text-align: justify;">R3# <strong><strong>ping 10.10.10.1 source fastethernet0/1<br /></strong></strong>
<div>Type escape sequence to abort.</div>
<div>Sending 5, 100-byte ICMP Echos to 10.10.10.1, timeout is 2 seconds:</div>
<div>Packet sent with a source address of 85.100.120.5</div>
<div><strong>.!!!!</strong></div>
<div>Success rate is 80 percent (4/5), round-trip min/avg/max = 47/50/53 ms</div>
</div>
<p>Again, the first ping received a timeout, but the rest received a reply, as expected. The time required to bring up the VPN Tunnel is sometimes slightly more than 2 seconds, causing the first ping to timeout.</p>
<p style="text-align: justify;">To verify the VPN Tunnel, use the show crypto session command:</p>
<div class="box-content" style="text-align: justify;">R3# <strong><strong>show crypto session<br /></strong></strong>
<div>Crypto session current status</div>
<div>Interface: FastEthernet0/1</div>
<div>Session status: <strong>UP-ACTIVE</strong>&nbsp;&nbsp;&nbsp;&nbsp;</div>
<div>Peer: 74.200.90.5 port 500</div>
<div>&nbsp; IKE SA: local 85.100.120.5/500 remote 74.200.90.5 /500 <strong>Active</strong></div>
<div>&nbsp; IPSEC FLOW: permit ip 30.30.30.0/255.255.255.0 10.10.10.0/255.255.255.0</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>&nbsp; Active SAs: 2, origin: crypto map</strong></div>
</div>
<p style="text-align: left;">Issuing the <strong>show crypto session</strong> command at the <strong>headquarter router</strong> will reveal all remote routers public IP addresses. This is usually a good shortcut when trying to figure out the public IP address of your remote routers.<a href="https://www.firewall.cx/cisco-technical-knowledgebase/cisco-routers.html" title="Cisco Routers - Configuration Section"><br /></a></p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Mon, 21 Jan 2013 10:07:45 +1100</pubDate>
		</item>
		<item>
			<title>MPLS Case Study: Why Route Summarization is not Recommended on Loopbacks in an MPLS Environment - Network</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-mpls-loopback-sum.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-mpls-loopback-sum.html</guid>
			<description><![CDATA[<p style="text-align: justify;">MPLS generates <strong style="text-align: justify;">Implicit Null</strong> label (The Implicit NULL label is the label that has a value of 3) for directly connected interfaces and for the summary routes. <strong>Label Switch Router</strong> (<strong>LSR</strong>) generates this label and shares it with its directly connected peers with <strong>PoP </strong>(<strong>Point of Presence</strong>) tag. The advantage of using this label helps the destined router to increase its performance as the top most label tag was removed by the penultimate router (Router before the destined router). &nbsp;</p>
<p style="text-align: justify;">The question that arises here is what will happen when all the <strong>IGP</strong> loopbacks are advertised as a single network in order to save the number of routes advertised?&nbsp; Will this drop the traffic as per <strong>Penultimate Hop Popping</strong> (<strong>PHP</strong>) logic or will traffic forwarding still work as it is supposed to?</p>
<p style="text-align: justify;">This article focuses on the impact of route summarization summary on loopback addresses in an MPLS environment and examines available work-arounds to overcome problems caused by the route summarization.</p>
<p style="text-align: justify;">Readers seeking more information on MPLS IP VPN Networks, and how they work, can refer to our article: <a href="https://www.firewall.cx/cisco/cisco-routers/mpls-ip-vpn-security.html" target="_blank" title="Understanding MPLS IP VPNs, Security Attacks and VPN Encryption">Understanding MPLS IP VPNs, Security Attacks and VPN Encryption</a>. The article covers basic MPLS concepts and explains how MPLS IP VPNs work.</p>
<h2 style="text-align: justify;">Understanding MPLS Labels: PUSH / POP / SWAP / PHP</h2>
<p style="text-align: justify;">When talking about MPLS environments we often come across terms such as <strong>PUSH</strong>, <strong>POP </strong>&amp; <strong>SWAP </strong>&amp; <strong>PHP</strong>. Below we explain what these terms mean and their functions:<br /> <br /> Following is a brief explanation of the popular MPLS terms PUSH, POP &amp; SWAP, PHP:</p>
<ol style="text-align: justify;">
<li><strong>PUSH</strong>: Adding a label to incoming packet. Also known as <strong>label imposition.</strong></li>
<li><strong>SWAP</strong>: Swap the incoming label with another outgoing label</li>
<li><strong>POP</strong>: Remove the label from outgoing packet. Also known as <strong>label disposition</strong>.</li>
<li><strong>PHP</strong>: Stands for <strong>Penultimate Hop Popping</strong>. It refers to the process whereby the outermost label of an MPLS tagged packet is removed by a <strong>Label Switch Router</strong> (<strong>LSR</strong>) before the packet is passed to an adjacent <strong>Label Edge Router</strong> (<strong>LER</strong>).</li>
</ol>
<h2 style="text-align: justify;">Requirements For Our Test Environment</h2>
<p style="text-align: justify;">Prior to reading this document you should be familiar with mpls vpn environment. This article assumes the reader has experience in MPLS environments and routing protocols. It is recommended that you understand functions such as <strong>Penultimate Hop Popping</strong> (PHP) and <strong>Double Penultimate Hop Popping Lookup</strong>.</p>
<h2 style="text-align: justify;">Understand the Current Topology - Example</h2>
<p style="text-align: justify;">As shown in the figure below, the service provider network is based upon a tier-three architecture. It has three types of layers:&nbsp; Core, Distribution and Access.</p>
<p style="text-align: justify;"><img src="https://www.firewall.cx//images/stories/cisco-mpls-loopback-sum-1.png" alt="cisco mpls route summarization " width="644" height="301" style="display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: justify;"><strong>Core Layer</strong> is usually referred to as <strong>Tier 1</strong>, <strong>Distribution Layer</strong> as <strong>Tier 2</strong> and <strong>Access Layer</strong> as <strong>Tier 3</strong>. Core Layer is used to connect the different areas with each other and is largely responsible for the forwarding of traffic only. At the Distribution Layer, areas are segregated and used for the area summarization. Customers are terminated at the Access Layer i.e. Tier-3. &nbsp;</p>
<ul style="text-align: justify;">
<li><strong>Tier one</strong> consists of core which will be participating only in Area 0</li>
<li><strong>Tier two</strong> is directly connected with area 0 and local area</li>
<li><strong>Tier three</strong> is connected to <strong>Tier two</strong> and does not directly connect with <strong>Tier one</strong>. <strong>Tier three</strong> participates only in the local area &amp; customers connect at this layer.</li>
</ul>
<p style="text-align: justify;">The same model is used for all the locations. Every <strong>Tier 2</strong> has an allocated pool of /16 subnet. If you're wondering why /16, it is because it allows the summary to be performed for Area 1 to Area 0. By performing the summary, only a single route will come in Area 0 and no more flaps will participate in spf (shortest-path-first) calculations.</p>
<p style="text-align: justify;">In figure 1, <strong>PUNE </strong>(router name) is a Tier two POP and aggregates all links from which arrives Tier 3 or from local PUNE. A schematic ip pool of 10.1.0.0/16 is allocated to router PUNE provisioning team and further this pool is divided into 255 multiple networks of /24 as shown below:</p>
<ul style="text-align: justify;">
<li>10.1.1.0/24</li>
<li>10.1.2.0/24</li>
<li>10.1.3.0/24</li>
</ul>
<p style="text-align: justify;">Every /24 is allocated to each POP.&nbsp; 10.1.255.0/24 is reserved for loopback addresses &amp; 10.1.253.0/24,10.1.252.0/24 &amp; 10.1.252.0/24 is reserved for WAN addresses.</p>
<h2 style="text-align: justify;">Requirements of POP</h2>
<p style="text-align: justify;" align="left">With every /24 pool given to every <strong>PoP </strong>(Point of Presence) (where all the devices are physically installed), a /32 IP address is given from the 10.1.255.0/24 pool. When the routes are advertised in MP-BGP, labels are only required for the loopbacks of the <strong>PoP </strong>routers and not for the entire subnet. The reason is that when the forwarding occurs only the next hop is checked, which is nothing but the loopback address of the PoP router. It means LDP is performing on loopback addresses.</p>
<p style="text-align: justify;">Note: That’s why labels are always required for loopback addresses and not for entire routes like Wan and Lan Addresses.</p>
<h2 style="text-align: justify;">Performing Route Summarization</h2>
<p style="text-align: justify;">Pune router is configured as the <strong>ABR </strong>(Area Border Router, in which one interface is connected with Area 0 and another interface is connected with Area 1). To reduce the number of routes from the backbone area in Area 0, Pune Router (ABR) has to perform a summarization of Area 0 networks advertised into Area 1.</p>
<p style="text-align: justify;">Before this summarization takes place everything works fine, however, after the Pune Router advertised its summary route towards Area 1 (Not Area 0), connectivity was lost.</p>
<p style="text-align: justify;">Customers start complaining that their VPN network is not working. They are not able to access their VPN’s across the country.</p>
<p style="text-align: justify;">No changes have been made in the network except the summarization. The entire network is reachable except the customer’s VPN network. Does it mean that summarization made the customer’s network go down? How could it be possible?</p>
<h2>Understanding Why Connectivity Was Lost</h2>
<p style="text-align: justify;">Let us examine why customer VPN networks went down as soon as the ABR router performed its route summarization of Area 0 and advertised it into Area 1</p>
<p style="text-align: justify;">Penultimate Hop Popping will occur only for directly connected &amp; summarized routes. It means every router is giving an implicit null to the adjacent router for its loopback address. In figure 1 router <strong>T-PE2</strong> is giving implicit null to router <strong>T-PE1</strong> for its loopback <strong>10.1.255.2</strong>. It means when a packet destined for router <strong>10.1.255.2</strong> as soon as it arrives at router <strong>T-PE1</strong>, the upper label (which is an IGP label) is removed by <strong>T-PE1</strong>.</p>
<p style="text-align: justify;">Now a packet that has a single label called VPN label is forwarded toward <strong>T-PE2</strong>. Once the packet is received by <strong>T-PE2</strong>, it will perform the lookup for that VPN label, remove the VPN label and forward it out one of the connected interfaces as a pure IP packet.</p>
<p style="text-align: justify;">Now let's explain what happened in case of summarization at the ABR router.</p>
<p style="text-align: justify;">On the <strong>ABR </strong>router, summarization is performed for the<strong> 10.1.0.0/16</strong> pool, which also includes the loopback addresses. As soon as the summary is announced by <strong>ABR</strong>, an implicit null was announced to the directly connected peers in <strong>Area 0</strong>. <br /><br />Traffic originating from <strong>Core-3</strong> and <strong>Core-4</strong> with a destination to <strong>T-PE2</strong> must pass through the router <strong>Pune</strong>. But due to summarization, <strong>Pune </strong>router is announcing <strong>10.1.0.0/16</strong> with implicit null to all its peers connected in <strong>Area 0</strong>. <br /><br />At this point the VPN packets, destined for <strong>Area 1</strong>, originating from <strong>Core 3</strong> and <strong>Core 4</strong>, received by router <strong>Pune,</strong> have only a single label which is VPN label (Pune router is receiving VPN packets with single label due to PHP).&nbsp; As soon as the VPN packets destined for<strong> T-PE2</strong> arrive at<strong> Pune ABR</strong> with single VPN label, they are dropped because that VPN label is not available in <strong>Pune ABR</strong>. The behavior of router <strong>Pune </strong>remains the same for the entire traffic forwarding and finally traffic gets blackholed at <strong>router Pune</strong>.</p>
<h2 style="text-align: justify;">Workarounds</h2>
<p><strong>Workaround No.1 - Perform the summary which excludes your loopback addresses</strong></p>
<p style="text-align: justify;">e.g 10.16.0.0/16 is the major pool which has 256 subnets starting from 10.16.0.0/24 10.16.1.0/24, 10.16.2.0/24, 10.16.3.0/24 up to 10.16.255.0/255.</p>
<p style="text-align: justify;">Out of the 256 subnets, we can reserve for loopback addresses a few of the subnets starting from Network IDs 10.16.0.0/24, 10.16.1.0/24, 10.16.2.0/24, 10.16.3.0/24,10.16.4.0/24, 10.16.5.0/24, 10.16.6.0/24, and 10.16.7.0/24, and rest of the /24 pools for Network ID 10.16.8.0/24 onwards can be used for the backbone addresses. In this case, it is not necessary to perform &nbsp;summarization of the loopbacks pools, while we are able to summarize the rest of the pools.</p>
<p style="text-align: justify;"><strong>Workaround No.2 - Make use of a different pool of ip addresses that will never participate in summarization. <br /></strong></p>
<p style="text-align: justify;">Our second workaround involves reserving Network 10.18.0.0/16 for the loopback addresses and assigning Network IDs 10.17.0.0/16 and 10.16.0.0/16 to the backbone addresses. In this case we can perform the summarization on 10.16.0.0/16 and 10.17.0.0/16 pools, excluding Network ID 10.18.0.0/16.</p>
<h2>About The Author</h2>
<p style="text-align: justify;">Shivlu is a Cisco engineer with extensive experience in planning, designing, managing and maintaining large MPLS VPN service networks. Shivlu also has expertise in leading, envisioning and delivering technology based growth initiatives.</p>
<p style="text-align: justify;">Shivlu currently works at Cisco Systems, he is responsible for designing end to end telecom solutions. He has a Masters Degree in Computer Application.</p>
<p style="text-align: justify;">Readers can contact Shivlu via his blog, located at the following URL: <a href="http://www.mplsvpn.info" target="_blank" rel="nofollow noopener">http://www.mplsvpn.info</a></p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Thu, 29 Nov 2012 08:00:00 +1100</pubDate>
		</item>
		<item>
			<title>Configuring Cisco SSL VPN AnyConnect (WebVPN) on Cisco IOS Routers</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-anyconnect-webvpn.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-anyconnect-webvpn.html</guid>
			<description><![CDATA[<p style="text-align: justify;">Our <a href="https://www.firewall.cx/cisco/cisco-services-technologies/cisco-web-vpn.html" target="_blank" title="Web SSL VPN Configuration">Web SSL VPN</a> article written back in 2011 introduced this new wave of VPN services.&nbsp; This article extends the topic by covering the installation and configuration of Cisco’s SSL AnyConnect VPN for Cisco IOS Routers.</p>
<p style="text-align: justify;"><strong>Web SSL VPN</strong> delivers the following <strong>three modes</strong> of <strong>SSL VPN access</strong>:</p>
<p style="text-align: justify;">• <strong><em>Clientless</em></strong> - Clientless mode provides secure access to private web resources and will provide access to web content. This mode is useful for accessing most content that you would expect to access in a web browser such as Internet access, web-based intranet, webmail etc.</p>
<p style="text-align: justify;">• <strong><em>Thin Client</em></strong> (port-forwarding Java applet) - Thin client mode extends the capability of the cryptographic functions of the web browser to enable remote access to TCP-based applications such as Post Office Protocol version 3 (POP3), Simple Mail Transfer Protocol (SMTP), Internet Message Access protocol (IMAP), Telnet and Secure Shell (SSH).</p>
<p style="text-align: justify;">• <strong><em>Tunnel Mode (AnyConnect Secure Mobility Client) </em></strong>- Full tunnel client mode offers extensive application support through its dynamically downloaded Cisco <strong>AnyConnect VPN Client</strong> (next-generation SSL VPN Client) for SSL VPN. Full tunnel client mode delivers a lightweight, centrally configured and easy-to-support SSL VPN tunneling client that provides network layer access to virtually any application.</p>
<p style="text-align: justify;">The <strong>advantage</strong> of <strong>SSL VPN</strong> comes from its accessibility from almost any Internet-connected system without needing to install additional desktop software.</p>
<h2>Introducing Cisco SSL AnyConnect VPN - WebVPN</h2>
<p style="text-align: justify;">Cisco SSL AnyConnect VPN is a real trend these days – it allows remote users to access enterprise networks from anywhere on the Internet through an SSL VPN gateway using a web browser. During the establishment of the SSL VPN with the gateway, the client downloads and installs the AnyConnect VPN client from VPN gateway. This feature allows easy access to services within the company’s network and simplifies the VPN configuration on the SSL VPN gateway, reducing dramatically the administrative overhead for system administrators.</p>
<p align="center"><img src="https://www.firewall.cx//images/stories/cisco-routers-anyconnect-1.jpg" alt="cisco anyconnect ssl webvpn login" width="600" height="339" title="Cisco WebVPN " /></p>
<p align="center"><em>The Cisco secure WebVPN router login screen</em></p>
<p style="text-align: justify;">The <strong>Cisco SSL AnyConnect VPN client</strong> was introduced in <strong>Cisco IOS 12.4(15)T</strong> and has been in development since then. Today, Cisco SSL AnyConnect VPN client supports all Windows platforms, Linux Redhat, Fedora, CentOS, iPhones, iPads and Android mobile phones.</p>
<p style="text-align: justify;">Regardless of the client (PC, smartphone etc), the router configuration remains the same, while the appropriate VPN client software is downloaded by the client connecting to the VPN gateway (router).</p>
<p style="text-align: justify;">Smartphones such as iPhones (iPAD included) and Android can download the Cisco VPN AnyConnect Secure Mobility Client directly from iTunes (Apple) or the Google Play store respectively (android phones).&nbsp; To download it, connect to your store and search for ‘<strong>Cisco AnyConnect</strong>’.</p>
<div class="box-hint" style="text-align: justify;">IOS version <strong>15.1.4(M7)</strong> or greater is required to correctly support <strong>Anyconnect Secure Mobility Client</strong> for Smartphone clients (Android, iPhone, etc). For Windows Anyconnect clients, it is highly recommended to use <strong>IOS 12.4(20)T</strong> or greater. Also keep in mind that <strong>IOS 12.4</strong> does not require any license activation for the Webvpn service.</div>
<div>This article will use a Windows 7 workstation and Samsung Galaxy SII running Ice Cream Sandwich (4.0.4), as mobile clients.&nbsp;</div>
<p style="text-align: justify;">To <strong>download VPN AnyConnect Secure Mobility Client packages</strong> files for Windows, MacOS X and Linux platforms, free, simply visit our <a href="https://www.firewall.cx//downloads/cisco-tools-a-applications.html" target="_blank" title="Free Cisco Applications &amp; Tools Downloads">Cisco Download</a> section. The latest version of the client was made available at the time of writing this article.</p>
<p style="text-align: justify;">Once our client is downloaded and installed on our Windows 7 workstation it will be ready to initiate the VPN connection to our VPN Gateway:</p>
<p align="center"><img src="https://www.firewall.cx//images/stories/cisco-routers-anyconnect-4.jpg" alt="cisco anyconnect secure mobility client connect" width="501" height="197" title="Cisco AnyConnect Client" /></p>
<h2 style="text-align: justify;">Steps To Configure &amp; Enable SSL AnyConnect VPN Secure Mobility Client</h2>
<ul class="check">
<li>&nbsp;Upload AnyConnect Secure Mobility Client to our Cisco Router</li>
<li>Generate RSA Keys</li>
<li>Declare the Trustpoint &amp; Create Self-Signed Certificate</li>
<li>Configure WebVPN Pool IP addresses assigned to the VPN Users</li>
<li>Enable and Configure AAA Authentication for SSL VPN &amp; Create User Accounts</li>
<li>Enable WebVPN License</li>
<li>Configure and enable WebVPN Gateway</li>
<li>Configure and enable SSL VPN Context</li>
<li>Configure default group policy, authentication list and final parameters for WebVPN</li>
</ul>
<div class="box-hint" style="text-align: justify;"><strong>Note:</strong> The complete working configuration for WebSSL VPN AnyConnect can be found at the end of this article.</div>
<h2 style="text-align: justify;">Uploading AnyConnect Secure Mobility Client Package To Our Cisco Router</h2>
<p style="text-align: justify;">The first step is to upload the Cisco AnyConnect client to the router’s flash memory.&nbsp; Depending on the type of clients you might need to upload more than one VPN AnyConnect client package.&nbsp; For our article, we will be using the latest VPN AnyConnect client for Windows, which at the time of writing was version <strong>3.1.00495</strong> (anyconnect-win-3.1.00495-k9.pkg). Cisco AnyConnect VPN client is available for download in our <a href="https://www.firewall.cx/downloads/cisco-tools-a-applications.html" target="_blank" title="Cisco Download Section">Cisco Download Section</a>.</p>
<div class="box-content" style="text-align: justify;">R1# <strong>copy tftp flash:</strong><br />
<div>Address or name of remote host []? <strong>192.168.9.74</strong></div>
<div>Source filename []? <strong>anyconnect-win-3.1.00495-k9.pkg</strong></div>
<div>Destination filename [anyconnect-win-3.1.00495-k9.pkg]?</div>
<div>Accessing tftp://192.168.9.74/anyconnect-win-3.1.00495-k9.pkg...</div>
<div>Loading anyconnect-win-3.1.00495-k9.pkg from 192.168.9.74 (via Virtual-Access3): !!!!!!!!!!!!!!!!!!!!!<br /><br /></div>
<div>[OK - 29806775 bytes]<br /><br /></div>
<div>29806775 bytes copied in 325.852 secs (90 kbytes/sec)</div>
</div>
<h2>Generate RSA Keys</h2>
<p style="text-align: justify;">The next step is to generate our RSA 1024bit keys. The <strong>crypto key generate rsa command</strong> depends on the hostname and ip domain-name commands. This crypto command generates a Rivest, Shamir, Adleman (RSA) key pair, which includes one public RSA key and one private RSA key, with a key modulus size of 1024 (usually):</p>
<div class="box-content" style="text-align: justify;">R1(config)# <strong>crypto key generate rsa label my-rsa-keys modulus 1024&nbsp;&nbsp;</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
<div>The name for the keys will be: my-rsa-keys</div>
<div>% The key modulus size is 1024 bits</div>
<div>% Generating 1024 bit RSA keys, keys will be non-exportable...<br /><br /></div>
<div>[OK] (elapsed time was 1 seconds)</div>
</div>
<div class="box-hint" style="text-align: justify;"><strong>Note:</strong> The <strong>crypto key generate rsa</strong> command will not appear in the router’s running or startup configuration</div>
<h2 style="text-align: justify;">Declare The Trustpoint &amp; Create Self-Signed Certificate</h2>
<p style="text-align: justify;">Once complete, we need to declare the trustpoint that the router should use by using the command <strong>crypto pki trustpoint</strong> command in global configuration mode. When declaring a trustpoint, we can specify certain characteristics in its subcommands as shown in our configuration:</p>
<div class="box-content" style="text-align: justify;">crypto pki trustpoint my-trustpoint<br />
<div>enrollment selfsigned</div>
<div>subject-name CN=firewallcx-certificate</div>
<div>rsakeypair <strong>my-rsa-keys</strong></div>
<div>!</div>
<div><strong>crypto pki enroll my-trustpoint</strong></div>
<div>% Include the router serial number in the subject name? [yes/no]: <strong>yes</strong></div>
<div>% Include an IP address in the subject name? [no]: <strong>no</strong></div>
<div>Generate Self Signed Router Certificate? [yes/no]: <strong>yes<br /><br /></strong></div>
<div>Router Self Signed Certificate successfully created</div>
</div>
<h2>Configure WebVPN Pool IP Addresses</h2>
<p style="text-align: justify;">WebVPN users will need to be assigned a LAN IP address so they can communicate with our network. The following command specifies the pool of ip addresses that will be assigned to our users. This can be either part of our LAN network or a completely different network. Since we have plenty of spare IP addresses, we’ll be using a small portion of them:</p>
<div class="box-content" style="text-align: justify;"><strong>ip local pool webvpn-pool 192.168.9.80 192.168.9.85</strong></div>
<p style="text-align: justify;">Note we have named this pool <strong>webvpn-pool</strong>.</p>
<h2 style="text-align: justify;">Enable &amp; Configure AAA Authentication for SSL VPN - Create User VPN Accounts</h2>
<p style="text-align: justify;"><strong>AAA</strong> stands for Authentication, Authorization and Accounting. We need to enable AAA in order to use it for our user authentication.&nbsp;</p>
<div class="box-content" style="text-align: justify;"><strong>aaa new-model<br />aaa authentication login sslvpn local<br />username chris secret firewall.cx</strong></div>
<p style="text-align: justify;">It could be that <strong>AAA</strong> is already enabled on the router, in which case we only need to define an authentication list (we named it ‘<strong>sslvpn</strong>’) to use the router’s local user database for user authentication.&nbsp;</p>
<h2 style="text-align: justify;">Enable WebVPN License</h2>
<p style="text-align: justify;">When the WebVPN service is enabled for the first time on an ISR Generation 2 Cisco router (1900, 2900 &amp; 3900 series), with the <strong>15.x version</strong> IOS software or newer, the router will prompt us to accept the End-User License Agreement (EULA) before enabling and activating the service.</p>
<p style="text-align: justify;">It is imperative to accept the EULA in order to proceed:</p>
<div class="box-content" style="text-align: justify;">R1(config)# <strong><strong>webvpn gateway Cisco-WebVPN-Gateway<br /></strong></strong>
<p>PLEASE&nbsp; READ THE&nbsp; FOLLOWING TERMS&nbsp; CAREFULLY. INSTALLING THE LICENSE OR</p>
<p>LICENSE&nbsp; KEY&nbsp; PROVIDED FOR&nbsp; ANY CISCO&nbsp; PRODUCT&nbsp; FEATURE&nbsp; OR&nbsp; USING SUCH</p>
<p>PRODUCT&nbsp; FEATURE&nbsp; CONSTITUTES&nbsp; YOUR&nbsp; FULL ACCEPTANCE&nbsp; OF&nbsp; THE FOLLOWING</p>
<p>TERMS. YOU MUST NOT PROCEED FURTHER IF YOU ARE NOT WILLING TO&nbsp; BE BOUND</p>
<p>BY ALL THE TERMS SET FORTH HEREIN.</p>
<p>……. <em>Output omitted</em></p>
<p>Activation&nbsp; of the&nbsp; software command line interface will be evidence of</p>
<p>your acceptance of this agreement.</p>
<p>ACCEPT? [yes/no]: <strong>yes</strong></p>
</div>
<p style="text-align: justify;">After accepting the EULA, we can verify the WebSSL VPN service is activated by issuing the <strong>show license all</strong> command. Usually StoreIndex 4 contains the WebSSL VPN reference:</p>
<div class="box-content" style="text-align: justify;">R1# <strong><strong>show license all<br /></strong></strong>
<div>License Store: Primary License Storage</div>
<div>StoreIndex: 0&nbsp;&nbsp; Feature: ipbasek9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Version: 1.0</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; License Type: Permanent</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; License State: Active, In Use</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; License Count: Non-Counted</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; License Priority: Medium</div>
<div>StoreIndex: 1&nbsp;&nbsp; Feature: securityk9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Version: 1.0</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; License Type: Permanent</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; License State: Active, In Use</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; License Count: Non-Counted</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; License Priority: Medium</div>
<div>License Store: Built-In License Storage</div>
<div>StoreIndex: 0&nbsp;&nbsp; Feature: securityk9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Version: 1.0</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; License Type: EvalRightToUse</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; License State: Inactive</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Evaluation total period: 8&nbsp; weeks 4&nbsp; days</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Evaluation period left: 8&nbsp; weeks 4&nbsp; days</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Period used: 0&nbsp; minute&nbsp; 0&nbsp; second&nbsp;</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; License Count: Non-Counted</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; License Priority: None</div>
<div><strong>StoreIndex: 4&nbsp;&nbsp; <span style="color: #cc99ff;"><span style="color: #000000;">Feature: SSL_VPN&nbsp;&nbsp;</span>&nbsp;</span></strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Version: 1.0</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; License Type: <span style="color: #000000;"><strong>EvalRightToUse</strong></span></div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; License State: <span style="color: #000000;"><strong>Active, In Use</strong></span></div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Evaluation total period: 8&nbsp; weeks 4&nbsp; days</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Evaluation period left: 8&nbsp; weeks 3&nbsp; days</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Period used: 0&nbsp; minute&nbsp; 1&nbsp; second&nbsp;</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Transition date: Nov 18 2012 22:14:16</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; License Count: 100/0&nbsp; (In-use/Violation)</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; License Priority: Low</div>
</div>
<p>Notice the License Type mention: <strong>EvalRightToUse</strong>.&nbsp; This means that this is an evaluation license, a license to evaluate. At the end of the <strong>8 ½ week evaluation period</strong>, the ISRG2 Cisco router license will not terminate the <strong>Web SSL_VPN </strong>license, and it will continue to work.</p>
<div style="text-align: justify;"><span class="box-hint">License Activation applies only to IOS 15.x version.&nbsp; The 12.4 series IOS does not require license activation</span><strong><br /></strong></div>
<h2>Configure &amp; Enable WebVPN Gateway</h2>
<p style="text-align: justify;">After taking care of the licensing it’s time to begin working on the WebVPN Virtual Gateway configuration. The WebVPN Virtual Gateway enables the <strong>interface</strong> or <strong>IP address and port number</strong> to which the WebVPN service will ‘listen’ for incoming connections and also determines the encryption that will be used.&nbsp;</p>
<div class="box-content"><strong>webvpn gateway Cisco-WebVPN-Gateway</strong><br />
<div>&nbsp;ip address 74.200.90.5 port 443&nbsp;</div>
<div>&nbsp;ssl encryption rc4-md5</div>
<div>&nbsp;ssl trustpoint my-trustpoint</div>
<div>&nbsp;inservice</div>
</div>
<p style="text-align: justify;">Note: If the interface the WebVPN will be running on has a dynamic IP address, for example Dialer0 (ATM ADSL Interface), the <strong>ip address 74.200.90.5 port 443&nbsp; </strong>command can be replaced with <strong>ip interface Dialer0 port 443</strong>, where ‘Dialer0’ is the dynamic interface.</p>
<div class="box-hint" style="text-align: justify;"><strong>Note:</strong> There is a big bug that causes Windows clients browser to report errors such as ""The page isn't redirecting properly"" when trying to connect to the SSL WebVPN Gateway.&nbsp; According to Cisco, this bug surfaces as a Windows machine gets updated with security update <strong>KB2585542</strong>. Cisco's workaround solution is to use the <strong>rc4-md5</strong> encryption instead, as shown above.<br /><br />For those interested in reading up on this bug, Cisco has assigned bug ID: <strong>CSCtx38806</strong> with the description "<strong>IOS SSL VPN fails to connect after microsoft security update KB258554</strong>".</div>
<h2>Configure &amp; Enable SSL VPN Context</h2>
<p style="text-align: justify;">The SSL VPN context is used to configure a number of parameters for our Web VPN server, these include:</p>
<ul class="check">
<li>Gateway and domain associated</li>
<li>AAA user authentication method</li>
<li>Group policy associated</li>
<li>The remote user portal (web page)</li>
<li>Limit number of WebVPN SSL user sessions</li>
</ul>
<p style="text-align: justify;">Most of these parameters are configured in our group policy. This group policy is then set as the <strong>default-group policy</strong> for our Web SSL VPN.</p>
<div class="box-content"><strong>webvpn context Cisco-WebVPN</strong><br />
<div>&nbsp;title "Firewall.cx WebVPN - Powered By Cisco"</div>
<div>&nbsp;!</div>
<div>&nbsp;acl "ssl-acl"</div>
<div>&nbsp;&nbsp; permit ip 192.168.9.0 255.255.255.0 192.168.9.0 255.255.255.0</div>
<div>&nbsp;login-message "Cisco Secure WebVPN"</div>
<div>&nbsp;!</div>
<div>&nbsp;policy group webvpnpolicy</div>
<div>&nbsp;&nbsp; functions svc-required</div>
<div>&nbsp;&nbsp; functions svc-enabled</div>
<div>&nbsp;&nbsp; filter tunnel ssl-acl</div>
<div>&nbsp;&nbsp; svc address-pool "webvpn-pool" netmask 255.255.255.0</div>
<div>&nbsp;&nbsp; svc rekey method new-tunnel</div>
<div>&nbsp;&nbsp; svc split include 192.168.9.0 255.255.255.0</div>
</div>
<p>Let’s explain what all the above commands do:</p>
<p style="text-align: justify;">The <strong>webvpn context</strong> command is used to create a context named which we have named <strong>Cisco-WebVPN</strong>. The <strong>title</strong> command sets the text that will be displayed at the web browser’s <strong>Page Title</strong> and at the top of the login screen.</p>
<p style="text-align: justify;">The <strong>acl “ssl-acl”</strong> command configures the access lists for this context. It basically governs what the web vpn users will have access to.&nbsp; We’ve provided our webVPN users full access to the 192.168.9.0 network.</p>
<p style="text-align: justify;">Our webvpn users' IP addresses have already been defined in the <strong>webvpn-pool</strong> (192.168.9.80 to 192.168.0.85). Instead of typing each IP address within that range into our ACL list we simply configure the router to allow the 192.168.9.0 network as a source and destination in our VPN tunnel. This ensures any IP in the 192.168.9.0 range assigned to our vpn clients will have access to our LAN (192.168.9.0)</p>
<p style="text-align: justify;">The <strong>login-message</strong> command defines the text that will be shown in the login section of the webvpn webpage. These messages are also visible in our WebVPN login screen at the beginning of our article.</p>
<p style="text-align: justify;">Since our webvpn pool is part of the same network we just set the 192.168.9.0 network as the source and destination IP address.</p>
<p style="text-align: justify;">Next, we define a group policy. The group policy configures a number of important parameters. We named our group policy <strong>webvpnpolicy</strong>.</p>
<p style="text-align: justify;">The <strong>functions svc-enabled </strong>&amp; <strong>svc-required</strong> commands ensure tunnel-mode is enabled and required. The combination of these two commands will force the VPN user’s PC to start downloading the AnyConnect software client as soon as he authenticates successfully. This is called <strong>tunnel-mode</strong> operation.</p>
<p style="text-align: justify;">Alternatively, without the <strong>svc-required</strong> command, a webpage will be presented from which the user can directly launch any configured web service in our webvpn portal or selectively initiate tunnel-mode and start downloading the AnyConnect software client.&nbsp;</p>
<p style="text-align: justify;">Note: The acronym SVC stands for <strong>S</strong>SL <strong>V</strong>PN <strong>C</strong>lient</p>
<p style="text-align: justify;">The screenshot below shows the AnyConnect Secure Mobility Client installation process. Keep in mind that these screenshots apply <strong>after </strong>the complete configuration of our router's SSL WebVPN service:</p>
<p><img src="https://www.firewall.cx//images/stories/cisco-routers-anyconnect-2.jpg" alt="cisco anyconnect java download certificate" width="514" height="675" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco Secure AnyConnect Java Installation" /></p>
<p style="text-align: justify;">During the installation, the user will receive a number of prompts &amp; security warnings about the publisher and website’s certificate verification. Administrators and engineers should instruct their VPN users to accept/allow the installation of the certificates and software client when prompted.</p>
<p style="text-align: justify;">Shortly after the acceptance of certificates and confirming to the web browser to allow the installation of the client, the AnyConnect Secure Mobility Client Downloader will begin:</p>
<p><img src="https://www.firewall.cx//images/stories/cisco-routers-anyconnect-3.jpg" alt="Cisco anyconnect secure mobility client download" width="415" height="150" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco anyconnect secure mobility client download" /></p>
<p style="text-align: justify;">The <strong>filter tunnel ssl-acl</strong> command instructs the webvpn gateway to use ssl-acl access list to define the access vpn users will have.</p>
<p style="text-align: justify;">The <strong>svc address-pool</strong> command defines the pool that will be used to assign IP addresses to our vpn users.</p>
<p style="text-align: justify;">The <strong>svc rekey method new-tunnel</strong> specifies that the SVC establishes a new tunnel during SVC rekey.</p>
<p style="text-align: justify;">The <strong>svc split</strong> command enables split tunneling, instructing which network traffic will be sent through the vpn tunnel. If this command is not included, vpn users will not be allowed to access the Internet while connected to the vpn.</p>
<h2 style="text-align: justify;">Configure Default Group Policy, Authentication List &amp; Final Parameters</h2>
<p style="text-align: justify;">Now we will configure the policy we just created as the default policy, set the aaa authentication list (<strong>sslvpn</strong>) to be used for user authentication and maximum users for the service. Lastly, we enable our webvpn context:</p>
<div class="box-content"><strong>default-group-policy webvpnpolicy</strong><br />
<div>&nbsp;aaa authentication list sslvpn</div>
<div>&nbsp;gateway Cisco-WebVPN-Gateway</div>
<div>&nbsp;max-users 2</div>
<div>&nbsp;!</div>
<div>&nbsp;ssl authenticate verify all</div>
<div>&nbsp;!</div>
<div>&nbsp;url-list "rewrite"</div>
<div>&nbsp;inservice</div>
</div>
<p style="text-align: justify;">The <strong>ssl authenticate verify all </strong>command enables SSL configurations for backend server connections. While we are not using any such backend services, it’s a good option to always have enabled.</p>
<h2 style="text-align: justify;">Supporting Multiple Group Policies on AnyConnect</h2>
<p>Administrators and engineers who have worked with the classic Cisco IPSec VPN client will wonder how they can support multiple groups with different access rights using AnyConnect.&nbsp; The fact is that AnyConnect does support multiple groups, however it requires a radius server at the backend.</p>
<p>AnyConnect on a Cisco router without a radius server will only allow support for <span style="text-decoration: underline;">one group policy</span>.&nbsp;</p>
<h2>Complete WebVPN SSL AnyConnect Configuration</h2>
<p style="text-align: justify;">Finally, below is the complete Web VPN SSL AnyConnect configuration of our router:</p>
<div class="box-content" style="text-align: justify;">aaa new-model<br />aaa authentication login sslvpn local<br />!<br />username chris secret firewall.cx<br />!<br />crypto key generate rsa label my-rsa-keys modulus 1024&nbsp; <strong><br /></strong> !<br />crypto vpn anyconnect flash0:/webvpn/anyconnect-win-3.1.00495-k9.pkg sequence 1<br />
<div>!</div>
<div>ip local pool webvpn-pool 192.168.9.80 192.168.9.85</div>
<div>!</div>
<div>webvpn gateway Cisco-WebVPN-Gateway</div>
<div>&nbsp;ip address 74.200.90.5 port 443&nbsp;</div>
<div>&nbsp;ssl encryption rc4-md5</div>
<div>&nbsp;ssl trustpoint my-trustpoint</div>
<div>&nbsp;inservice</div>
<div>&nbsp;!</div>
<div>webvpn context Cisco-WebVPN</div>
<div>&nbsp;title "Firewall.cx WebVPN Gateway"</div>
<div>&nbsp;!</div>
<div>&nbsp;acl "ssl-acl"</div>
<div>&nbsp;&nbsp; permit ip 192.168.9.0 255.255.255.0 192.168.9.0 255.255.255.0</div>
<div>&nbsp;login-message "Cisco Secure WebVPN"</div>
<div>&nbsp;!</div>
<div>&nbsp;policy group webvpnpolicy</div>
<div>&nbsp;&nbsp; functions svc-required</div>
<div>&nbsp;&nbsp; functions svc-enabled</div>
<div>&nbsp;&nbsp; filter tunnel ssl-acl</div>
<div>&nbsp;&nbsp; svc address-pool "webvpn-pool" netmask 255.255.255.0</div>
<div>&nbsp;&nbsp; svc rekey method new-tunnel</div>
<div>&nbsp;&nbsp; svc split include 192.168.9.0 255.255.255.0</div>
<div>&nbsp;default-group-policy webvpnpolicy</div>
<div>&nbsp;aaa authentication list sslvpn</div>
<div>&nbsp;gateway Cisco-WebVPN-Gateway</div>
<div>&nbsp;max-users 2</div>
<div>&nbsp;!</div>
<div>&nbsp;ssl authenticate verify all</div>
<div>&nbsp;!</div>
<div>&nbsp;url-list "rewrite"</div>
<div>&nbsp;inservice</div>
</div>
<p><br />This concludes our <strong>Cisco SSL VPN AnyConnect</strong> configuration for <strong>Cisco IOS Routers</strong>.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Wed, 26 Sep 2012 06:09:21 +1000</pubDate>
		</item>
		<item>
			<title>Configuring Cisco Dynamic Multipoint VPN (DMVPN) - Hub, Spokes , mGRE Protection and Routing - DMVPN Configuration</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-dmvpn-configuration.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-dmvpn-configuration.html</guid>
			<description><![CDATA[<p style="text-align: justify;">Our <a href="https://www.firewall.cx/cisco/cisco-services-technologies/cisco-dmvpn-intro.html" target="_blank" title="DMVPN Introduction article">DMVPN Introduction article</a> covered the <strong>DMVPN</strong> concept and deployment designs. We explained how DMVPN combines a number of technologies that give it its flexibility, low administrative overhead and ease of configuration. This article will cover the <strong>configuration of a Cisco DMVPN</strong> including <strong>Hub</strong>, <strong>Spokes</strong>, <strong>Routing</strong> and <strong>Protecting the mGRE Tunnel</strong>.</p>
<p style="text-align: justify;">It is highly advisable for those who haven’t read our <a href="https://www.firewall.cx/cisco/cisco-services-technologies/cisco-dmvpn-intro.html" target="_blank" title="DMVPN Introduction article">Introduction to DMVPN</a> to do so as it contains basic concepts and theory that are important to the configuration process.</p>
<p style="text-align: justify;">Configuring DMVPN is simple, if you’ve worked with GRE tunnels before.&nbsp; If the GRE Tunnel concept is new to you, we would recommend reading through our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-gre-ipsec.html" target="_blank" title="Point-to-Point GRE IPSec Tunnel Configuration">Point-to-Point GRE IPSec Tunnel Configuration</a> article before proceeding with DMVPN configuration.</p>
<p style="text-align: justify;"><strong>DMVPN</strong> as a design concept is essentially the configuration combination of <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-gre-ipsec.html" target="_blank" title="Protecting GRE Tunnel">protected GRE Tunnel</a> and <strong>Next Hop Routing Protocol</strong> (<strong>NHRP</strong>).</p>
<div class="info" style="text-align: left;" align="center">This article examines a specific DMVPN deployment architecture. Those seeking additional information on available DMVPN deplyment models can also visit our <a href="https://www.firewall.cx/cisco/cisco-services-technologies/cisco-dmvpn-models.html" target="_blank" title="Dynamic Multipoint VPN (DMVPN) Deployment Models &amp; Architectures">Dynamic Multipoint VPN (DMVPN) Deployment Models &amp; Architectures</a> article.</div>
<h2 style="text-align: justify;">DMVPN Operation - How DMVPN Operates</h2>
<p style="text-align: justify;">Before diving into the configuration of our routers, we’ll briefly explain how the DMVPN is expected to work. This will help in understanding how DMVPN operates in a network:</p>
<ul class="check" style="text-align: justify;">
<li>Each spoke has a permanent IPSec tunnel to the hub but not to the other spokes within the network.</li>
<li>Each spoke registers as a client of the NHRP server. The Hub router undertakes the role of the NHRP server.</li>
<li>When a spoke needs to send a packet to a destination (private) subnet on another spoke, it queries the NHRP server for the real (outside) address of the destination (target) spoke.</li>
<li>After the originating spoke learns the peer address of the target spoke, it can initiate a dynamic IPSec tunnel to the target spoke.</li>
<li>The spoke-to-spoke tunnel is built over the multipoint GRE (mGRE) interface.</li>
<li>The spoke-to-spoke links are established on demand whenever there is traffic between the spokes. Thereafter, packets are able to bypass the hub and use the spoke-to-spoke tunnel.</li>
<li>All data traversing the GRE tunnel is encrypted using IPSecurity (optional)</li>
</ul>
<h2 style="text-align: justify;">Our DMVPN Network</h2>
<p style="text-align: justify;">The diagram below depicts our DMVPN example network. Our goal is to connect the two remote networks (Remote 1 &amp; 2) with the company headquarters. The headquarters router R1 is the central Hub router that will hold the NHRP database containing all spoke routers, their public IP addresses and LAN networks.&nbsp;</p>
<p style="text-align: center;"><strong><img src="https://www.firewall.cx/images/stories/cisco-router-dmvpn-configuration-1.png" alt="cisco-router-dmvpn-configuration-1" title="Cisco DMVPN Network Diagram - Setup" /></strong></p>
<h2 style="text-align: justify;">Four Steps To Fully Configure Cisco DMVPN</h2>
<p style="text-align: justify;">To help simplify the configuration of <strong>DMVPN</strong> we’ve split the process into <strong>4 easy-to-follow steps</strong>. Each step is required to be completed before moving to the next one. These steps are:</p>
<ul class="checkbox check" style="text-align: justify;">
<li>
<div>Configure the DMVPN Hub</div>
</li>
<li>
<div>Configure the DMVPN Spoke(s)</div>
</li>
<li>
<div>Protect the mGRE tunnels with IPSecurity (optional)</div>
</li>
<li>Configure Routing Between DMVPN mGRE Tunnels (static routing or routing protocol)</li>
</ul>
<h2 style="text-align: justify;">Configuring The DMVPN Hub – R1 Router</h2>
<p style="text-align: justify;">Configuring the Hub router (R1) is simple.&nbsp; After configuring the router’s LAN and WAN interfaces we create our mGRE tunnel interface. Let's start with the router’s Ethernet interfaces:</p>
<div class="box-content"><strong>interface FastEthernet0/0</strong><br />
<div>&nbsp;description LAN-Network</div>
<div>&nbsp;ip address 192.168.1.1 255.255.255.0</div>
<div>&nbsp;duplex auto</div>
<div>&nbsp;speed auto</div>
<div>!</div>
<div><strong>interface FastEthernet0/1</strong></div>
<div>&nbsp;description WAN-Network</div>
<div>&nbsp;ip address 1.1.1.10 255.255.255.0</div>
<div>&nbsp;duplex auto</div>
<div>&nbsp;speed auto</div>
</div>
<p style="text-align: justify;">Next, we configure the <strong>Tunnel0</strong> interface. Notice this is an almost typical tunnel interface configuration with some minor but important changes that have been highlighted:</p>
<div class="box-content"><strong>interface Tunnel0</strong><br />
<div>&nbsp;description mGRE - DMVPN Tunnel</div>
<div>&nbsp;ip address 172.16.0.1 255.255.255.0</div>
<div>&nbsp;no ip redirects</div>
<div><strong>&nbsp;ip nhrp authentication firewall</strong></div>
<div><strong>&nbsp;ip nhrp map multicast dynamic</strong></div>
<div><strong>&nbsp;ip nhrp network-id 1</strong></div>
<div>&nbsp;tunnel source 1.1.1.10</div>
<div>&nbsp;<strong>tunnel mode gre multipoint</strong></div>
</div>
<p style="text-align: justify;">Engineers familiar with <strong>GRE Tunnels</strong> will immediately notice the absence of the <strong>tunnel destination</strong> command. It has been replaced with the <strong>tunnel mode gre multipoint</strong>command, which designates this tunnel as a multipoint GRE tunnel.</p>
<p style="text-align: justify;">The <strong>ip nhrp map multicast dynamic</strong> command enables the forwarding of multicast traffic across the tunnel to dynamic spokes. This is usually required by routing protocols such as <a href="https://www.firewall.cx/networking/routing-protocols/routing-protocol-ospf.html" target="_blank" title="OSPF">OSPF</a> and <a href="https://www.firewall.cx/networking/routing-protocols/routing-protocols-eigrp.html" target="_blank" title="EIGRP">EIGRP</a>.&nbsp; In most cases, DMVPN is accompanied by a routing protocol to send and receive dynamic updates about the private networks.</p>
<p style="text-align: justify;">The <strong>ip nhrp network-id 1</strong> command is used to identify this DMVPN cloud. All routers participating in this DMVPN cloud must have the same network-id configured in order for tunnels to form between them.</p>
<p style="text-align: justify;">The <strong>ip nhrp authentication</strong> command is used to allow the authenticated updates and queries to the NHRP Database, ensuring unwanted queries are not provided with any information about the DMVPN network.</p>
<h2 style="text-align: justify;">Configuring The DMVPN Spokes – R2 &amp; R3 Routers</h2>
<p style="text-align: justify;">Spoke router configuration is similar to that of the hub.&nbsp; First configure the LAN and WAN interfaces:</p>
<div class="box-content"><strong>interface FastEthernet0/0</strong><br />
<div>&nbsp;description LAN-Network</div>
<div>&nbsp;ip address 192.168.2.1 255.255.255.0</div>
<div>&nbsp;duplex auto</div>
<div>&nbsp;speed auto</div>
<div>!</div>
<div><strong>interface FastEthernet0/1</strong></div>
<div>&nbsp;description WAN-Network</div>
<div>&nbsp;ip address 2.2.2.10 255.255.255.0</div>
<div>&nbsp;duplex auto</div>
<div>&nbsp;speed auto</div>
</div>
<p style="text-align: justify;">Next, it’s time to build that <strong>mGRE tunnel</strong>:</p>
<div class="box-content"><strong>interface Tunnel0</strong><br />
<div>&nbsp;description R2 mGRE - DMVPN Tunnel</div>
<div>&nbsp;ip address 172.16.0.2 255.255.255.0</div>
<div>&nbsp;no ip redirects</div>
<div>&nbsp;ip nhrp authentication firewall</div>
<div>&nbsp;ip nhrp map multicast dynamic</div>
<div>&nbsp;ip nhrp map 172.16.0.1 1.1.1.10</div>
<div>&nbsp;ip nhrp map multicast 1.1.1.10</div>
<div>&nbsp;ip nhrp network-id 1</div>
<div>&nbsp;ip nhrp nhs 172.16.0.1</div>
<div>&nbsp;tunnel source FastEthernet0/1</div>
<div>&nbsp;tunnel mode gre multipoint</div>
</div>
<p style="text-align: justify;">After a couple of seconds, we receive confirmation that our tunnel interface is up:</p>
<div class="box-content" style="text-align: justify;">*Sep&nbsp; 9 21:27:29.774: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up</div>
<p style="text-align: justify;">The <strong>ip nhrp nhs 172.16.0.1</strong> command tells our spoke router who the <strong>Next Hop Server</strong> (<strong>NHS</strong>) is, while the <strong>ip nhrp map 172.16.0.1 1.1.1.10</strong> command maps the NHS address (172.16.0.1) to the Hub’s (R1) public IP address (1.1.1.10).</p>
<p style="text-align: justify;">The <strong>ip nhrp map multicast 1.1.1.10</strong> ensures multicast traffic is sent only from spokes to the hub and not from spoke to spoke. All multicast traffic should be received by the hub, processed and then updates are sent out to the spokes.</p>
<p style="text-align: justify;">Lastly, notice that <strong>tunnel source FastEthernet0/1</strong> command. All spokes with dynamic WAN IP address must be configured to bind the physical WAN interface as the tunnel source. This way, &nbsp;when the spoke’s WAN IP changes, it will be able to update the NHS server with its new WAN IP address.</p>
<p style="text-align: justify;">Note: In R2’s configuration, we’ve configured a static IP address on its WAN interface FastEthernet0/1, but for the sake of this example, let us assume it was dynamically provided by the ISP.</p>
<p style="text-align: justify;">R3’s configuration follows, similar to that of the R2 spoke router:</p>
<div class="box-content"><strong>interface FastEthernet0/0</strong><br />
<div>&nbsp;description LAN-Network</div>
<div>&nbsp;ip address 192.168.3.1 255.255.255.0</div>
<div>&nbsp;duplex auto</div>
<div>&nbsp;speed auto</div>
<div>!</div>
<div><strong>interface FastEthernet0/1</strong></div>
<div>&nbsp;description WAN-Network</div>
<div>&nbsp;ip address 3.3.3.10 255.255.255.0</div>
<div>&nbsp;duplex auto</div>
<div>&nbsp;speed auto</div>
</div>
<p style="text-align: justify;">Next, our tunnel configuration:</p>
<div class="box-content"><strong>interface Tunnel0</strong><br />
<div>&nbsp;description R3 mGRE - DMVPN Tunnel</div>
<div>&nbsp;ip address 172.16.0.3 255.255.255.0</div>
<div>&nbsp;no ip redirects</div>
<div>&nbsp;ip nhrp authentication firewall</div>
<div>&nbsp;ip nhrp map multicast dynamic</div>
<div>&nbsp;ip nhrp map 172.16.0.1 1.1.1.10</div>
<div>&nbsp;ip nhrp map multicast 1.1.1.10</div>
<div>&nbsp;ip nhrp network-id 1</div>
<div>&nbsp;ip nhrp nhs 172.16.0.1</div>
<div>&nbsp;tunnel source FastEthernet0/1</div>
<div>&nbsp;tunnel mode gre multipoint</div>
</div>
<p>Note: In R3’s configuration, we’ve configured a static IP address on its WAN interface FastEthernet0/1, but for the sake of this example, let us assume it was dynamically provided by the ISP.</p>
<p style="text-align: justify;">This completes the DMVPN configuration on our central hub and two spoke routers.&nbsp; It is now time to verify the DMVPNs are working correctly.</p>
<h2 style="text-align: justify;">Verifying DMVPN Functionality At The R1 HUB Router</h2>
<p style="text-align: justify;">After completing our routers configuration, it’s time to verify everything is working as planned.</p>
<p style="text-align: justify;">First we turn to our <strong>main hub</strong>, <strong>R1</strong>, and check the <strong>DMVPN</strong> by using the <strong>show dmvpn</strong> command:</p>
<div class="box-content" style="text-align: justify;">R1# <strong>show dmvpn<br /></strong>Legend: Attrb --&gt; S - Static, D - Dynamic, I - Incomplete<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N - NATed, L - Local, X - No Socket<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Ent --&gt; Number of NHRP entries with same NBMA peer<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NHS Status: E --&gt; Expecting Replies, R --&gt; Responding<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UpDn Time --&gt; Up or Down Time for a Tunnel<br />==========================================================================<br /><br />Interface: Tunnel0, IPv4 NHRP Details <br />Type:Hub, NHRP Peers:2, <br /><br />&nbsp;# Ent&nbsp; Peer NBMA Addr&nbsp; Peer Tunnel Add&nbsp;&nbsp;&nbsp; State&nbsp;&nbsp; UpDn Tm&nbsp;&nbsp; Attrb<br />&nbsp;-----&nbsp; -------------&nbsp;&nbsp; ---------------&nbsp;&nbsp;&nbsp; ----- &nbsp; ------- &nbsp; -----<br />&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; &nbsp; 2.2.2.10&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 172.16.0.2 &nbsp; &nbsp; &nbsp; &nbsp; UP&nbsp;&nbsp;&nbsp;&nbsp; 00:04:58&nbsp;&nbsp;&nbsp; D<br />&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 3.3.3.10&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 172.16.0.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UP &nbsp; &nbsp; 00:04:12&nbsp;&nbsp;&nbsp; D<strong><br /></strong></div>
<p style="text-align: justify;">The output of our command provides us with some valuable information.&nbsp; To start with, the router provides an explanation for each column presented (right under the show command) but we are still going to cover them so that we are not left with any unanswered questions.</p>
<p style="text-align: justify;">The first column <strong>#Ent</strong> shows the number of entries that exist in the <strong>NHRP Database</strong> for the same spoke. Usually, we wouldn’t expect to see more than one for each spoke.</p>
<p style="text-align: justify;">The second column <strong>Peer NBMA Addr</strong> presents the spoke’s public IP address, while the third column, <strong>Peer Tunnel Add</strong>, shows each spoke’s local Tunnel’s IP address.&nbsp;</p>
<p style="text-align: justify;">Next, the <strong>State</strong> column shows the current state the tunnel is in. In our case, both tunnels are <strong>UP</strong>. Right next to the <strong>State</strong> is the <strong>UpDN Tm</strong>, which is the Up or Down Time of the current State.&nbsp; This is a very important bit of information as you can clearly see out how long your tunnel has been in its current state.</p>
<p style="text-align: justify;">For our example, both spokes have been up for almost 5 minutes.</p>
<p style="text-align: justify;">Lastly, the <strong>Attrib</strong> column shows the type of tunnels established by the spokes. <strong>D</strong> stands for Dynamic, <strong>S</strong> for Static and <strong>I</strong> for Incomplete. Usually dynamic spokes will create <strong>D</strong> type tunnels. Tunnels established from the spokes to the Hub router are expected to be <strong>S </strong>type, since the Hub remains static.</p>
<h2 style="text-align: justify;">Verifying DMVPN Functionality At The R2 &amp; R3 Spoke Router</h2>
<p style="text-align: justify;">Turning to <strong>R2 router</strong>, our first spoke, we can repeat the same <strong>show dmvpn</strong> command and obtain a list of dmvpns currently created:</p>
<div class="box-content" style="text-align: justify;">R2# <strong>show dmvpn</strong><br />Legend: Attrb --&gt; S - Static, D - Dynamic, I - Incomplete<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N - NATed, L - Local, X - No Socket<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Ent --&gt; Number of NHRP entries with same NBMA peer<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NHS Status: E --&gt; Expecting Replies, R --&gt; Responding<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UpDn Time --&gt; Up or Down Time for a Tunnel<br />==========================================================================<br /><br />Interface: Tunnel0, IPv4 NHRP Details <br />Type:Spoke, NHRP Peers:1, <br /><br />&nbsp;# Ent&nbsp; Peer NBMA Addr&nbsp; Peer Tunnel Add&nbsp; State&nbsp;&nbsp; UpDn Tm&nbsp;&nbsp; Attrb<br />&nbsp;-----&nbsp; -------------&nbsp;&nbsp; -------------- &nbsp; ----- &nbsp; ------- &nbsp; -----<br />&nbsp;&nbsp;&nbsp; 1&nbsp; &nbsp;&nbsp; 1.1.1.10&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 172.16.0.1 &nbsp;&nbsp; &nbsp; UP&nbsp;&nbsp;&nbsp;&nbsp; 00:06:35 &nbsp;&nbsp; S</div>
<p>As expected, R2’s output shows one entry only. When traffic needs to be directed to R3, a second GRE tunnel will come up. We’ll try this soon. For now let’s check our third remote site, R3 spoke router</p>
<p style="text-align: justify;">Using the same show dmvpn command we obtain the following similar output:</p>
<div class="box-content">R3# <strong>show dmvpn</strong><br />Legend: Attrb --&gt; S - Static, D - Dynamic, I - Incomplete<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N - NATed, L - Local, X - No Socket<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Ent --&gt; Number of NHRP entries with same NBMA peer<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NHS Status: E --&gt; Expecting Replies, R --&gt; Responding<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UpDn Time --&gt; Up or Down Time for a Tunnel<br />==========================================================================<br /><br />Interface: Tunnel0, IPv4 NHRP Details <br />Type:Spoke, NHRP Peers:1, <br /><br />&nbsp;# Ent&nbsp;&nbsp;&nbsp; Peer NBMA Addr&nbsp;&nbsp; Peer Tunnel Add&nbsp; State&nbsp; UpDn Tm&nbsp;&nbsp; Attrb<br />&nbsp;-----&nbsp;&nbsp; ---------------&nbsp;&nbsp; ---------------&nbsp; -----&nbsp; --------&nbsp; -----<br />&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 1.1.1.10&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; 172.16.0.1 &nbsp;&nbsp; &nbsp; UP&nbsp;&nbsp;&nbsp; 00:06:55 &nbsp;&nbsp; S</div>
<h2>Protecting - Encrypting DMVPN mGRE Tunnels With IPSec</h2>
<p style="text-align: justify;">Since we have our GRE tunnels up and running, we need to encrypt them using IPSec to ensure data confidentiality.&nbsp; Protecting GRE Tunnels is covered in great depth in our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-gre-ipsec-tunnel-transport.html" target="_blank" title="Protected GRE over IPSec">Protected GRE over IPSec</a> article, so we are going to simply display the commands here without repeating the topic.</p>
<p style="text-align: justify;">First stop is our headquarters <strong>R1 Hub router</strong>:</p>
<div class="box-content" style="text-align: justify;">crypto isakmp policy 1<br />
<div>encr 3des</div>
<div>hash md5</div>
<div>authentication pre-share</div>
<div>group 2</div>
<div>lifetime 86400</div>
<div>!</div>
<div>crypto isakmp key firewall.cx address 0.0.0.0</div>
<div>!</div>
<div>crypto ipsec transform-set TS esp-3des esp-md5-hmac</div>
<div>!</div>
<div>crypto ipsec profile protect-gre</div>
<div>set security-association lifetime seconds 86400</div>
<div>set transform-set TS</div>
<div>!</div>
<div><strong>interface Tunnel 0</strong></div>
<div>tunnel protection ipsec profile protect-gre</div>
</div>
<p style="text-align: justify;">Notice the command <strong>crypto isakmp key firewall.cx address 0.0.0.0 0.0.0.0</strong>. The peer address for which the isakmp key is valid is <strong>0.0.0.0 0.0.0.0</strong>, which means every possible host on the Internet.&nbsp; When our remote routers (spokes) have dynamic IP addresses, <strong>0.0.0.0 0.0.0.0 </strong>must be used.</p>
<p style="text-align: justify;">The following configuration applies to R2 &amp; R3 spoke routers:</p>
<div class="box-content" style="text-align: justify;">crypto isakmp policy 1<br />
<div>encr 3des</div>
<div>hash md5</div>
<div>authentication pre-share</div>
<div>group 2</div>
<div>lifetime 86400</div>
<div>!</div>
<div>crypto isakmp key firewall.cx address 0.0.0.0 0.0.0.0</div>
<div>!</div>
<div>crypto ipsec transform-set TS esp-3des esp-md5-hmac</div>
<div>!</div>
<div>crypto ipsec profile protect-gre</div>
<div>set security-association lifetime seconds 86400</div>
<div>set transform-set TS</div>
<div>!</div>
<div><strong>interface Tunnel 0</strong></div>
<div>tunnel protection ipsec profile protect-gre</div>
</div>
<p style="text-align: justify;">Again we’ve defined <strong>0.0.0.0 0.0.0.0 </strong>as the isakmp peer address. While the hub’s public IP address is known we must keep in mind that R2 and R3 can build dynamic VPN tunnel between them. Taking into consideration that their public IP address is dynamic it is imperative to use <strong>0.0.0.0 0.0.0.0</strong> for the remote peer.</p>
<h2 style="text-align: justify;">Verifying the DMVPN Crypto Tunnels</h2>
<p style="text-align: justify;">Once all routers are configured IPSec VPN tunnels are brought up. We can verify this by using the <strong>show crypto session</strong> command at our <strong>R1 hub router</strong>:</p>
<div class="box-content" style="text-align: justify;">R1# <strong>show crypto session</strong><br />
<div>Crypto session current status</div>
<div>Interface: Tunnel0</div>
<div>Session status:<strong> UP-ACTIVE</strong></div>
<div>Peer: <strong>2.2.2.10 </strong>port 500</div>
<div>&nbsp; IKE SA: local 1.1.1.10/500 remote 2.2.2.10/500 Active</div>
<div>&nbsp; IPSEC FLOW: permit 47 host 1.1.1.10 host 2.2.2.10</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Active SAs: 2, origin: crypto map</div>
<div>Interface: Tunnel0</div>
<div>Session status: <strong>UP-ACTIVE</strong></div>
<div>Peer: <strong>3.3.3.10</strong> port 500</div>
<div>&nbsp; IKE SA: local 1.1.1.10/500 remote 3.3.3.10/500 Active</div>
<div>&nbsp; IPSEC FLOW: permit 47 host 1.1.1.10 host 3.3.3.10</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Active SAs: 2, origin: crypto map</div>
</div>
<h2>Routing Between DMVPN mGRE Tunnels</h2>
<p style="text-align: justify;">Last step involves enabling routing in our DMVPN network. This is required so that the hub and spoke routers are aware which packets need to be sent via the VPN network.</p>
<p style="text-align: justify;">There are two ways this can be achieved: 1) <strong>Static routes</strong>&nbsp; 2) <strong>Routing protocol</strong>.</p>
<p style="text-align: justify;">For the sake of simplicity we are going to focus on static routes.&nbsp; DMVPN and routing protocol configuration will be covered in another article.</p>
<p style="text-align: justify;">Configuring the necessary static routes is very simple. All that is required is a set of simply static routes on each router (hub and spoke), pointing to the other networks.</p>
<p style="text-align: justify;">On the <strong>R1 hub</strong> router:</p>
<div class="box-content" style="text-align: justify;"><strong>ip route 192.168.2.0 255.255.255.0 172.16.0.2<br />ip route 192.168.3.0 255.255.255.0 172.16.0.3</strong></div>
<div style="text-align: justify;">On<strong> R2 spoke</strong> router:</div>
<div class="box-content" style="text-align: justify;"><strong>ip route 192.168.1.0 255.255.255.0 172.16.0.1<br />ip route 192.168.3.0 255.255.255.0 172.16.0.3</strong></div>
<p style="text-align: justify;">And finally on <strong>R3 spoke</strong> router:</p>
<div class="box-content" style="text-align: justify;"><strong>ip route 192.168.1.0 255.255.255.0 172.16.0.1<br />ip route 192.168.2.0 255.255.255.0 172.16.0.2</strong></div>
<h2>Our DMVPN Network Is Ready!</h2>
<p style="text-align: justify;">At this point, our DMVPN network is ready and fully functional. All networks are connected between each other and dynamic VPN tunnels between spokes can be established.&nbsp;&nbsp; GRE tunnels are protected properly, providing data confidentiality and ip routing is enabled.</p>
<p style="text-align: justify;">As a final step, we can try sending traffic between the spokes and verify the dynamic tunnel is being established:</p>
<p style="text-align: justify;">From R2 spoke router, we try to ping R3’s LAN IP address:</p>
<div class="box-content" style="text-align: justify;">R2# <strong>ping 192.168.3.1</strong><br /><br />Type escape sequence to abort.<br />Sending 5, 100-byte ICMP Echos to 192.168.3.1, timeout is 2 seconds:<br />.!!!!<br />Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/4 ms</div>
<p>It is evident that the two spoke routers have established communication. <br /><br />The DMVPN is up and routing is working perfectly:</p>
<div class="box-content" style="text-align: justify;">R2# <strong>show dmvpn<br /></strong>Legend: Attrb --&gt; S - Static, D - Dynamic, I - Incomplete<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N - NATed, L - Local, X - No Socket<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Ent --&gt; Number of NHRP entries with same NBMA peer<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NHS Status: E --&gt; Expecting Replies, R --&gt; Responding<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UpDn Time --&gt; Up or Down Time for a Tunnel<br />==========================================================================<br /><br />Interface: Tunnel0, IPv4 NHRP Details <br />Type:Spoke, NHRP Peers:2, <br /><br />&nbsp;# Ent&nbsp;&nbsp; Peer NBMA Addr Peer&nbsp; Tunnel Add&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; State&nbsp;&nbsp;&nbsp;&nbsp; UpDn Tm&nbsp;&nbsp; Attrb<br />&nbsp;-----&nbsp;&nbsp; ------------------&nbsp; --------------- &nbsp;&nbsp; ----- &nbsp;&nbsp;&nbsp; -------&nbsp;&nbsp; -----<br />&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 1.1.1.10&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 172.16.0.1 &nbsp; &nbsp; &nbsp; &nbsp; UP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:39:05 &nbsp;&nbsp; S<br />&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 3.3.3.10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 172.16.0.3 &nbsp; &nbsp; &nbsp; &nbsp; UP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:08 &nbsp;&nbsp; D<strong><br /></strong></div>
<p><br />This concludes our <strong>DMVPN configuration article</strong>.&nbsp;</p>
<p>This article showed how to configure a DMVPN network between Cisco routers. We covered the <strong>configuration of a Cisco DMVPN</strong> including <strong>Hub</strong>, <strong>Spokes</strong>, <strong>Static Routing</strong> and <strong>Protecting the mGRE Tunnel</strong>. We also provided some useful <strong>show commands</strong> to <strong>help troubleshoot</strong> and <strong>debug</strong> the <strong>DMVPN network</strong>. More articles on VPN &amp; DMVPN can be found in our&nbsp;<a href="https://www.firewall.cx/cisco/cisco-routers.html" target="_blank" title="Cisco Routers - Configuration Section">Cisco Routers Section</a> and <a href="https://www.firewall.cx/cisco/cisco-services-technologies.html" target="_blank" title="Cisco Services &amp; Technlogies Section">Cisco Services &amp; Technlogies Section</a>.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Tue, 18 Sep 2012 16:00:00 +1000</pubDate>
		</item>
		<item>
			<title>Resolving Cisco Router/Switch Tftp Problems: Source IP Address - The 'IP TFTP Source-Interface' Command</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-ip-tftp-source-interface.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-ip-tftp-source-interface.html</guid>
			<description><![CDATA[<p>When working with Cisco equipment that has multiple ip interfaces, a common problem engineers are faced with is trying to successfully tftp to or from the Cisco device. This issue is usually encountered when the Cisco device (router or multi-layer switch) uses a different source IP address which cannot reach our TFTP Server's IP address or is blocked due to access lists.</p>
<p style="text-align: center;"><img src="https://www.firewall.cx/images/stories/cisco-ip-tftp-source-interface-1.png" alt="cisco-ip-tftp-source-interface-1" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco router &amp; switch 'IP TFTP Source-Interface' Command" />Figure 1. The tftp source IP problem with tftp and other services on a Cisco Router</p>
<p>Luckily, there is a way around this problem, and it’s a simple one.</p>
<p class="box-info">Note: The commands used are identical for all Cisco routers and Catalyst switches.</p>
<p>To ensure your Cisco router or multi-layer switch uses the correct interface during any tftp session, use the <strong>ip tftp source-interface</strong> command to specify the source-interface that will be used by the device.</p>
<p>The following example instructs our Cisco 3750 Layer 3 switch to use <strong>VLAN 5</strong> interface as the <strong>source ip interface</strong> for all tftp sessions:</p>
<div class="box-content">3750G-Stack(config)# <strong>ip tftp source-interface vlan 5</strong></div>
<p>As shown below, VLAN 5 has IP address 192.168.131.1 assigned to it, therefore this IP address will be the source interface from now on:</p>
<div class="box-content">3750G-Stack# <strong>show ip interface brief</strong><br />Interface&nbsp; IP-Address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OK? Method Status&nbsp;&nbsp;&nbsp; Protocol<br /> Vlan1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.50.1&nbsp;&nbsp;&nbsp; YES NVRAM&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> Vlan2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.130.1&nbsp;&nbsp; YES NVRAM&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> Vlan3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.135.1&nbsp;&nbsp; YES NVRAM&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> Vlan4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.19.1&nbsp;&nbsp;&nbsp; YES NVRAM&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> Vlan5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.131.1&nbsp;&nbsp; YES NVRAM&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> Vlan6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.141.1&nbsp;&nbsp; YES NVRAM&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> Vlan7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.170.1&nbsp;&nbsp; YES NVRAM&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> Vlan8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.180.1&nbsp;&nbsp; YES NVRAM&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; up</div>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Mon, 16 Jul 2012 09:28:05 +1000</pubDate>
		</item>
		<item>
			<title>Cisco GRE and IPSec - GRE over IPSec - Selecting and Configuring GRE IPSec Tunnel or Transport Mode</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-gre-ipsec-tunnel-transport.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-gre-ipsec-tunnel-transport.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><strong>GRE Tunnels</strong> are very common amongst VPN implementations thanks to their simplicity and ease of configuration. With broadcasting and multicasting support, as opposed to pure IPSec VPNs, they tend to be the number one engineers' choice, especially when routing protocols are used amongst sites.</p>
<p style="text-align: justify;">The problem with GRE is that it is an encapsulation protocol, which means that while it does a terrific job providing connectivity between sites, it does a terrible job encrypting the data being transferred between them. GRE is stateless, offering no flow control mechanisms (think of UDP). This is where the IPSec protocol comes into the picture.</p>
<p style="text-align: justify;">IPSec’s objective is to provide security services for IP packets such as encrypting sensitive data, authentication, protection against replay and data confidentiality. IPSec is extensively covered in our <a href="https://www.firewall.cx/networking/network-protocols/ip-security-protocol.html" target="_blank" title="IPSec protocol">IPSec protocol</a> article.&nbsp;</p>
<p style="text-align: justify;">IPSec can be used in conjunction with GRE to provide top-notch security encryption for our data, thereby providing a complete secure and flexible VPN solution. IPSec can operate in two different modes, Tunnel mode and Transport mode.&nbsp; Both of these modes are covered extensively in our <a href="https://www.firewall.cx/networking/network-protocols/ipsec-modes.html" target="_blank" title="Understanding VPN IPSec Tunnel Mode and IPSec Transport Mode">Understanding VPN IPSec Tunnel Mode and IPSec Transport Mode</a> article. Additionally, Cisco GRE Tunnel configuration is covered in our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-gre-ipsec.html" target="_blank" title="Configuring Cisco Point-to-Point GRE Tunnels">Configuring Cisco Point-to-Point GRE Tunnels</a>. We highly recommend reading these articles before proceeding as it is a prerequisite for&nbsp; understanding the information covered here.</p>
<p style="text-align: justify;">As with IPSec, when configuring GRE with IPSec there are two modes in which GRE IPSec can be configured, GRE IPSec Tunnel mode and GRE IPSec Transport mode.</p>
<p style="text-align: justify;">This article examines the difference between GRE IPSec Tunnel and GRE IPSec Transport mode, and explains the packet structure differences along with the advantages and disadvantages of each mode.</p>
<h2 style="text-align: justify;">GRE IPSec Tunnel Mode</h2>
<p style="text-align: justify;">With GRE IPSec tunnel mode, the whole GRE packet (which includes the original IP header packet), is encapsulated, encrypted and protected inside an IPSec packet.&nbsp; GRE over IPSec Tunnel mode provides additional security because no part of the GRE tunnel is exposed, however, there is a significant overhead added to the packet. This additional overhead decreases the usable free space for our payload (<strong>Original IP packet</strong>), that means possibly more fragmentation will occur when transmitting data over a GRE IPSec Tunnel VPN.</p>
<p style="text-align: justify;">IPSec Tunnel mode is the default configuration option for both GRE and non-GRE IPSec VPNs. When configuring the IPSec transform set, no other configuration commands are required to enable tunnel mode:</p>
<div class="box-content" style="text-align: justify;">R1(config)# <strong>crypto ipsec transform-set TS esp-3des esp-md5-hmac</strong></div>
<h2 style="text-align: justify;">Calculating GRE IPSec Tunnel Mode Overhead</h2>
<p>Calculating the overhead will help us understand how much additional space GRE over IPSec in Tunnel mode requires and our effective usable space.<br /><br />The packet structure below shows an example of a <strong>GRE over IPSec</strong> in <strong>Tunnel mode</strong>:<br /><img src="https://www.firewall.cx//images/stories/gre-ipsec-tunnel-transport-1.gif" alt="gre-ipsec-tunnel-transport-1" width="706" height="198" style="display: block; margin-left: auto; margin-right: auto;" /><br />Two important points to keep in mind when calculating the overhead:</p>
<ul class="star">
<li>Depending on the encryption algorithm used in the crypto transform set, the Initialization Vector (IV) shown could be 8 or 16 bytes long. For example DES or 3DES introduces an 8-byte IV field, where as AES introduces a 16-byte IV field. In our example, we are using 3DES encryption, therefore producing a 8-byte IV field.</li>
</ul>
<ul class="star">
<li>The ESP Trailer will usually vary in size. Its job is to ensure that the <strong>Pad Length</strong>, <strong>Next Header</strong> fields (both 1-byte long and contained within the ESP Trailer) &amp; &nbsp;<strong>ESP Auth.Trailer</strong> are aligned on a 4-byte boundary. This means the total number of bytes, when adding the three fields together, must be a multiple of 4.</li>
</ul>
<p>Following is the calculated overhead:</p>
<p style="text-align: justify;"><strong>ESP Overhead</strong>:&nbsp; <strong>20 </strong>(IP Hdr) + <strong>8 </strong>(ESP Hdr) + <strong>8</strong> (IV) + <strong>4</strong> (ESP Trailer) + <strong>12 &nbsp;</strong>(ESP Auth) = <strong>52 Bytes</strong></p>
<p style="text-align: justify;">Note: ESP Trailer has been calculated as 4 bytes as per above note.</p>
<p style="text-align: justify;"><strong>GRE Overhead</strong>: <strong>20 </strong>(GRE IP Hdr) + <strong>4</strong> (GRE) = <strong>24 Bytes</strong></p>
<p style="text-align: justify;"><strong>Total Overhead: 52 + 24</strong> = <strong>76 Bytes</strong></p>
<h2 style="text-align: justify;">GRE IPSec Transport &nbsp;Mode</h2>
<p style="text-align: justify;">With <strong>GRE IPSec transport mode</strong>, the GRE packet is encapsulated and encrypted inside the IPSec packet, however, the GRE IP Header is placed at the front. This effectively exposes the GRE IP Header as it is not encrypted the same way it is in <strong>Tunnel mode</strong>.</p>
<p style="text-align: justify;"><strong>IPSec Transport mode</strong> is not used by default configuration and must be configured using the following command under the IPSec transform set:</p>
<div class="box-content">R1(config)# <strong>crypto ipsec transform-set TS esp-3des esp-md5-hmac<br /></strong>R1(cfg-crypto-trans)# <strong><strong>mode transport </strong><br /></strong></div>
<div><strong>GRE IPSec transport mode</strong> does have a few implementation restrictions. It is not possible to use GRE IPSec transport mode if the crypto tunnel transits a device using <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-nat-overload.html" target="_blank" title="Network Address Translation">Network Address Translation</a> (NAT) or Port Address Translation (PAT). In such cases, Tunnel mode must be used.</div>
<p style="text-align: justify;">Finally, if the GRE tunnel endpoints and Crypto tunnel endpoints are different, GRE IPSec transport mode cannot be used.</p>
<p style="text-align: justify;">These limitations seriously restrict the use and implementation of the transport mode in a WAN network environment.</p>
<h2 style="text-align: justify;">Calculating GRE IPSec Transport &nbsp;Mode Overhead</h2>
<p style="text-align: justify;">Calculating the overhead will help us understand how much space GRE over IPSec in Transport &nbsp;mode uses and our effective usable space.</p>
<p style="text-align: justify;">The packet structure below shows an example of <strong>GRE over IPSec in transport mode</strong>:</p>
<p><img src="https://www.firewall.cx//images/stories/gre-ipsec-tunnel-transport-2.gif" alt="gre-ipsec-tunnel-transport-2" width="625" height="184" style="display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: justify;">Again, two important points that must kept in mind when calculating the overhead:</p>
<ul class="star">
<li>Depending on the encryption algorithm used in the crypto transform set, the Initialization Vector (IV) shown could be 8 or 16 bytes long. For example DES or 3DES introduces an 8-byte IV field, where as AES introduces a 16-byte IV field. In our example, we are using 3DES encryption, therefore producing a 8-byte IV field.</li>
</ul>
<ul class="star">
<li>The ESP Trailer will usually vary in size. Its job is to ensure that the <strong>Pad Length</strong>, <strong>Next Header</strong> fields (both 1-byte long and contained within the ESP Trailer) &amp; &nbsp;<strong>ESP Auth.Trailer</strong> are aligned on a 4-byte boundary. This means the total number of bytes, when adding the three fields together, must be a multiple of 4.</li>
</ul>
<p style="text-align: justify;">Following is the calculated overhead:</p>
<p style="text-align: justify;"><strong>ESP Overhead</strong>:&nbsp; <strong>20 </strong>(IP Hrd) + <strong>8</strong> (ESP Hdr) +<strong> 8</strong> (IV) + <strong>4</strong> (ESP Trailer) + <strong>12 </strong>(ESP Auth) = <strong>52 Bytes</strong></p>
<p style="text-align: justify;">Note: ESP Trailer has been calculated as 4 bytes as per above note.</p>
<p style="text-align: justify;"><strong>GRE Overhead</strong>: <strong>4</strong> (GRE) &nbsp;= <strong>4 Bytes</strong></p>
<p style="text-align: justify;"><strong>Total Overhead: 52 + 4 = 56 Bytes</strong></p>
<p style="text-align: justify;">It is evident that GRE IPSec Transport mode saves approximately 20 bytes per packet overhead. This might save a moderate amount of bandwidth on a WAN link, however, there is no significant increase in CPU performance by using this mode.</p>
<h2>Summary</h2>
<p style="text-align: justify;">When comparing <strong>GRE over IPSec tunnel</strong> and <strong>GRE over IPSec transport mode</strong>, there are significant differences that cannot be ignored.&nbsp;</p>
<p style="text-align: justify;">If the GRE tunnels and crypto endpoints are not the same (IP address wise), transport mode in definitely not an option.</p>
<p style="text-align: justify;">If packets traverse a device (router) where NAT or PAT is used then again, transport mode cannot be used.</p>
<p style="text-align: justify;">On the other hand, tunnel mode seems to pay-off its 20-byte additional overhead by being flexible enough to be used in any type of WAN environment and offering increased protection by encrypting the GRE IP Header inside the ESP packet.</p>
<p style="text-align: justify;">Taking in consideration the small additional CPU load the tunnel mode produces and advantages it offers, we don’t believe it’s a coincidence Cisco has selected this mode in IPSec’s default configuration.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Mon, 14 May 2012 04:01:54 +1000</pubDate>
		</item>
		<item>
			<title>Configuring Point-to-Point GRE VPN Tunnels - Unprotected GRE &amp; Protected GRE over IPSec Tunnels</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-gre-ipsec.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-gre-ipsec.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><strong>Generic Routing Encapsulation</strong> (<strong>GRE</strong>) is a tunneling protocol developed by Cisco that allows the encapsulation of a wide variety of network layer protocols inside point-to-point links.</p>
<p style="text-align: justify;">A <strong>GRE tunnel</strong> is used when packets need to be sent from one network to another over the Internet or an insecure network. With GRE, a virtual tunnel is created between the two endpoints (Cisco routers) and packets are sent through the GRE tunnel.</p>
<p style="text-align: justify;">It is important to note that packets travelling inside a GRE tunnel are not encrypted as GRE does not encrypt the tunnel but encapsulates it with a GRE header. If data protection is required, IPSec must be configured to provide data confidentiality – this is when a GRE tunnel is transformed into a secure VPN GRE tunnel.</p>
<p style="text-align: justify;">The diagram below shows the encapsulation procedure of a simple - unprotected GRE packet as it traversers the router and enters the tunnel interface:</p>
<p><img src="https://www.firewall.cx//images/stories/cisco-routers-gre-2.png" alt="cisco-routers-gre-2" width="635" height="344" style="display: block; margin-left: auto; margin-right: auto;" title="GRE Tunnel Encapsulation Process" /></p>
<p style="text-align: justify;">While many might think a GRE IPSec tunnel between two routers is similar to a site to site IPSec VPN (crypto), it is not. A major difference is that GRE tunnels allow multicast packets to traverse the tunnel whereas IPSec VPN does not support multicast packets. In large networks where routing protocols such as OSPF, EIGRP are necessary, GRE tunnels are your best bet. For this reason, plus the fact that GRE tunnels are much easier to configure, engineers prefer to use GRE rather than IPSec VPN.</p>
<p style="text-align: justify;">This article will explain how to create simple (unprotected) and secure (IPSec encrypted) GRE tunnels between endpoints. We explain all the necessary steps to create and verify the GRE tunnel (unprotected and protected) and configure routing between the two networks.</p>
<h2><img src="https://www.firewall.cx//images/stories/cisco-routers-gre-1.gif" alt="cisco-routers-gre-1" width="609" height="224" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco Routers GRE Tunnel Configuration" /><br />Creating a Cisco GRE Tunnel</h2>
<p style="text-align: justify;">GRE tunnel uses a ‘tunnel’ interface – a logical interface configured on the router with an IP address where packets are encapsulated and decapsulated as they enter or exit the GRE tunnel.</p>
<p style="text-align: justify;">First step is to create our <strong>tunnel interface</strong> on <strong>R1</strong>:</p>
<div class="box-content">R1(config)# <strong>interface Tunnel0</strong>
<div style="text-align: justify;">R1(config-if)# <strong>ip address 172.16.0.1 255.255.255.0</strong></div>
<div style="text-align: justify;">R1(config-if)# <strong>ip mtu 1400</strong></div>
<div style="text-align: justify;">R1(config-if)# <strong>ip tcp adjust-mss 1360</strong></div>
<div style="text-align: justify;">R1(config-if)# <strong>tunnel source 1.1.1.10</strong></div>
<div style="text-align: justify;">R1(config-if)#<strong> tunnel destination 2.2.2.10</strong></div>
</div>
<p style="text-align: justify;">All <strong>Tunnel interfaces</strong> of participating routers must always be configured with an IP address that is not used anywhere else in the network. Each Tunnel interface is assigned an IP address within the same network as the other Tunnel interfaces.</p>
<p style="text-align: justify;">In our example, both Tunnel interfaces are part of the <strong>172.16.0.0/24</strong> network.</p>
<p style="text-align: justify;">Since GRE is an encapsulating protocol, we adjust the <a href="https://www.firewall.cx/networking/network-protocols/tcp-udp-protocol/tcp-options.html" target="_blank" title="maximum transfer unit (MTU)">maximum transfer unit</a> (mtu) to 1400 bytes and <a href="https://www.firewall.cx/networking/network-protocols/tcp-udp-protocol/tcp-options.html" target="_blank" title="Understanding TCP MSS">maximum segment size</a> (mss) to 1360 bytes. Because most transport MTUs are 1500 bytes and we have an added overhead because of GRE, we must reduce the MTU to account for the extra overhead. A setting of 1400 is a common practice and will ensure unnecessary packet fragmentation is kept to a minimum.</p>
<p style="text-align: justify;">Closing, we define the Tunnel source, which is R1’s public IP address, and destination – R2’s public IP address</p>
<p style="text-align: justify;">As soon as we complete R1’s configuration, the router will confirm the creation of the tunnel and inform about its status:</p>
<div class="box-content" style="text-align: justify;">R1#<br />*May 4 21:30:22.971: %LINEPROTO-5-UPDOWN: Line protocol on <strong>Interface Tunnel0</strong>, changed state to <strong>up</strong></div>
<p style="text-align: justify;">Since the Tunnel 0 interface is a logical interface it will remain up even if there is no GRE tunnel configured or connected at the other end.</p>
<p style="text-align: justify;">Next, we must create the <strong>Tunnel 0</strong> interface on R2:</p>
<div class="box-content" style="text-align: justify;">R2(config)# <strong>interface Tunnel0</strong>
<div style="text-align: justify;">R2(config-if)# <strong>ip address 172.16.0.2 255.255.255.0</strong></div>
<div style="text-align: justify;">R2(config-if)# <strong>ip mtu 1400</strong></div>
<div style="text-align: justify;">R2(config-if)# <strong>ip tcp adjust-mss 1360</strong></div>
<div style="text-align: justify;">R2(config-if)#<strong> tunnel source 2.2.2.10</strong></div>
<div style="text-align: justify;">R2(config-if)# <strong>tunnel destination 1.1.1.10</strong></div>
</div>
<p style="text-align: justify;">R2’s Tunnel interface is configured with the appropriate tunnel source and destination IP address. As with R1, R2 router will inform us that the <strong>Tunnel0</strong> interface is up:</p>
<div class="box-content">R2#<br />*May 4 21:32:54.927: %LINEPROTO-5-UPDOWN: Line protocol on <strong>Interface Tunnel0</strong>, changed state to <strong>up</strong></div>
<h2>Routing Networks Through The GRE Tunnel</h2>
<p style="text-align: justify;">At this point, both tunnel endpoints are ready and can ‘see’ each other. An icmp echo from one end will confirm this:</p>
<div class="box-content" style="text-align: justify;">R1# <strong>ping 172.16.0.2</strong>
<div style="text-align: justify;">Type escape sequence to abort.</div>
<div style="text-align: justify;">Sending 5, 100-byte ICMP Echos to 172.16.0.2, timeout is 2 seconds:</div>
<div style="text-align: justify;">!!!!!</div>
<div style="text-align: justify;">Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms</div>
<div style="text-align: justify;">R1#</div>
</div>
<p style="text-align: justify;">Again, this result means that the two tunnel endpoints can see each other. Workstations on either network will still not be able to reach the other side unless a static route is placed on each endpoint:</p>
<div class="box-content" style="text-align: justify;">R1(config)# <strong>ip route 192.168.2.0 255.255.255.0 172.16.0.2</strong></div>
<p style="text-align: justify;">On R1 we add a static route to the remote network 192.168.2.0/24 via 172.16.0.2 which is the other end of our GRE Tunnel. When R1 receives a packet for 192.168.2.0 network, it now knows the next hop is 172.16.0.2 and therefore will send it through the tunnel.</p>
<p style="text-align: justify;">The same configuration must be repeated for R2:</p>
<div class="box-content">R2(config)# <strong>ip route 192.168.1.0 255.255.255.0 172.16.0.1</strong></div>
<p style="text-align: justify;">Now both networks are able to freely communicate with each over the GRE Tunnel.</p>
<h2 style="text-align: justify;">Securing the GRE Tunnel with IPSec</h2>
<p style="text-align: justify;">As mentioned earlier, GRE is an encapsulation protocol and does not perform any encryption. Creating a point-to-point GRE tunnel without any encryption is extremely risky as sensitive data can easily be extracted from the tunnel and viewed by others.</p>
<p style="text-align: justify;">For this purpose, we use IPSec to add an encryption layer and secure the GRE tunnel. This provides us with the necessary military-grade encryption and peace of mind.&nbsp; Our example below covers GRE IPSec Tunnel mode.</p>
<p style="text-align: justify;">GRE IPSec modes are covered extensively in our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-gre-ipsec-tunnel-transport.html" target="_blank" title="GRE and IPSec – GRE Over IPSec - Selecting and Configuring Gre IPSec Tunnel or Transport Mode">GRE and IPSec – GRE Over IPSec - Selecting and Configuring Gre IPSec Tunnel or Transport Mode</a>.</p>
<h2>Configuring IPSec Encryption For GRE Tunnel (GRE over IPSec)</h2>
<p style="text-align: justify;">IPSec encryption involves two steps for each router. These steps are:</p>
<ul class="check">
<li style="text-align: justify;">(1) Configure <strong>ISAKMP </strong>(ISAKMP Phase 1)</li>
<li style="text-align: justify;">(2) Configure <strong>IPSec </strong>(ISAKMP Phase 2)</li>
</ul>
<h3>Configure ISAKMP (IKE) - (ISAKMP Phase 1)</h3>
<p style="text-align: justify;">IKE exists only to establish SAs (Security Association) for IPsec. Before it can do this, IKE must negotiate an SA (an ISAKMP SA) relationship with the peer.</p>
<p style="text-align: justify;">To begin, we’ll start working on R1.</p>
<p style="text-align: justify;">First step is to configure an <strong>ISAKMP Phase 1 policy</strong>:</p>
<div class="box-content" style="text-align: justify;">R1(config)# <strong> crypto isakmp policy 1</strong>
<div style="text-align: justify;">R1(config-isakmp)# <strong>encr 3des</strong></div>
<div style="text-align: justify;">R1(config-isakmp)# <strong>hash md5</strong></div>
<div style="text-align: justify;">R1(config-isakmp)# <strong>authentication pre-share</strong></div>
<div style="text-align: justify;">R1(config-isakmp)# <strong>group 2</strong></div>
<div style="text-align: justify;">R1(config-isakmp)# <strong>lifetime 86400 </strong></div>
</div>
<p style="text-align: justify;">The above commands define the following (in listed order):</p>
<div style="text-align: justify;"><strong>3DES</strong> - The encryption method to be used for Phase 1.</div>
<div style="text-align: justify;"><strong>MD5</strong> - The hashing algorithm</div>
<div style="text-align: justify;"><strong>Pre-share</strong> - Use Pre-shared key as the authentication method</div>
<div style="text-align: justify;"><strong>Group 2</strong> - Diffie-Hellman group to be used</div>
<div style="text-align: justify;"><strong>86400 </strong>– Session key lifetime. Expressed in either kilobytes (after x-amount of traffic, change the key) or seconds. Value set is the default value.</div>
<p style="text-align: justify;">Next we are going to define a pre shared key for authentication with R1's peer, 2.2.2.10:</p>
<div class="box-content" style="text-align: justify;">R1(config)# <strong>crypto isakmp key firewallcx address 2.2.2.10</strong></div>
<p style="text-align: justify;">The peer’s pre shared key is set to <strong>firewallcx</strong>. This key will be used for allISAKMP negotiations with peer 2.2.2.10 (R2).</p>
<h3>Create IPSec Transform (ISAKMP Phase 2 policy)</h3>
<p style="text-align: justify;">Now we need to create the transform set used to protect our data. We’ve named this <strong>TS</strong>:</p>
<div class="box-content" style="text-align: justify;">R1(config)# <strong>crypto ipsec transform-set TS esp-3des esp-md5-hmac</strong><br />R1(cfg-crypto-trans)# <strong>mode transport</strong></div>
<div style="text-align: justify;">The above commands defines the following:</div>
<div style="text-align: justify;">- <strong>ESP-3DES</strong> - Encryption method</div>
<div style="text-align: justify;">- <strong>MD5 </strong>- Hashing algorithm</div>
<div style="text-align: justify;">- Set IPSec to <strong>transport</strong> mode</div>
<p style="text-align: justify;">Finally, we create an IPSec profile to connect the previously defined ISAKMP and IPSec configuration together. We’ve named our IPSec profile <strong>protect-gre</strong>:</p>
<div class="box-content" style="text-align: justify;">R1(config)# <strong>crypto ipsec profile protect-gre</strong>
<div style="text-align: justify;">R1(ipsec-profile)# <strong>set security-association lifetime seconds 86400</strong></div>
<div style="text-align: justify;">R1(ipsec-profile)# <strong>set transform-set TS</strong></div>
</div>
<p style="text-align: justify;">We are ready to apply the IPSec encryption to the Tunnel interface:</p>
<div class="box-content" style="text-align: justify;">R1(config)# <strong>interface Tunnel 0</strong><br />R1(config-if)# <strong style="text-align: justify;">tunnel protection ipsec profile protect-gre</strong></div>
<p style="text-align: justify;">Now it's time to apply the same configuration on R2:</p>
<div class="box-content" style="text-align: justify;">R2(config)# <strong> crypto isakmp policy 1</strong>
<div style="text-align: justify;">R2(config-isakmp)# <strong>encr 3des</strong></div>
<div style="text-align: justify;">R2(config-isakmp)# <strong>hash md5</strong></div>
<div style="text-align: justify;">R2(config-isakmp)# <strong>authentication pre-share</strong></div>
<div style="text-align: justify;">R2(config-isakmp)# <strong>group 2</strong></div>
R2(config-isakmp)# <strong>lifetime 86400</strong>
<div style="text-align: justify;"><strong>&nbsp;</strong></div>
<div style="text-align: justify;">R2(config)# <strong>crypto isakmp key firewallcx address 1.1.1.10</strong></div>
<div style="text-align: justify;">R2(config)# <strong>crypto ipsec transform-set TS esp-3des esp-md5-hmac</strong></div>
<div style="text-align: justify;">R2(cfg-crypto-trans)# <strong>mode transport</strong><br /><br /></div>
<div style="text-align: justify;">R2(config)# <strong>crypto ipsec profile protect-gre</strong></div>
<div style="text-align: justify;">R2(ipsec-profile)# <strong>set security-association lifetime seconds 86400</strong></div>
<div style="text-align: justify;">R2(ipsec-profile)# <strong>set transform-set TS</strong><br /><br /></div>
<div style="text-align: justify;">R2(config)# <strong>interface Tunnel 0</strong></div>
<div style="text-align: justify;">R2(config-if)# <strong>tunnel protection ipsec profile protect-gre</strong></div>
</div>
<h2>Verifying The GRE Over IPSec Tunnel</h2>
<p style="text-align: justify;">Finally, our tunnel has been encrypted with IPSec, providing us with the much needed security layer. To test and verify this, all that is required is to ping the other end and force the VPN IPSec tunnel to come up and start encrypting/decrypting our data:</p>
<div class="box-content" style="text-align: justify;">R1#<strong> ping 192.168.2.1</strong>
<div style="text-align: justify;">Type escape sequence to abort.</div>
<div style="text-align: justify;">Sending 5, 100-byte ICMP Echos to 192.168.2.1, timeout is 2 seconds:</div>
<div style="text-align: justify;"><strong>!!!!!</strong></div>
<div style="text-align: justify;">Success rate is 100 percent (5/5), round-trip min/avg/max = 1/3/4 ms</div>
</div>
<p style="text-align: justify;">Using the <strong>show crypto session</strong> command, we can quickly verify the encryption is in place and doing its work:</p>
<div class="box-content" style="text-align: justify;">R1#<strong> show crypto session</strong>
<div style="text-align: justify;">Crypto session current status</div>
<div style="text-align: justify;">Interface: <strong>Tunnel0</strong></div>
<div style="text-align: justify;">Session status: <strong>UP-ACTIVE</strong></div>
<div style="text-align: justify;">Peer: 2.2.2.10 port 500</div>
<div style="text-align: justify;">IKE SA: local 1.1.1.10/500 remote 2.2.2.10/500 <strong>Active</strong></div>
<div style="text-align: justify;">IPSEC FLOW: permit 47 host 1.1.1.10 host 2.2.2.10</div>
<div style="text-align: justify;">Active SAs: 2, origin: crypto map</div>
</div>
<h2 style="text-align: left;">Summary</h2>
<p style="text-align: justify;">In this article we saw <strong>how to create</strong> simple (<strong>unprotected</strong>) and <strong>secure</strong> (<strong>IPSec encrypted</strong>) <strong>GRE tunnels</strong> between Cisco routers. We explained all the necessary steps to <strong>create and verify the GRE tunnel</strong> (unprotected and protected) and <strong>configure routing</strong> between the two networks.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Sat, 05 May 2012 04:10:22 +1000</pubDate>
		</item>
		<item>
			<title>Configuring Site to Site IPSec VPN Tunnel Between Cisco Routers</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-site-to-site-ipsec-vpn.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-site-to-site-ipsec-vpn.html</guid>
			<description><![CDATA[<p style="text-align: justify;">Site-to-Site IPSec VPN Tunnels are used to allow the secure transmission of data, voice and video between two sites (e.g offices or branches). The VPN tunnel is created over the Internet public network and encrypted using a number of advanced encryption algorithms to provide confidentiality of the data transmitted between the two sites.</p>
<p style="text-align: justify;">This article will show how to setup and configure two Cisco routers to create a permanent secure site-to-site VPN tunnel over the Internet, using the <a href="https://www.firewall.cx/networking/network-protocols/ip-security-protocol.html" target="_blank" title="IP Security Protocol">IP Security (IPSec) protocol</a>. In this article we assume both Cisco routers have a <strong>static public IP address</strong>.&nbsp; Readers interested in configuring support for <strong>dynamic public IP address endpoint routers</strong> can refer to our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-vpn-dynamic-endpoint.html" target="_blank" title="Configuring Site to Site IPSec VPN with Dynamic IP Endpoint Cisco Routers">Configuring Site to Site IPSec VPN with Dynamic IP Endpoint Cisco Routers</a> article.</p>
<p style="text-align: justify;">IPSec VPN tunnels can also be configured using GRE (Generic Routing Encapsulation) Tunnels with IPsec. GRE tunnels greatly simply the configuration and administration of VPN tunnels and are covered in our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-gre-ipsec.html" target="_blank" title="Configuring Point-to-Point GRE VPN Tunnels">Configuring Point-to-Point GRE VPN Tunnels</a> article. &nbsp;Lastly, DMVPNs – a new VPN trend that provide major flexibility and almost no administration overhead can also be examined by reading our <a href="https://www.firewall.cx/cisco/cisco-services-technologies/cisco-dmvpn-intro.html" target="_blank" title="Understanding Cisco Dynamic Multipoint VPN (DMVPN)">Understanding Cisco Dynamic Multipoint VPN (DMVPN)</a>,&nbsp; <a href="https://www.firewall.cx/cisco/cisco-services-technologies/cisco-dmvpn-models.html" target="_blank" title="Dynamic Multipoint VPN (DMVPN) Deployment Models &amp; Architectures">Dynamic Multipoint VPN (DMVPN) Deployment Models &amp; Architectures</a> and <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-dmvpn-configuration.html" target="_blank" title="Configuring Cisco Dynamic Multipoint VPN (DMVPN) - Hub, Spokes , mGRE Protection and Routing - DMVPN Configuration">Configuring Cisco Dynamic Multipoint VPN (DMVPN) - Hub, Spokes , mGRE Protection and Routing - DMVPN Configuration </a>articles.</p>
<p style="text-align: justify;"><strong>ISAKMP</strong> (<strong>Internet Security Association and Key Management Protocol</strong>) and <strong>IPSec</strong> are essential to building and encrypting the VPN tunnel. <strong>ISAKMP</strong>, also called <strong>IKE</strong> (<strong>Internet Key Exchange</strong>), is the negotiation protocol that allows two hosts to agree on how to build an IPsec security association. <strong>ISAKMP</strong> negotiation consists of <strong>two phases</strong>: <strong>Phase 1</strong> and <strong>Phase 2</strong>. &nbsp;</p>
<p style="text-align: justify;"><strong>Phase 1</strong> creates the first tunnel, which protects later <strong>ISAKMP negotiation messages</strong>. <strong>Phase 2</strong> creates the tunnel that protects data. &nbsp;<strong>IPSec</strong> then comes into play to <strong>encrypt the data using encryption algorithms</strong> and provides <strong>authentication</strong>, <strong>encryption</strong> and <strong>anti-replay services</strong>.</p>
<h2>IPSec VPN Requirements</h2>
<p style="text-align: justify;">To help make this an easy-to-follow exercise, we have split it into two steps that are required to get the Site-to-Site IPSec VPN Tunnel to work.</p>
<p style="text-align: justify;">These steps are:</p>
<p style="text-align: justify;">(1)&nbsp; Configure <strong>ISAKMP </strong>(ISAKMP Phase 1)</p>
<p style="text-align: justify;">(2)&nbsp; Configure <strong>IPSec&nbsp; </strong>(ISAKMP Phase 2, ACLs, Crypto MAP)</p>
<p style="text-align: justify;">Our example setup is between two branches of a small company, these are <strong>Site 1</strong> and <strong>Site 2</strong>. Both the branch routers connect to the Internet and have a static IP Address assigned by their ISP as shown on the diagram:</p>
<p><img src="https://www.firewall.cx//images/stories/cisco-routers-s2s-ipsec-vpn-1.png" alt="cisco-routers-s2s-ipsec-vpn-1" width="656" height="227" style="display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: justify;"><strong>Site 1</strong> is configured with an internal network of <strong>10.10.10.0/24</strong>, while <strong>Site 2</strong> is configured with network <strong>20.20.20.0/24</strong>. The goal is to securely connect both LAN networks and allow full communication between them, without any restrictions.</p>
<h2>Configure ISAKMP (IKE) - (ISAKMP Phase 1)</h2>
<p style="text-align: justify;"><strong>IKE</strong> exists only to establish <strong>SAs</strong> (<strong>Security Association</strong>) for <strong>IPsec</strong>. Before it can do this, <strong>IKE</strong> must <strong>negotiate</strong> an <strong>SA</strong> (an ISAKMP SA) relationship with the peer.</p>
<p style="text-align: justify;">To begin, we’ll start working on the <strong>Site 1 router (R1)</strong>.</p>
<p style="text-align: justify;">First step is to configure an <strong>ISAKMP Phase 1 policy</strong>:</p>
<div class="box-content">R1(config)# <strong>&nbsp;crypto isakmp policy 1</strong><br />
<div>R1(config-isakmp)# <strong>encr 3des</strong></div>
<div>R1(config-isakmp)# <strong>hash md5</strong></div>
<div>R1(config-isakmp)# <strong>authentication pre-share</strong></div>
<div>R1(config-isakmp)# <strong>group 2</strong></div>
<div>R1(config-isakmp)# <strong>lifetime 86400 </strong></div>
</div>
<p style="text-align: justify;">The above commands define the following (in listed order):</p>
<div style="text-align: justify;"><strong>3DES</strong> - The encryption method to be used for Phase 1.</div>
<div style="text-align: justify;"><strong>MD5</strong> - The hashing algorithm</div>
<div style="text-align: justify;"><strong>Pre-share</strong> - Use Pre-shared key as the authentication method</div>
<div style="text-align: justify;"><strong>Group 2</strong> - Diffie-Hellman group to be used</div>
<div style="text-align: justify;"><strong>86400 </strong>– Session key lifetime. Expressed in either kilobytes (after x-amount of traffic, change the key) or seconds. Value set is the default value.</div>
<p style="text-align: justify;">We should note that <strong>ISAKMP Phase 1</strong> policy is defined globally. This means that if we have five different remote sites and configured five different ISAKMP Phase 1 policies (one for each remote router), when our router tries to negotiate a VPN tunnel with each site it will send all five policies and use the first match that is accepted by both ends.</p>
<p style="text-align: justify;">Next we are going to define a pre shared key for authentication with our peer (R2 router) by using the following command:</p>
<div class="box-content" style="text-align: justify;">R1(config)#&nbsp;<strong>crypto isakmp key firewallcx address 1.1.1.2</strong></div>
<p style="text-align: justify;">The peer’s pre shared key is set to <strong>firewallcx</strong> and its public <strong>IP Address</strong> is <strong>1.1.1.2</strong>. Every time <strong>R1</strong> tries to establish a <strong>VPN tunnel</strong> with <strong>R2</strong> (<strong>1.1.1.2</strong>), this pre shared key will be used.</p>
<h2>Configure IPSec - 4 Simple Steps</h2>
<p style="text-align: justify;">To configure IPSec we need to setup the following in order:</p>
<ul class="check">
<li style="text-align: justify;"><strong>Create extended ACL</strong></li>
<li style="text-align: justify;"><strong>Create IPSec Transform</strong></li>
<li style="text-align: justify;"><strong>Create Crypto Map</strong></li>
<li style="text-align: justify;"><strong>Apply crypto map to the public interface<br /></strong></li>
</ul>
<p>Let us examine each of the above steps.<strong><br /></strong></p>
<h2>Step 1: Creating Extended ACL</h2>
<p style="text-align: justify;">Next step is to create an access-list and define the traffic we would like the router to pass through the VPN tunnel. &nbsp;In this example, it would be traffic from one network to the other, 10.10.10.0/24 to 20.20.20.0/24.&nbsp; Access-lists that define VPN traffic are sometimes called <strong>crypto access-list</strong> or <strong>interesting traffic access-list</strong>.</p>
<div class="box-content" style="text-align: justify;">R1(config)# <strong>ip access-list extended VPN-TRAFFIC</strong><br />R1(config-ext-nacl)# <strong>permit ip 10.10.10.0 0.0.0.255 20.20.20.0 0.0.0.255</strong></div>
<h2>Step 2: Create IPSec Transform (ISAKMP Phase 2 policy)</h2>
<p style="text-align: justify;">Next step is to create the transform set used to protect our data. We’ve named this <strong>TS</strong>:</p>
<div class="box-content" style="text-align: justify;">R1(config)# <strong>crypto ipsec transform-set TS esp-3des esp-md5-hmac</strong></div>
<p style="text-align: justify;">The above command defines the following: &nbsp;</p>
<div style="text-align: justify;">- <strong>ESP-3DES</strong> - Encryption method</div>
<div style="text-align: justify;">- <strong>MD5 </strong>- Hashing algorithm</div>
<h2>Step 3: Create Crypto Map</h2>
<p style="text-align: justify;">The Crypto map is the last step of our setup and connects the previously defined ISAKMP and IPSec configuration together:</p>
<div class="box-content" style="text-align: justify;">R1(config)# <strong>crypto map CMAP 10 ipsec-isakmp</strong><br />
<div>R1(config-crypto-map)# <strong>set peer 1.1.1.2</strong></div>
<div>R1(config-crypto-map)# <strong>set transform-set TS</strong></div>
<div>R1(config-crypto-map)# <strong>match address VPN-TRAFFIC</strong></div>
</div>
<p style="text-align: justify;">We’ve named our crypto map CMAP. The <strong>ipsec-isakmp </strong>tag tells the router that this crypto map is an IPsec crypto map. Although there is only one peer declared in this crypto map (1.1.1.2), it is possible to have multiple peers within a given crypto map.</p>
<h2>Step 4: Apply Crypto Map To The Public Interface</h2>
<p style="text-align: justify;">The final step is to apply the crypto map to the outgoing interface of the router. Here, the outgoing interface is FastEthernet 0/1.</p>
<div class="box-content" style="text-align: justify;">R1(config)# <strong>interface FastEthernet0/1</strong><br />R1(config- if)# <strong>crypto map CMAP</strong></div>
<p style="text-align: justify;">Note that you can assign only one crypto map to an interface.</p>
<p style="text-align: justify;">As soon as we apply crypto map on the interface, we receive a message from the router &nbsp;that confirms isakmp is on: “<strong>ISAKMP is ON</strong>”.</p>
<p style="text-align: justify;">At this point, we have completed the IPSec VPN configuration on the <strong>Site 1 router</strong>.</p>
<p style="text-align: justify;">We now move to the <strong>Site 2 router</strong> to complete the VPN configuration. The settings for <strong>Router 2</strong> are identical, with the only difference being the <strong>peer IP Addresses</strong> and <strong>access lists</strong>:</p>
<div class="box-content">R2(config)# <strong>crypto isakmp policy 1</strong><br />
<div>R2(config-isakmp)# <strong>encr 3des</strong></div>
<div>R2(config-isakmp)# <strong>hash md5</strong></div>
<div>R2(config-isakmp)# <strong>authentication pre-share</strong></div>
<div>R2(config-isakmp)# <strong>group 2</strong></div>
<div>R2(config-isakmp)# <strong>lifetime 86400<br /><br /></strong></div>
<div>R2(config)# <strong>crypto isakmp key firewallcx address 1.1.1.1</strong></div>
<div>R2(config)# <strong>ip access-list extended VPN-TRAFFIC</strong></div>
<div>R2(config-ext-nacl)#&nbsp;<strong>permit ip 20.20.20.0 0.0.0.255 10.10.10.0 0.0.0.255</strong></div>
&nbsp;
<div>R2(config)# <strong>crypto ipsec transform-set TS esp-3des esp-md5-hmac</strong></div>
<div>R2(config)# <strong>crypto map CMAP 10 ipsec-isakmp</strong></div>
<div>R2(config-crypto-map)# <strong>set peer 1.1.1.1</strong></div>
<div>R2(config-crypto-map)# <strong>set transform-set TS</strong></div>
<div>R2(config-crypto-map)# <strong>match address VPN-TRAFFIC<br /><br /></strong></div>
<div>R2(config)# <strong>interface FastEthernet0/1</strong></div>
<div>R2(config- if)# <strong>crypto map CMAP</strong></div>
</div>
<h2>Network Address Translation (NAT) and IPSec VPN Tunnels</h2>
<p style="text-align: justify;"><a href="https://www.firewall.cx/networking/network-address-translation.html" target="_blank" title="Network Address Translation (NAT)">Network Address Translation (NAT)</a> is most likely to be configured to provide Internet access to internal hosts. When configuring a <strong>Site-to-Site VPN tunnel</strong>, it is imperative to instruct the router <strong>not to perform NAT</strong> (deny NAT) on packets destined to the remote VPN network(s).</p>
<p style="text-align: justify;">This is easily done by inserting a deny statement at the beginning of the <strong>NAT access lists</strong> as shown below:</p>
<p>For <strong>Site 1’s router</strong>:</p>
<div class="box-content">R1(config)# <strong>ip nat inside source list 100 interface fastethernet0/1 overload</strong><br />
<div>R1(config)# <strong>access-list 100 remark -=[Define NAT Service]=-</strong></div>
<div>R1(config)# <strong>access-list 100 deny ip 10.10.10.0 0.0.0.255 20.20.20.0 0.0.0.255</strong></div>
<div>R1(config)# <strong>access-list 100 permit ip 10.10.10.0 0.0.0.255 any</strong></div>
<div>R1(config)# <strong>access-list 100 remark</strong></div>
</div>
<p>And <strong>Site 2’s router</strong>:</p>
<div class="box-content">R2(config)# <strong>ip nat inside source list 100 interface fastethernet0/1 overload</strong><br />
<div>R2(config)# <strong>access-list 100 remark -=[Define NAT Service]=-</strong></div>
<div>R2(config)# <strong>access-list 100 deny ip 20.20.20.0 0.0.0.255 10.10.10.0 &nbsp;0.0.0.255</strong></div>
<div>R2(config)# <strong>access-list 100 permit ip 20.20.20.0 0.0.0.255 any</strong></div>
<div>R2(config)# <strong>access-list 100 remark</strong></div>
</div>
<h2>Establishing and Verifying the IPSec VPN Tunnel</h2>
<p style="text-align: justify;">At this point, we’ve completed our configuration and the VPN Tunnel is ready to be brought up.&nbsp; To initiate the VPN Tunnel, we need to force one packet to traverse the VPN and this can be achieved by pinging from one router to another:</p>
<div class="box-content">R1# <strong><strong>ping 20.20.20.1 source fastethernet0/0<br /></strong></strong>
<div>Type escape sequence to abort.</div>
<div>Sending 5, 100-byte ICMP Echos to 20.20.20.1, timeout is 2 seconds:</div>
<div>Packet sent with a source address of 10.10.10.1</div>
<div><strong>.!!!!</strong></div>
<div>Success rate is 80 percent (4/5), round-trip min/avg/max = 44/47/48 ms</div>
</div>
<p style="text-align: justify;">The first <a href="https://www.firewall.cx/networking/network-protocols/icmp-protocol/icmp-echo-ping.html" target="_blank" title="icmp echo (ping)">icmp echo (ping)</a> received a timeout, but the rest received a reply, as expected. The time required to bring up the VPN Tunnel is sometimes slightly more than 2 seconds, causing the first ping to timeout.</p>
<p>To verify the VPN Tunnel, use the <strong>show crypto session</strong> command:</p>
<div class="box-content">R1# <strong>show crypto session</strong><br />
<div>Crypto session current status</div>
<div>Interface: FastEthernet0/1</div>
<div>Session status: <strong>UP-ACTIVE</strong>&nbsp;&nbsp;&nbsp;&nbsp;</div>
<div>Peer: 1.1.1.2 port 500</div>
<div>&nbsp; IKE SA: local 1.1.1.1/500 remote 1.1.1.2/500 <strong>Active</strong></div>
<div>&nbsp; IPSEC FLOW: permit ip 10.10.10.0/255.255.255.0 20.20.20.0/255.255.255.0</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>&nbsp; Active SAs: 2, origin: crypto map</strong></div>
</div>
<h2>Summary </h2>
<p>This completes our discussion on <strong>how to setup and configure two Cisco routers</strong> to create a permanent <strong>secure site-to-site VPN tunnel</strong> over the Internet, using the <a href="https://www.firewall.cx/networking/network-protocols/ip-security-protocol.html" target="_blank" title="IP Security Protocol">IP Security (IPSec) protocol</a>.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Sun, 29 Apr 2012 09:43:26 +1000</pubDate>
		</item>
		<item>
			<title>How To Secure Your Cisco Router Using Cisco AutoSecure Feature</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/how-to-secure-your-cisco-router-using-cisco-autosecure-feature.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/how-to-secure-your-cisco-router-using-cisco-autosecure-feature.html</guid>
			<description><![CDATA[<p style="text-align: justify;">In today’s complex network environments securing your network routers can be a daunting task, especially when there are so many CLI commands and parameters with different security implications for your Cisco router device.</p>
<p style="text-align: justify;">Thankfully, since Cisco IOS version 12.3 and later, Cisco provides an easy way for administrators to lock down their Cisco router without entering complex commands and parameters.&nbsp; This feature was smartly introduced to help remove the complexity of the task and ensure the lock-down is performed according to Cisco’s best security practices.</p>
<p style="text-align: justify;">The Cisco <strong>AutoSecure</strong> feature is available to all IOS version 12.3 and above and supported on all hardware platforms, including all newer Cisco 870, 880, 1800, 1900, 2800, 2900, 3800 and 3900 series routers.</p>
<p style="text-align: justify;">To maximize flexibility the Cisco AutoSecure command supports two different modes depending on your needs and flexibility required:</p>
<p style="text-align: justify;"><strong><strong>AutoSecure</strong> Interactive Mode</strong>: This mode prompts the user with options to enable/disable services and other security features supported by the IOS version the router is running.</p>
<p style="text-align: justify;"><strong><strong>AutoSecure</strong> Non-Interactive Mode</strong>: &nbsp;Automatically executes the Cisco <strong>AutoSecure</strong> command using the recommended Cisco default settings (Cisco’s best security practices).</p>
<p style="text-align: justify;">The Cisco <strong>AutoSecure Interactive mode</strong> provides greater control over security-related features than the <strong>non-interactive mode</strong>. However, when an administrator needs to&nbsp;quickly secure a router without much human intervention, the non-interactive mode is appropriate.</p>
<p style="text-align: justify;">We’ll examine the practical difference between the two commands soon. For now, let’s take a look at the functions Cisco <strong>AutoSecure</strong> performs:</p>
<p style="text-align: justify;"><strong>1. Disables the following Global Services:</strong></p>
<ul>
<li>Finger</li>
<li>PAD</li>
<li>Small Servers</li>
<li>Bootp</li>
<li>HTTP service</li>
<li>Identification Service</li>
<li>CDP</li>
<li>NTP</li>
<li>Source Routing</li>
</ul>
<p style="text-align: justify;"><strong>2. Enables the following Global Services:</strong></p>
<ul>
<li>Password-encryption service</li>
<li>Tuning of scheduler interval/allocation</li>
<li>TCP synwait-time</li>
<li>TCP-keepalives-in and tcp-kepalives-out</li>
<li>SPD configuration</li>
<li>No ip unreachables for null 0</li>
</ul>
<p style="text-align: justify;"><strong>3. Disables the following services per interface:</strong></p>
<ul>
<li>ICMP</li>
<li>Proxy-Arp</li>
<li>Directed Broadcast</li>
<li>Disables MOP service</li>
<li>Disables icmp unreachables</li>
<li>Disables icmp mask reply messages.</li>
</ul>
<p style="text-align: justify;"><strong>4. Provides logging for security:</strong></p>
<ul>
<li>Enables sequence numbers &amp; timestamp</li>
<li>Provides a console log</li>
<li>Sets log buffered size</li>
<li>Provides an interactive dialogue to configure the logging server ip address.</li>
</ul>
<p style="text-align: justify;"><strong>5. Secures access to the router:</strong></p>
<ul>
<li>Checks for a banner and provides facility to add text to automatically configure:</li>
<li>Login and password</li>
<li>Transport input &amp; output</li>
<li>Exec-timeout</li>
<li>Local AAA</li>
<li>SSH timeout and ssh authentication-retries to minimum number</li>
<li>Enable only SSH and SCP for access and file transfer to/from the router</li>
<li>Disables SNMP If not being used</li>
</ul>
<p style="text-align: justify;"><strong>6. Secures the Forwarding Plane:</strong></p>
<ul>
<li>Enables Cisco Express Forwarding (CEF) or distributed CEF on the router, when available</li>
<li>Anti-spoofing</li>
<li>Blocks all IANA reserved IP address blocks</li>
<li>Blocks private address blocks if customer desires</li>
<li>Installs a default route to NULL 0, if a default route is not being used</li>
<li>Configures TCP intercept for connection-timeout, if TCP intercept feature is available and the user is interested</li>
<li>Starts interactive configuration for CBAC on interfaces facing the Internet, when using a Cisco IOS Firewall image</li>
<li>Enables NetFlow on software forwarding platforms</li>
</ul>
<p style="text-align: justify;">It is clear that the Cisco <strong>AutoSecure</strong> does a lot more than execute a couple of commands.</p>
<h2>Configuring Cisco AutoSecure Interactive Mode</h2>
<p style="text-align: justify;">This happens to be the recommended mode for securing your Cisco router. When using the Cisco <strong>AutoSecure</strong> <strong>Interactive Mode</strong>, the router will prompt a number of questions regarding the current topology, how it is connected to the Internet, which interface connects to the Internet and so on.&nbsp; Providing this information is essential because it will be used by AutoSecure to lock-down the router and disable services as required by Cisco’s best security practices.</p>
<p style="text-align: justify;">Below is the command required to initiate the AutoSecure Interactive mode feature. You can abort the session anytime by pressing <strong>Ctrl-C</strong>, or press <strong>?</strong> to get help:</p>
<div class="box-content" style="text-align: justify;">R1# <strong>auto secure</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --- AutoSecure Configuration ---<br /><br />*** AutoSecure configuration enhances the security of<br />the router, but it will not make it absolutely resistant<br />to all security attacks ***<br /><br />AutoSecure will modify the configuration of your device.<br />All configuration changes will be shown. For a detailed<br />explanation of how the configuration changes enhance security<br />and any possible side effects, please refer to Cisco.com for<br />Autosecure documentation.<br /><br />At any prompt you may enter '?' for help.<br />Use ctrl-c to abort this session at any prompt.<br />Gathering information about the router for AutoSecure
<p>Is this router connected to internet? [no]: <strong>yes</strong></p>
<p>Enter the number of interfaces facing the internet [1]: <strong>1</strong></p>
<p>Interface&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IP-Address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OK?&nbsp;&nbsp;&nbsp;&nbsp; Method&nbsp;&nbsp;&nbsp; Status&nbsp;&nbsp;&nbsp; Protocol</p>
<p>FastEthernet0/0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10.0.0.100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YES&nbsp;&nbsp;&nbsp;&nbsp; NVRAM &nbsp; &nbsp; &nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>FastEthernet0/1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.151.10&nbsp; YES&nbsp;&nbsp;&nbsp;&nbsp; NVRAM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp; NVI0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 10.0.0.100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YES &nbsp; &nbsp;&nbsp; unset&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; up&nbsp;&nbsp;&nbsp;</p>
<p>Enter the interface name that is facing the internet: <strong>FastEthernet0/1</strong></p>
<p>Securing Management plane services...</p>
Disabling service finger<br />Disabling service pad<br />Disabling udp &amp; tcp small servers<br />Enabling service password encryption<br />Enabling service tcp-keepalives-in<br />Enabling service tcp-keepalives-out<br />Disabling the cdp protocol<br />Disabling the bootp server<br />Disabling the http server<br />Disabling the finger service<br />Disabling source routing<br />Disabling gratuitous arp<br />Configure NTP Authentication? [yes]: <strong>no</strong><br /><br />Enter the new enable password: <strong>*****</strong><br />% Invalid Password length - must contain 6 to 25 characters. Password configuration failed<br />Enter the new enable password: <strong>**********</strong><br />Confirm the enable password:&nbsp;&nbsp;&nbsp; <strong>**********</strong><br /><br />Configuring AAA local authentication<br />Configuring Console, Aux and VTY lines for<br />local authentication, exec-timeout, and transport<br />Securing device against Login Attacks<br />Configure the following parameters<br />Blocking Period when Login Attack detected: 15<br />Maximum Login failures with the device: 3<br />Maximum time period for crossing the failed login attempts: 20<br />Configure SSH server? [yes]: <strong>no</strong><br /><br />Configuring interface specific AutoSecure services<br /><br />Disabling the following ip services on all interfaces:<br />&nbsp;no ip redirects<br />&nbsp;no ip proxy-arp<br />&nbsp;no ip unreachables<br />&nbsp;no ip directed-broadcast<br />&nbsp;no ip mask-reply<br /><br />Disabling mop on Ethernet interfaces<br />Securing Forwarding plane services...<br />Enabling unicast rpf on all interfaces connected to internet<br /><br />Configure CBAC Firewall feature? [yes/no]: <strong>yes</strong><br /><br />This is the configuration generated:<br /><br />no service finger<br />no service pad<br />no service udp-small-servers<br />no service tcp-small-servers<br />service password-encryption<br />service tcp-keepalives-in<br />service tcp-keepalives-out<br />no cdp run<br />no ip bootp server<br />no ip http server<br />no ip finger<br />no ip source-route<br />no ip gratuitous-arps<br />no ip identd<br />security passwords min-length 6<br />security authentication failure rate 10 log<br />enable password 7 11584B5643475D<br />aaa new-model<br />aaa authentication login local_auth local<br /><br />line con 0<br />&nbsp;login authentication local_auth<br />&nbsp;exec-timeout 5 0<br />&nbsp;transport output telnet<br /><br />line aux 0<br />&nbsp;login authentication local_auth<br />&nbsp;exec-timeout 10 0<br />&nbsp;transport output telnet<br /><br />line vty 0 15<br />&nbsp;login authentication local_auth<br />&nbsp;transport input telnet<br /><br />line tty 1<br />&nbsp;login authentication local_auth<br />&nbsp;exec-timeout 15 0<br /><br />login block-for 15 attempts 3 within 20<br />service timestamps debug datetime msec localtime show-timezone<br />service timestamps log datetime msec localtime show-timezone<br />logging facility local2<br />logging trap debugging<br />service sequence-numbers<br />logging console critical<br />logging buffered<br /><br />interface FastEthernet0/0<br />&nbsp;no ip redirects<br />&nbsp;no ip proxy-arp<br />&nbsp;no ip unreachables<br />&nbsp;no ip directed-broadcast<br />&nbsp;no ip mask-reply<br />&nbsp;no mop enabled<br /><br />interface FastEthernet0/1<br />&nbsp;no ip redirects<br />&nbsp;no ip proxy-arp<br />&nbsp;no ip unreachables<br />&nbsp;no ip directed-broadcast<br />&nbsp;no ip mask-reply<br />&nbsp;no mop enabled<br />access-list 101 permit udp any any eq bootpc<br /><br />interface FastEthernet0/1<br />ip verify unicast source reachable-via rx allow-default 101<br />ip inspect audit-trail<br />ip inspect dns-timeout 7<br />ip inspect tcp idle-time 14400<br />ip inspect udp idle-time 1800<br />ip inspect name autosec_inspect cuseeme timeout 3600<br />ip inspect name autosec_inspect ftp timeout 3600<br />ip inspect name autosec_inspect http timeout 3600<br />ip inspect name autosec_inspect rcmd timeout 3600<br />ip inspect name autosec_inspect realaudio timeout 3600<br />ip inspect name autosec_inspect smtp timeout 3600<br />ip inspect name autosec_inspect tftp timeout 30<br />ip inspect name autosec_inspect udp timeout 15<br />ip inspect name autosec_inspect tcp timeout 3600<br /><br />ip access-list extended autosec_firewall_acl<br />&nbsp;permit udp any any eq bootpc<br />&nbsp;deny ip any any<br /><br />interface FastEthernet0/1<br />&nbsp;ip inspect autosec_inspect out<br />&nbsp;ip access-group autosec_firewall_acl in<br />!<br />end<br /><br />Apply this configuration to running-config? [yes]: <strong>yes</strong><br /><br />Applying the config generated to running-config</div>
<p style="text-align: justify;">&nbsp;Notice the router rejected the initial <strong>enable </strong>password as it did not conform to the password security requirements</p>
<p style="text-align: justify;">&nbsp;If at any point you would like to check the configuration changes made by the Cisco AutoSecure feature before saving them, you can use the <strong>show auto secure config </strong>command:</p>
<div class="box-content">R1# <strong>show auto secure config </strong><br />
<div>no service finger</div>
<div>no service pad</div>
<div>no service udp-small-servers</div>
<div>no service tcp-small-servers</div>
<div>service password-encryption</div>
<div>service tcp-keepalives-in</div>
<div>service tcp-keepalives-out</div>
<div>no cdp run</div>
<div>no ip bootp server</div>
<div>no ip http server</div>
<div>no ip finger</div>
<div>no ip source-route</div>
<div>no ip gratuitous-arps</div>
<div>no ip identd</div>
<div>security passwords min-length 6</div>
<div>security authentication failure rate 10 log</div>
<div>enable password 7 11584B5643475D</div>
<div>aaa new-model</div>
<div>aaa authentication login local_auth local</div>
<div>line con 0</div>
<div>&nbsp;login authentication local_auth</div>
<div>&nbsp;exec-timeout 5 0</div>
<div>&nbsp;transport output telnet</div>
<div>line aux 0</div>
<div>&nbsp;login authentication local_auth</div>
<div>&nbsp;exec-timeout 10 0</div>
<div>&nbsp;transport output telnet</div>
<div>line vty 0 15</div>
<div>&nbsp;login authentication local_auth</div>
<div>&nbsp;transport input telnet</div>
<div>line tty 1</div>
<div>&nbsp;login authentication local_auth</div>
<div>&nbsp;exec-timeout 15 0</div>
<div>login block-for 15 attempts 3 within 20</div>
<div>service timestamps debug datetime msec localtime show-timezone</div>
<div>service timestamps log datetime msec localtime show-timezone</div>
<div>logging facility local2</div>
<div>logging trap debugging</div>
<div>service sequence-numbers</div>
<div>logging console critical</div>
<div>logging buffered</div>
<div>interface FastEthernet0/0</div>
<div>&nbsp;no ip redirects</div>
<div>&nbsp;no ip proxy-arp</div>
<div>&nbsp;no ip unreachables</div>
<div>&nbsp;no ip directed-broadcast</div>
<div>&nbsp;no ip mask-reply</div>
<div>&nbsp;no mop enabled</div>
<div>!</div>
<div>interface FastEthernet0/1</div>
<div>&nbsp;no ip redirects</div>
<div>&nbsp;no ip proxy-arp</div>
<div>&nbsp;no ip unreachables</div>
<div>&nbsp;no ip directed-broadcast</div>
<div>&nbsp;no ip mask-reply</div>
<div>&nbsp;no mop enabled</div>
<div>!</div>
<div>access-list 101 permit udp any any eq bootpc</div>
<div>interface FastEthernet0/1</div>
<div>&nbsp;ip verify unicast source reachable-via rx allow-default 101</div>
<div>ip inspect audit-trail</div>
<div>ip inspect dns-timeout 7</div>
<div>ip inspect tcp idle-time 14400</div>
<div>ip inspect udp idle-time 1800</div>
<div>ip inspect name autosec_inspect cuseeme timeout 3600</div>
<div>ip inspect name autosec_inspect ftp timeout 3600</div>
<div>ip inspect name autosec_inspect http timeout 3600</div>
<div>ip inspect name autosec_inspect rcmd timeout 3600</div>
<div>ip inspect name autosec_inspect realaudio timeout 3600</div>
<div>ip inspect name autosec_inspect smtp timeout 3600</div>
<div>ip inspect name autosec_inspect tftp timeout 30</div>
<div>ip inspect name autosec_inspect udp timeout 15</div>
<div>ip inspect name autosec_inspect tcp timeout 3600</div>
<div>ip access-list extended autosec_firewall_acl</div>
<div>&nbsp;permit udp any any eq bootpc</div>
<div>&nbsp;deny ip any any</div>
<div>interface FastEthernet0/1</div>
<div>&nbsp;ip inspect autosec_inspect out</div>
<div>&nbsp;ip access-group autosec_firewall_acl in</div>
<div>R1#</div>
</div>
<h2>Configuring Cisco AutoSecure Non-Interactive Mode</h2>
<p style="text-align: justify;">The Non-interactive mode of Cisco’s AutoSecure is more of an ‘express’ setup feature, bypassing any user input and quickly securing the router using Cisco’s best security practices.&nbsp; Think of it as a <em>quick-and-dirty</em> lockdown mode!</p>
<p style="text-align: justify;">Running the Non-Interactive AutoSecure mode is done by entering the <strong>auto secure no-interact</strong> command as shown below. The router will display some information and continue configuring itself:</p>
<p><span class="box-content">R1# <strong>auto secure no-interact</strong></span> Below is the expected output once the auto secure non-interactive command is executed:</p>
<div class="box-content">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --- AutoSecure Configuration ---<br /><br />*** AutoSecure configuration enhances the security of<br />the router, but it will not make it absolutely resistant<br />to all security attacks ***<br /><br />AutoSecure will modify the configuration of your device.<br />All configuration changes will be shown. For a detailed<br />explanation of how the configuration changes enhance security<br />and any possible side effects, please refer to Cisco.com for<br />Autosecure documentation.<br /><br />Securing Management plane services...<br /><br />Disabling service finger<br />Disabling service pad<br />Disabling udp &amp; tcp small servers<br />Enabling service password encryption<br />Enabling service tcp-keepalives-in<br />Enabling service tcp-keepalives-out<br />Disabling the cdp protocol<br /><br />Disabling the bootp server<br />Disabling the http server<br />Disabling the finger service<br />Disabling source routing<br />Disabling gratuitous arp<br /><br />Configuring interface specific AutoSecure services<br />Disabling the following ip services on all interfaces:<br /><br />&nbsp;no ip redirects<br />&nbsp;no ip proxy-arp<br />&nbsp;no ip unreachables<br />&nbsp;no ip directed-broadcast<br />&nbsp;no ip mask-reply<br />Disabling mop on Ethernet interfaces<br /><br />Securing Forwarding plane services...<br /><br /><br />This is the configuration generated:<br /><br />no service finger<br />no service pad<br />no service udp-small-servers<br />no service tcp-small-servers<br />service password-encryption<br />service tcp-keepalives-in<br />service tcp-keepalives-out<br />no cdp run<br />no ip bootp server<br />no ip http server<br />no ip finger<br />no ip source-route<br />no ip gratuitous-arps<br />no ip identd<br />security passwords min-length 6<br />security authentication failure rate 10 log<br />service timestamps debug datetime msec localtime show-timezone<br />service timestamps log datetime msec localtime show-timezone<br />logging facility local2<br />logging trap debugging<br />service sequence-numbers<br />logging console critical<br />logging buffered<br />interface FastEthernet0/0<br />&nbsp;no ip redirects<br />&nbsp;no ip proxy-arp<br />&nbsp;no ip unreachables<br />&nbsp;no ip directed-broadcast<br />&nbsp;no ip mask-reply<br />&nbsp;no mop enabled<br />interface FastEthernet0/1<br />&nbsp;no ip redirects<br />&nbsp;no ip proxy-arp<br />&nbsp;no ip unreachables<br />&nbsp;no ip directed-broadcast<br />&nbsp;no ip mask-reply<br />&nbsp;no mop enabled<br />!<br />end<br /><br />Applying the config generated to running-config<br /><br />R1#</div>
<h2>Exploring Other Cisco AutoSecure Options</h2>
<p>For those who like to explore all available options of the Cisco AutoSecure command, use the <strong>auto secure </strong>command, followed by a question mark <strong>?</strong> as shown below:</p>
<div class="box-content">R1#<strong> auto secure ?</strong><br />&nbsp; firewall&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; AutoSecure Firewall<br />&nbsp; forwarding&nbsp;&nbsp;&nbsp; &nbsp; Secure Forwarding Plane<br />&nbsp; full&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Interactive full session of AutoSecure<br />&nbsp; login&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; AutoSecure Login<br />&nbsp; management&nbsp; Secure Management Plane<br />&nbsp; no-interact&nbsp; &nbsp;&nbsp; Non-interactive session of AutoSecure<br />&nbsp; ntp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; AutoSecure NTP<br />&nbsp; ssh&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; AutoSecure SSH<br />&nbsp; tcp-intercept&nbsp; AutoSecure TCP Intercept</div>
<p style="text-align: justify;">Trying out different parameters and options will help gain a greater understanding of how AutoSecure works and the options it provides to help best secure your network.<br /><br />Using the Cisco AutoSecure feature to secure your router(s) is a very simple task and one that should not be neglected, even by experienced network engineers. With the use of such features, one can create a configuration template with all necessary basic security measures taken into account.</p>
<p style="text-align: justify;">Cisco provides a number of features that can help make an engineer’s every-day life more secure and hassle-free. It’s to our advantage to make the best of everything offered!</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Sun, 22 Apr 2012 10:10:00 +1000</pubDate>
		</item>
		<item>
			<title>Configuring Policy-Based Routing (PBR) with IP SLA Tracking - Auto Redirecting Traffic</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-pbr-ipsla-auto-redirect.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-pbr-ipsla-auto-redirect.html</guid>
			<description><![CDATA[<h2>What is Policy-Based Routing?</h2>
<p style="text-align: justify;">Policy-Based Routing (PBR) is a very popular feature in Cisco routers, it allows the creation of policies that can selectively alter the path&nbsp; that packets take within the network. Policy-Based Routing can be used to mark packets so that certain types of traffic are prioritized over the rest, sent to a different destination or exist via a different physical interface on the router.</p>
<p style="text-align: justify;">Classification of interesting traffic is performed using Access-Control Lists (ACLs). These can be standard, extended or named access lists as we know them.</p>
<p style="text-align: justify;">Once the interesting traffic is ‘matched’ with the use of ACLs, the router will perform the configured ‘set’ function which is defined by the Administrator. This ‘set’ function essentially tells the router what to do with the matched traffic and can include sending it to another gateway, dropping it, prioritizing it over other traffic, and much more.</p>
<h2 style="text-align: justify;">Policy-Based Routing with IP SLA Monitoring for Automatic Fail-over</h2>
<p style="text-align: justify;">This article will show how to use <strong>Policy-Based Routing</strong> to mark a specific type of traffic, for example http, and redirect it to a web proxy (usually Linux Squid) so all network web traffic is automatically filtered through the proxy.</p>
<p style="text-align: justify;">In such setups, network users have no knowledge of the proxy’s existence as they are not required to configure their web browser to use the proxy. All user traffic is forwarded to a single gateway (Cisco ASA Firewall) and from there to router R1. This example is good solution for creating a transparent proxy with automatic failover.</p>
<p><img src="https://www.firewall.cx//images/stories/cisco-router-pbr-ipsla-1.gif" alt="cisco-router-pbr-ipsla-1" width="675" height="270" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco PBR with Automatic Failover" /></p>
<p style="text-align: justify;">Router <strong>R1</strong>, with the help of <strong>Policy-Based Routing</strong>, ‘marks’ all http traffic and then performs the appropriate ‘set’ function, which is to redirect the selected traffic to the Linux proxy with IP address 192.168.150.2.</p>
<p style="text-align: justify;">The Linux proxy accepts the traffic, makes the necessary checks defined by the Administrator and forwards it to the Internet via R2 router.</p>
<p style="text-align: justify;">To complement our solution we’ve added IP SLA tracking so that R1 will continuously monitor the Linux proxy to ensure it has not failed or gone offline.&nbsp; If for any reason router R1 loses connectivity with the Linux proxy, the IP SLA &amp; Policy-Based Routing mechanism will stop redirecting http traffic to it and forward it directly to the Internet via R2, effectively bypassing the failed proxy.</p>
<p style="text-align: justify;">The next diagram shows how router R1 will respond to a failure of the Linux proxy as described above:</p>
<p><img src="https://www.firewall.cx//images/stories/cisco-router-pbr-ipsla-2.gif" alt="cisco-router-pbr-ipsla-2" width="675" height="269" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco PBR with IP SLA for Automatic Failover" /></p>
<p style="text-align: justify;">This solution smartly combines Cisco's Policy-Based Routing with IP SLA tracking and provides a number of benefits, some of which are:</p>
<ul class="checkbox" style="text-align: justify;">
<li>
<div>Automatic redirection of selected (http) traffic to the Linux Proxy.</div>
</li>
<li>
<div>Transparent web proxy to all network users, with web filtering according to company policy.</div>
</li>
<li>
<div>Automatic failover in case proxy fails.&nbsp; Near-zero downtime.</div>
</li>
<li>
<div>Continuous monitoring of proxy after failure – automatic recovery if proxy is back online.</div>
</li>
</ul>
<p class="box-hint" style="text-align: justify;">Note: More examples of IP SLA Tracking can be found in our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-ipsla-basic.html" target="_blank" title="Configuring Static Route Tracking using IP SLA (Basic)">Configuring Static Route Tracking using IP SLA (Basic)</a> article.</p>
<h2>How to Configure IP SLA Tracking for a Host</h2>
<p style="text-align: justify;">First step is to configure IP SLA tracking for the desired host. This will ensure R1 router will continuously monitor the Linux proxy and stop redirecting http traffic to it in the event it fails:</p>
<div class="box-content" style="text-align: justify;">R1(config)# <strong>ip sla 1</strong><br />R1(config-ip-sla)# <strong>icmp-echo 192.168.150.2</strong><br />R1(config-ip-sla)# <strong>frequency 4</strong><br />R1(config-ip-sla)# <strong>timeout 2000</strong><br />R1(config-ip-sla)# <strong>threshold 100<br /></strong>R1(config-ip-sla)# <strong><strong>ip sla schedule 1 life forever start-time now</strong></strong></div>
<p style="text-align: justify;">The above configuration defines and starts an IP SLA probe on router R1.</p>
<p style="text-align: justify;">The ICMP Echo probe sends an ICMP Echo (ping) packet to IP <strong>192.168.150.2</strong> every <strong>4</strong> seconds, as defined by the <strong>frequency </strong>parameter.</p>
<p style="text-align: justify;"><strong>Timeout </strong>sets the amount of time (in milliseconds) the Cisco IOS IP SLAs operation waits for a response from its request packet. This has been set to <strong>2000</strong> milliseconds, or 2 seconds which gives the host ample time to respond.</p>
<p style="text-align: justify;"><strong>Threshold </strong>sets the rising threshold that generates a reaction event and stores history information for the Cisco IOS IP SLAs operation.</p>
<p style="text-align: justify;">After defining the IP SLA operation, our next step is to define an object that tracks the SLA probe. This can be accomplished by using the IOS Track Object as shown below:</p>
<div class="box-content" style="text-align: justify;">R1(config)# <strong>track 1 ip sla 1 reachability</strong></div>
<p style="text-align: justify;">The above command will track the state of the IP SLA operation. If there are no ping responses from the monitored IP address (192.168.150.2), the track will go down and it will come back up when the IP SLA operation starts receiving ping responses once again.</p>
<p style="text-align: justify;">To verify the track status, use the “<strong>show track</strong>” command as shown below:</p>
<p class="box-content" style="text-align: justify;">R1# <strong>show track 1</strong><br />Track 1<br />&nbsp; IP SLA 1 reachability<br />&nbsp; <strong>Reachability is Up</strong><br />&nbsp;&nbsp;&nbsp; 30 changes, last change 1d08h<br />&nbsp; Latest operation return code: <strong>OK</strong><br />&nbsp; Latest RTT (<strong>millisecs</strong>) <strong>1</strong><br />&nbsp; Tracked by:<br />&nbsp;&nbsp;&nbsp; <strong>ROUTE-MAP 0</strong></p>
<p style="text-align: justify;">The command output verifies that the tracked object is <strong>UP </strong>and has a response time of <strong>1ms</strong>.&nbsp; A closer look shows that ,for the duration of the tracking, the state has changed <strong>30 times</strong> and the last change was <strong>1 day</strong> and <strong>8 hours ago</strong>.&nbsp; This information is extremely important should it be necessary to troubleshoot intermittent problems that might be reported by the users.</p>
<h2>How to Configure Policy-Based Routing to Redirect Selected (http) Traffic</h2>
<p style="text-align: justify;">Once we have IP SLA up and running the next step is to configure PBR so we can redirect http traffic.</p>
<p style="text-align: justify;">First, we need to use Access-Control Lists to select the traffic we want to redirect. Keep in mind that PBR does not limit the type of ACL that can be used. This means you can use IP named ACLs, standard ACLs, extended ACLs, time-based ACLs and others. In our example we are going to use IP named ACLs:</p>
<div class="box-content" style="text-align: justify;">R1(config)#<strong> ip access-list extended http-traffic</strong><br />R1(config)#<strong> permit tcp 192.168.5.0 0.0.0.255 any eq www</strong></div>
<p style="text-align: justify;">We've decided to name our IP-named ACL '<strong>http-traffic</strong>'. This unique ACL name will be used later in our route-map. By making the appropriate changes in the ACLs we can define different types of traffic that will be redirected. In our example all <strong>http </strong>traffic from the <strong>192.168.5.0</strong> network that is destined to the Internet (<strong>any</strong>) is selected.</p>
<p style="text-align: justify;">Now we must create a route-map that will use the above defined ACLs and instruct the router to redirect the traffic to the Linux proxy:</p>
<div class="box-content" style="text-align: justify;">R1(config)# <strong>route-map linux-proxy permit 1</strong><br />R1(config-route-map)#&nbsp;<strong>match ip address http-traffic</strong><br />R1(config-route-map)#&nbsp;<strong>set ip next-hop verify-availability 192.168.150.2 1 track 1</strong></div>
<p style="text-align: justify;">The above command creates a permissive <strong>route-map</strong> named <strong>linux-proxy</strong>. The <strong>match IP address</strong> parameter within the route-map informs the router which set of ACLs defines the traffic we are interested in.&nbsp; Since we've defined our interesting traffic using IP named ACLs, all we need to do is reference the name of our ACL previously created.</p>
<p style="text-align: justify;">The last command configures the route map to verify the reachability of the tracked object (<strong>192.168.150.2</strong>). If the <strong>tracked object</strong> <strong>is reachable</strong> (IP SLA reports it is reachable), then our policy-based route will redirect the defined traffic to it. If the <strong>tracked object</strong> is <strong>not reachable</strong>, (IP SLA reports the host is not reachable - down) then our policy-based route will <strong>stop redirecting traffic</strong>.</p>
<h2>Applying the Policy-Based Route</h2>
<p style="text-align: justify;">We are almost done. The very last step is to enable and identify the route-map to be use for policy routing. This is performed by selecting the router interface for which the policy routing will be enabled, and applying the policy-route:</p>
<div class="box-content" style="text-align: justify;">R1(config)# <strong>interface Vlan1<br /></strong>R1(config-int)#&nbsp;<strong><strong>ip policy route-map linux-proxy</strong><br /></strong></div>
<div style="text-align: justify;"><br style="text-align: justify;" />In our scenario, R1's&nbsp; <strong>VLAN1 </strong>interface is connected to the <strong>192.168.150.0/24</strong> network where our ASA and Linux proxy reside so we apply the policy routing to that.</div>
<h2>Route-Map &amp; IP SLA Statistics</h2>
<p style="text-align: justify;">Keeping a close eye on the router's route-map &amp; IP SLA&nbsp; performance can be achieved with the use of a few simple commands.&nbsp; Monitoring your route-map's performance the first couple of days is a very good idea as it will help verify that traffic is still being redirected to the host.</p>
<p style="text-align: justify;">On the other hand, looking at IP SLA statistics will help identify possible failures or changes of state which were not noticed by anyone.</p>
<p>The&nbsp;<strong>show route-map</strong> command is a favourite as it combines enough information to help verify everything is working as it should:</p>
<div class="box-content">R1#<strong><strong> show route-map<br /></strong></strong>
<div>route-map linux-proxy, permit, sequence 1</div>
<div>&nbsp; Match clauses:</div>
<div>&nbsp;&nbsp;&nbsp; ip address (access-lists): http-traffic</div>
<div>&nbsp; Set clauses:</div>
<div>&nbsp;&nbsp;&nbsp; ip next-hop verify-availability 192.168.150.10 1 track 1&nbsp; [<strong>up</strong>]</div>
<div>&nbsp; Policy routing matches: <strong>3864291 packets, 511957007 bytes</strong></div>
</div>
<p>The numbers shown here verify immediately that our host is reachable (<strong>up</strong>) and that R1 has redirected more than <strong>510MB </strong>of traffic through the Linux proxy!</p>
<p>The <strong>show IP SLA statistics</strong> command provides in a similar way useful information that helps verify the object tracking is working correctly and the tracked host is up:</p>
<div class="box-content">R1# <strong>show ip sla statistics<br /></strong>IPSLAs Latest Operation Statistics<br /><br />IPSLA operation id: 1<br />Latest RTT: 1 milliseconds<br />Latest operation start time: *21:36:47.855 UTC Tue Apr 3 2012<br />Latest operation return code: OK<br />Number of successes: 16<br />Number of failures: 0<br />Operation time to live: Forever<strong><br /></strong></div>
<div>&nbsp;</div>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Tue, 03 Apr 2012 08:24:24 +1000</pubDate>
		</item>
		<item>
			<title>Cisco 880W (881W, 886W, 887W, 888W) Multiple - Dual SSID Integrated Access Point Configuration</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco880w-multiple-ssid.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco880w-multiple-ssid.html</guid>
			<description><![CDATA[<p style="text-align: justify;">This article shows <strong>how to configure</strong> the <strong>embedded</strong> or <strong>integrated <a href="https://www.firewall.cx/cisco/cisco-wireless.html" target="_blank" title="access point">access point</a></strong> in a <strong>Cisco 880W series router</strong> (e.g Cisco 887W, Cisco 886W, Cisco 881W, Cisco 888W, etc) with <strong>multiple encrypted SSIDs</strong> (<strong>WPA &amp; WPA2</strong>). We show how to assign different <a href="https://www.firewall.cx/networking/vlan-networks.html" target="_blank" title="VLANs">VLANs</a> to each SSID with access to the local network and internet.</p>
<p style="text-align: justify;">The most common setup of this type is one SSID providing access to the local network, while a second SSID provides guests with internet access only. The commands used in this article are applicable on all Cisco 880W series models plus most Cisco routers with integrated access points..</p>
<h2>Configuring VLANs on the Cisco 880W (881W, 886W, 887W, 888W)&nbsp;Series Router</h2>
<p style="text-align: justify;">First step is to examine the VLANs required. In our example we assume two VLANs - one for the local network and one for guest Internet access. By default VLAN 1 is already created as it is the first VLAN on the router, so we will need to create the second VLAN that will serve the guest wireless network, or second SSID:</p>
<p><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-887w-dual-ssid.jpg" alt="887w-886w-881w-Dual-ssid-wireless" width="644px" height="255px" style="width: 644px; height: 255px; display: block; margin-left: auto; margin-right: auto;" title="Configuring 887w 886w 881w with Dual-ssid wireless" /></p>
<p style="text-align: justify;">Once VLAN2 is created (cover later in this article), we can connect to the integrated access point and begin its configuration. If the integrated access point has no IP address assigned to it yet in order to telnet directly to it, you can connect from within the existing session of your Cisco 880 series router&nbsp;using the <span style="font-weight: bold;">service-module wlan-ap 0 session</span> command.&nbsp; <span style="color: #ffcc00;"></span></p>
<div class="box-info" style="text-align: justify;">Once connected to the internal access point, to disconnect, enter <strong>'Ctrl'</strong> +<strong> '^'</strong> followed by <strong>'x'</strong>, then type&nbsp; '<strong>disconnect</strong>' to return to the router prompt.</div>
<h2 style="text-align: justify;">Cisco Access Point Multiple - Dual SSID Configuration&nbsp;</h2>
<p style="text-align: justify;">Configuring <strong>multiple SSIDs</strong> on a Cisco access point is a straightforward process, however, it does contain a few details we will analyse as we progress.</p>
<p style="text-align: justify;">We need to now create the two SSIDs by defining their names which will be broadcast so users can find them, the encryption method to be used, wireless secret keys and lastly the VLAN assignment for each SSID:</p>
<div class="box-content">AP (config)# <strong>dot11 ssid Private</strong><br /> AP (config-ssid)# <strong>vlan 1</strong><br /> AP (config-ssid)# <strong>authentication open</strong> <br />AP (config-ssid)# <strong>authentication key-management wpa</strong><br />AP (config-ssid)# <strong>guest-mode</strong><br />AP (config-ssid)# <strong>mbssid guest-mode</strong><br />AP (config-ssid)# <strong>infrastructure-ssid optional</strong><br />AP (config-ssid)# <strong>wpa-psk ascii 0&nbsp;firewall.cx</strong><br /> AP (config-ssid)# <strong>exit</strong><br /> AP (config)#<strong> dot11 ssid Guest</strong><br /> AP (config-ssid)#<strong> vlan 2</strong><br /> AP (config-ssid)#<strong> authentication open </strong><br /> AP (config-ssid)#<strong> authentication key-management wpa</strong><br /> AP (config-ssid)#<strong> mbssid guest-mode</strong><br /> AP (config-ssid)#<strong> wpa-psk ascii 0 free-internet</strong><br />AP (config-ssid)# <strong>exit</strong><br />AP (config)#<strong> dot11 vlan-name vlan1 vlan1</strong><br />AP (config)# <strong>dot11 vlan-name vlan2 vlan2<br /></strong></div>
<p style="text-align: justify;">The above configuration is quite different from setups with <strong>one SSID</strong>. The reason being the <strong>multiple SSID</strong> and <strong>VLAN configuration</strong> required to ensure each SSID is assigned to the correct VLAN. The '<span style="font-weight: bold;">Private</span>' wireless network is assigned to <span style="font-weight: bold;">VLAN 1</span> and the '<span style="font-weight: bold;">Guest</span>' wireless network to <span style="font-weight: bold;">VLAN 2</span>.</p>
<p style="text-align: justify;">Notice that when using multiple SSIDs on a Cisco access point it is imperative to use&nbsp;the <span style="font-weight: bold;">mbssid guest-mode</span> command otherwise the SSID name of the wireless network will not be broadcast correctly.</p>
<p style="text-align: justify;">The <strong>dot11 vlan-name</strong> &nbsp;command ensures the correct mapping of VLANs and their respective VLAN names. In our example, the VLAN names follow the actual VLAN numbers. So, VLAN 1 has been named 'VLAN 1'. This helps easily to keep track of them.</p>
<p style="text-align: justify;">Next, we must ensure the integrated routing and bridging (IRB) feature is enabled to allow the routing of our protocols (IP) between routed interfaces and bridge groups. This command is most likely already present in the configuration, but let's play safe and enter it:</p>
<div class="box-content" style="text-align: justify;">AP (config)# <strong>bridge irb</strong></div>
<h2>Configuring The Cisco Router Dot11Radio0 Interface</h2>
<p style="text-align: justify;">Configuring the <strong>Dot11Radio0 interface</strong> is our next step.&nbsp;<strong>Dot11Radio0</strong> is the actual radio interface of the integrated Cisco access point. &nbsp;We will need to assign the SSIDs configured previously, to this interface, along with the encryption methods and a few more parameters.</p>
<div class="box-content">AP (config)# <strong>interface Dot11Radio0</strong><br />AP (config-if)# <strong>encryption vlan1 mode ciphers tkip </strong><br /> AP (config-if)#<strong> encryption vlan2 mode ciphers tkip </strong><br /> AP (config-if)#<strong> ssid Private</strong><br /> AP (config-if)#<strong> ssid Guest</strong><br /> AP (config-if)#<strong> mbssid</strong><br /> AP (config-if)#<strong> station-role root</strong><br /> AP (config-if)#<strong> speed&nbsp; basic-1.0 2.0 5.5 11.0 6.0 9.0 12.0 18.0 24.0 36.0 48.0 54.0 m0. m1. m2. m3. m4. m8. m9. m10. m11. m12. m13. m14. m15.</strong><br />AP (config-if)#<strong> channel 2462</strong></div>
<p style="text-align: justify;">Most commands are self-explanatory. We will however explain the basic and important ones:</p>
<p style="text-align: justify;">The <span style="font-weight: bold;">Encryption VLAN </span> commands set the encryption mode for each VLAN and, therefore, each SSID. &nbsp;</p>
<p style="text-align: justify;">The <span style="font-weight: bold;">SSID</span> command assigns the SSIDs to this interface.</p>
<p style="text-align: justify;">The <span style="font-weight: bold;">mbssid</span> command ensures both SSIDs are broadcast and are viewable to our wireless clients.</p>
<p style="text-align: justify;">The station-role root is a default command and makes the access point act as a root station, in other words as an autonomous access point.</p>
<p style="text-align: justify;">Note the <span style="font-weight: bold;">speed basic</span> command. This is a default command that sets the supported speeds. The first portion, <span style="font-weight: bold;">1.0 to 54.0</span>, refers to the 802.11 b/g protocol, while the <span style="font-weight: bold;">m0 to m15</span> refers to the 802.11n protocol.</p>
<h2>Configuring The Dot11Radio0 Sub-Interfaces</h2>
<p style="text-align: justify;">At this point we are required to configure sub-interfaces on&nbsp;<strong>Dot11Radio0</strong>, assigning each sub-interface to a VLAN.</p>
<div class="box-content">AP (config)# <strong>interface Dot11Radio0.1</strong><br />AP (config-subif)#<strong> encapsulation dot1Q 1 native</strong><br /> AP (config-subif)#&nbsp;<strong>no ip route-cache</strong><br /> AP (config-subif)#&nbsp;<strong>bridge-group 1</strong><br /> AP (config-subif)#&nbsp;<strong>bridge-group 1 subscriber-loop-control</strong><br /> AP (config-subif)#&nbsp;<strong>bridge-group 1 block-unknown-source</strong><br /> AP (config-subif)#&nbsp;<strong>no bridge-group 1 source-learning</strong><br /> AP (config-subif)#<strong>&nbsp;no bridge-group 1 unicast-flooding</strong><br /> AP (config-subif)#&nbsp;<strong>bridge-group 1 spanning-disabled</strong><br /> AP (config)#<strong> exit</strong><br /> AP (config)#<strong> interface Dot11Radio0.2</strong><br /> AP (config-subif)#<strong>&nbsp;encapsulation dot1Q 2</strong><br /> AP (config-subif)#<strong>&nbsp;no ip route-cache</strong><br /> AP (config-subif)#<strong>&nbsp;bridge-group 2</strong><br /> AP (config-subif)#<strong>&nbsp;bridge-group 2 block-unknown-source</strong><br /> AP (config-subif)#<strong>&nbsp;no bridge-group 2 source-learning</strong><br /> AP (config-subif)#<strong>&nbsp;no bridge-group 2 unicast-flooding</strong><br />AP (config-subif)#<strong>&nbsp;bridge-group 2 spanning-disabled</strong></div>
<p style="text-align: justify;">When creating the subinterfaces we always use easy-to-identify methods of mapping. Thus, <span style="font-weight: bold;">interface</span> <span style="font-weight: bold;">Dot11Radio0.1</span> means this interface will be mapped to&nbsp;VLAN 1, while<span style="font-weight: bold;"> interface Dot11Radio0.2</span> will map to VLAN 2.</p>
<p style="text-align: justify;">The <span style="font-weight: bold;">encapsulation dot1Q 1 native</span> command surves two purposes. It maps <strong>VLAN 1</strong> to sub-interface&nbsp;<strong>Dot11Radio0.1</strong> and tells the access point that this VLAN (1) is the native VLAN. This means that untagged VLAN traffic belongs to VLAN 1. &nbsp;More information on VLANs is available in our <a href="https://www.firewall.cx/networking/vlan-networks.html" target="_blank">VLAN Section</a> - be sure to visit it.</p>
<p style="text-align: justify;">Similarly, under <span style="font-weight: bold;">interface Dot11Radio0.2</span>, the <span style="font-weight: bold;">encapsulation dotQ 2</span> command maps <strong>VLAN 2</strong> traffic to this sub-interface.</p>
<p style="text-align: justify;">The <strong>bridge-group</strong> command assigns each sub-interface to a bridge group. Each sub-interface is assigned to its own bridge-group. The bridge group essentially connects the wireless sub-interfaces with the internal Gigabit Ethernet interface this access point has. This is analysed next.</p>
<h2>Configuring Cisco Access Point GigabitEthernet0, Sub-Interfaces &amp; BVI Interface</h2>
<p style="text-align: justify;">As mentioned earlier, the integrated access point connects with the Cisco 887W router via an internal GigabitEthernet link. On the access point side this is the GigabitEthernet0 interface.</p>
<p style="text-align: justify;">Following is the configuration required to create the necessary GigabitEthernet sub-interfaces and map the Dot11Radio0.X interfaces previously created with them:</p>
<div class="box-content">AP (config)# <strong>interface GigabitEthernet0</strong><br />AP (config-if)# <strong>description the embedded AP GigabitEthernet 0 is an internal interface connecting AP with the host router</strong><br /> AP (config-if)#&nbsp;<strong>no ip address</strong><br />AP (config-if)# <strong>no ip route-cache</strong><br /> AP (config-if)# <strong>exit</strong><br /><br />AP (config)#<strong> interface GigabitEthernet0.1</strong><br />AP (config-if)#<strong> &nbsp;encapsulation dot1Q 1 native</strong><br />AP (config-if)#<strong> &nbsp;no ip route-cache</strong><br />AP (config-if)#<strong> &nbsp;bridge-group 1</strong><br />AP (config-if)#<strong> &nbsp;no bridge-group 1 source-learning</strong><br />AP (config-if)#<strong> &nbsp;bridge-group 1 spanning-disabled</strong><br />AP (config-if)#<strong> exit </strong><br /><strong><br /></strong>AP (config)#<strong> interface GigabitEthernet0.2</strong><br />AP (config-if)#<strong> encapsulation dot1Q 2</strong><br />AP (config-if)#<strong> no ip route-cache</strong><br />AP (config-if)#<strong> bridge-group 2</strong><br />AP (config-if)#<strong> no bridge-group 2 source-learning</strong><br />AP (config-if)#<strong> bridge-group 2 spanning-disabled</strong><br />AP (config-if)#<strong> exit </strong><br /><br />AP (config)# <strong>interface BVI1</strong><br />AP (config-if)#<strong> ip address 10.117.17.4 255.255.255.0</strong><br />AP (config-if)#<strong> no ip route-cache</strong></div>
<p style="text-align: justify;">The GigabitEthernet interface and sub-interface configuration follows the same logic as the Dot11Radio0 interface. Notice that each GigabitEthernet sub-interface is mapped to the same VLAN and bridge-group as the Dot11Radio0 sub-interfaces. &nbsp;</p>
<p style="text-align: justify;">Next, we create the <span style="text-decoration: underline;">one and only</span> BVI1 interface and assign it an IP Address. This is basically the IP Address of our access point and is reachable from our LAN network, so it's best to assign it an IP Address from your LAN network.</p>
<p style="text-align: justify;">It is important to note that only <span style="text-decoration: underline;">one bridge-interface</span> (BVI Interface) is configured with an IP Address. The rest of the bridge groups are not required to have a BVI interface as all traffic is trunked through the BVI1 Interface. This is per Cisco design.</p>
<p style="text-align: justify;">Finally, we must <strong>enable ip routing</strong> for&nbsp;<strong>bridge 1</strong>:</p>
<div class="box-content">AP (config)# <strong>bridge 1 protocol ieee</strong><br />AP (config)# <strong>bridge 1 route ip</strong></div>
<p style="text-align: justify;">This completes the setup of our Cisco 887W integrated access point. We can now move to our Cisco &nbsp;887W router side, complete the configuration and get everything up and running.</p>
<h2>Configuring The Cisco Router End - DHCP Services &amp; VLAN Interfaces</h2>
<p style="text-align: justify;">The first step is to define the DHCP service and ip address pools for our two VLANs and, therefore, SSIDs.</p>
<p style="text-align: justify;">Detailed instructions on setting up a DHCP Server can be found at our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-dhcp-config.html" target="_blank" title="Cisco Router DHCP Server Configuration">Cisco DHCP Server Configuration</a> article.</p>
<p style="text-align: justify;">To make it easy, we are providing the necessary commands for our example:</p>
<div class="box-content">R1-887W(config)# <strong>ip dhcp excluded-address 10.117.17.1 10.117.17.200</strong><br />R1-887W(config)# <strong>ip dhcp excluded-address 192.168.1.1 192.168.1.200</strong><br /><br />R1-887W(config)# <strong>ip dhcp pool Private</strong><br /> R1-887W(dhcp-config)# <strong>network 10.117.17.0 255.255.255.0</strong><br /> R1-887W(dhcp-config)# <strong>dns-server 10.117.17.3 </strong><br /> R1-887W(dhcp-config)# <strong>default-router 10.117.17.3 </strong><br /><br /> R1-887W(config)#<strong> ip dhcp pool Guest</strong><br /> R1-887W(dhcp-config)#<strong> network 192.168.1.0 255.255.255.0</strong><br /> R1-887W(dhcp-config)#<strong> default-router 192.168.1.1 </strong><br /> R1-887W(dhcp-config)#<strong> dns-server 192.168.1.1 </strong></div>
<p style="text-align: justify;">Next, we must &nbsp;ensure the internal <strong>Wlan-GigabitEthernet0</strong> interface, connecting the router with the integrated access point, is configured as a trunk port. Essentially, the router's internal <strong>Wlan-GigabitEthernet0</strong> connects with integrated access point&nbsp;<strong>GigabitEthernet0</strong> we previously configured.</p>
<p style="text-align: justify;">By simply using the <span style="font-weight: bold;">switchport mode trunk</span> command, the router will allow all VLAN traffic, configured on both sides, to communicate between the two devices (Router - Access Point):</p>
<div class="box-content">R1-887W(config)# <strong>interface Wlan-GigabitEthernet0</strong><br />R1-887W(config-if)# <strong>description Internal switch interface connecting to the embedded AP</strong><br />R1-887W(config-if)#&nbsp;<strong>switchport mode trunk</strong></div>
<p style="text-align: justify;">Lastly, we need to configure our router's VLANs. VLAN 1 is the native VLAN that connects to our local network, while VLAN 2 is used for the wireless Guest Internet access service. Note the ip addresses assigned match the networks configured in our DHCP service. &nbsp;</p>
<div class="box-content">R1-887W(config)# <strong>interface Vlan1</strong><br /> R1-887W(config-if)# <strong>description Local-Network</strong><br /> R1-887W(config-if)#&nbsp;<strong>ip address 10.117.17.3 255.255.255.0</strong><br />R1-887W(config-if)# <strong>ip nat inside</strong><br />R1-887W(config-if)#<strong> ip virtual-reassembly</strong><br />R1-887W(config-if)#<strong> ip tcp adjust-mss 1452</strong><br /><br />R1-887W(config)# <strong>interface Vlan2</strong><br />R1-887W(config-if)#&nbsp;<strong>description Guest-Vlan</strong><br />R1-887W(config-if)#&nbsp;<strong>ip address 192.168.1.1 255.255.255.0</strong><br />R1-887W(config-if)#&nbsp;<strong>ip nat inside</strong><br />R1-887W(config-if)# <strong>ip virtual-reassembly</strong></div>
<p style="text-align: justify;">To ensure <strong>VLAN 2</strong> is created, we suggest you configure one of the router's FastEthernet interfaces so that it is assigned to VLAN 2. This will force the router to create VLAN 2 in its VLAN database:&nbsp;</p>
<div class="box-content" style="text-align: justify;">R1-887W(config)#<strong> interface FastEthernet3</strong><br /> R1-887W(config-if)#<strong>&nbsp;switchport access VLAN 2</strong></div>
<p style="text-align: justify;">Once the <span style="font-weight: bold;">switchport access VLAN 2</span> command is given, the router will automatically create VLAN 2 if it does not exist.&nbsp; Below is the output to expect when this happens:</p>
<div class="info" style="text-align: justify;">% Access VLAN does not exist. Creating VLAN 2</div>
<p style="text-align: justify;">You can reassign the interface to VLAN 1 if you wish by using the <strong>no switchport access VLAN 2</strong> command.</p>
<p style="text-align: justify;">Remember &nbsp;that<strong> NAT Overload</strong> is required to be configured, otherwise no one will have any Internet access. &nbsp;This is covered extensively in our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-nat-overload.html" target="_blank" title="Cisco Router NAT Overload Configuration">Cisco Router NAT Overload</a> article.</p>
<p style="text-align: justify;">In order to restrict the Guest VLAN from accessing our internal VLAN (VLAN 1), access lists must be configured and applied in the inbound direction on VLAN2 interface.</p>
<h2>Summary</h2>
<p style="text-align: justify;">This article provided an in-depth coverage on <strong>how to configure a Cisco 880W series router</strong> with <strong>integrated Access Point</strong> to support <strong>multiple SSID wireless network</strong>s. &nbsp;The information provided not only covers the basic commands, but also analyses the background theory and logic used for these types of configurations to ensure the reader fully understands why this method is used.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Wed, 19 Oct 2011 09:17:23 +1100</pubDate>
		</item>
		<item>
			<title>Cisco Router PPP Multilink Setup and Configuration</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-ppp-multilink.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-ppp-multilink.html</guid>
			<description><![CDATA[<p style="text-align: justify;">This article provides an in-depth explanation of <strong>PPP Multilink</strong> and shows how to configure a Cisco router to use <strong>PPP Multilink</strong> between <strong>two serial interfaces</strong> (WIC-1T). We'll show you the commands that are required for the configuration, plus how to ensure the <strong>PPP Multilink</strong> is working correctly.</p>
<p style="text-align: justify;">The <strong>Point-to-Point Protocol (PPP)</strong> is an encapsulation protocol that allows the transporting of network layer traffic over point-to-point links. Examples of point-to-point links are <a href="https://www.firewall.cx/networking/network-protocols/isdn-layers-protocols-components.html" target="_blank" title="ISDN">ISDN</a> and <strong>Synchronous serial links</strong>. PPP is also described in <a href="https://datatracker.ietf.org/doc/html/rfc1661" target="_blank" rel="nofollow noopener" title="RFC1661">RFC1661</a>.</p>
<p style="text-align: justify;"><strong>PPP Multilink</strong> is used to&nbsp; take multiple PPP links and 'bond' them together, making them act as a single PPP link. &nbsp;Examples of PPP Multilink can be usually found at service providers, who will bond multiple links for a customer in order to provide increased bandwidth.</p>
<p style="text-align: justify;">For example, a company can order two E1 connections from their service provider: each E1 providing a speed of 2.048Mbits/sec. With the use of PPP Multilink we can bond these two links into one and effectively obtain a single link with the speed of 4.096Mbit/sec.</p>
<p style="text-align: justify;">It is important to understand that PPP Multilink requires both ends to be configured the same, which means that both you and your ISP must have PPP Multilink configured otherwise the link will not work.</p>
<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-multilink-1.jpg" alt="cisco router ppp multilink" width="574px" height="230px" style="width: 574px; height: 230px; display: block; margin-left: auto; margin-right: auto;" title="cisco router ppp multilink configuration" /> Configuring <strong>PPP Multilink</strong> is a pretty straightforward process, however, configuration steps can differ depending on the interfaces and protocols you are dealing with. &nbsp;<br /> <br /> Our example uses two WIC-1T interfaces, installed on our customer's router, which need to be bonded with the service provider's links. Of course, the customer has previously requested the two E1 lines to support PPP Multilink.</p>
<h2 style="text-align: justify;">Configuring PPP Multilink On A Cisco Router</h2>
<p style="text-align: justify;">&nbsp;First step is to configure the <strong>multilink interface</strong> on our router. The&nbsp;<strong>multilink interface</strong> is assigned to a multilink group:</p>
<div class="box-content" style="text-align: justify;">R1(config)# <span style="font-weight: bold;"><span style="font-weight: bold;">interface Multilink1<br /></span></span>
<div>R1(config-if)# <strong>description Service Provider - 4096Mbit</strong></div>
<div>R1(config-if)# <strong>ip address 213.229.63.20 255.255.255.252</strong></div>
<div>R1(config-if)# <strong>ip nat outside&nbsp;</strong></div>
<div>R1(config-if)# <strong>ip inspect monitor out</strong></div>
<div>R1(config-if)#<strong> ip virtual-reassembly</strong></div>
<div>R1(config-if)# <strong>ppp multilink</strong></div>
<div>R1(config-if)# <strong>ppp multilink group 1</strong></div>
<div>R1(config-if)# <strong>no cdp enable</strong></div>
</div>
<p>As you can see, the configuration of the Multilink Interface is similar to that of a physical interface. The multilink interface is configured with its IP Address and <span style="font-weight: bold;">ip nat outside </span>is enabled, indicating that this virtual interface is the public interface of our router - but of course, you probably figured that out just by looking at its IP address :)<br /> <br /> Next, we need to configure each physical serial interface and bind them both to the&nbsp;<span style="font-weight: bold;">multilink group 1</span>:</p>
<div class="box-content" style="text-align: justify;">R1(config)# <span style="font-weight: bold;">interface Serial0/0/0<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;description PPP-Multilink-1<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;bandwidth 2048<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;no ip address<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;no ip proxy-arp<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;encapsulation ppp<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;ppp multilink<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;ppp multilink group 1<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;no fair-queue<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;no clock rate 2000000<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;no cdp enable<br /><br /></span>R1(config)#<span style="font-weight: bold;">&nbsp;interface Serial0/0/1<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;description PPP-Multilink-2<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;bandwidth 2048<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;no ip address<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;no ip proxy-arp<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;encapsulation ppp<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;ppp multilink<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;ppp multilink group 1<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;no fair-queue<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;no clock rate 2000000<br /></span>R1(config-if)#<span style="font-weight: bold;">&nbsp;no cdp enable&nbsp;</span></div>
<div style="text-align: justify;">You might have also noticed that we have used the <span style="font-weight: bold;">no clock rate</span> command. On a serial interface, this indicates that we are the DTE end, which means the service provider end is the DCE. The DCE is also responsible for providing clocking to the DTE. This explains why we have disabled clocking and expect it from the service provider's end.</div>
<h2>Verifying Our Configuration</h2>
<p style="text-align: justify;">Once the above configuration has been applied to the router, we can view the serial ports and check to see they are up and connected to the provider's DCE:</p>
<div class="box-content" style="text-align: justify;">R1# <span style="font-weight: bold;">sh interface serial 0/0/0<br />Serial0/0/0 is up, line protocol is up&nbsp;<br /></span>&nbsp; Hardware is WIC MBRD Serial<br />&nbsp; Description: PPP-Multilink-1<br />&nbsp; MTU 1500 bytes, BW 2048 Kbit/sec, DLY 20000 usec,&nbsp;<br />&nbsp; &nbsp;&nbsp;<strong>reliability 255/255</strong>, txload 1/255, rxload 1/255<br />&nbsp; Encapsulation PPP, LCP Open, multilink Open<br /><strong>&nbsp; Link is a member of Multilink bundle Multilink1</strong>, loopback not set<br />&nbsp; Keepalive set (10 sec)&nbsp;<br />&nbsp; Last input 00:00:00, output 00:00:00, output hang never<br />&nbsp; Last clearing of "show interface" counters 6w5d<br />&nbsp; Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0<br />&nbsp; Queueing strategy: fifo<br />&nbsp; Output queue: 0/40 (size/max)<br />&nbsp; 5 minute input rate 0 bits/sec, 2 packets/sec<br />&nbsp; 5 minute output rate 0 bits/sec, 2 packets/sec<br />&nbsp;&nbsp;&nbsp;&nbsp; 16867280 packets input, 2083057714 bytes, 0 no buffer<br />&nbsp;&nbsp;&nbsp;&nbsp; Received 0 broadcasts, 6631 runts, 1 giants, 0 throttles<br />&nbsp;&nbsp;&nbsp;&nbsp; 22931 input errors, 14660 CRC, 0 frame, 589 overrun, 0 ignored, 1051 abort<br />&nbsp;&nbsp;&nbsp;&nbsp; 17750930 packets output, 116319254 bytes, 0 underruns<br />&nbsp;&nbsp;&nbsp;&nbsp; 0 output errors, 0 collisions, 358 interface resets<br />&nbsp;&nbsp;&nbsp;&nbsp; 0 unknown protocol drops<br />&nbsp;&nbsp;&nbsp;&nbsp; 0 output buffer failures, 0 output buffers swapped out<br />&nbsp;&nbsp;&nbsp;&nbsp; 0 carrier transitions<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>DCD=up&nbsp; DSR=up&nbsp; DTR=up&nbsp; RTS=up&nbsp; CTS=up&nbsp;</strong><br /><br /><br />&nbsp;R1#&nbsp;<strong>sh interface serial 0/0/1</strong><br />&nbsp;<strong>Serial0/0/1 is up, line protocol is up&nbsp;</strong><br />&nbsp; &nbsp;Hardware is WIC MBRD Serial<br />&nbsp; &nbsp;Description: PPP-Multilink-2<br />&nbsp; &nbsp;MTU 1500 bytes, BW 2048 Kbit/sec, DLY 20000 usec,&nbsp;<br />&nbsp; &nbsp; &nbsp;<strong> reliability 255/255</strong>, txload 1/255, rxload 1/255<br />&nbsp; &nbsp;Encapsulation PPP, LCP Open, multilink Open<br />&nbsp; &nbsp;<strong>Link is a member of Multilink bundle Multilink1</strong>, loopback not set<br />&nbsp; &nbsp;Keepalive set (10 sec)<br />&nbsp; &nbsp;Last input 00:00:00, output 00:00:00, output hang never<br />&nbsp; &nbsp;Last clearing of "show interface" counters 6w5d<br />&nbsp; &nbsp;Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0<br />&nbsp; &nbsp;Queueing strategy: fifo<br />&nbsp; &nbsp;Output queue: 0/40 (size/max)<br />&nbsp; &nbsp;5 minute input rate 0 bits/sec, 0 packets/sec<br />&nbsp; &nbsp;5 minute output rate 0 bits/sec, 0 packets/sec<br />&nbsp; &nbsp; &nbsp; 16930723 packets input, 2107539518 bytes, 0 no buffer<br />&nbsp; &nbsp; &nbsp; Received 0 broadcasts, 12586 runts, 0 giants, 0 throttles<br />&nbsp; &nbsp; &nbsp; 39569 input errors, 25902 CRC, 0 frame, 0 overrun, 0 ignored, 1081 abort<br />&nbsp; &nbsp; &nbsp; 17818341 packets output, 158108561 bytes, 0 underruns<br />&nbsp; &nbsp; &nbsp; 0 output errors, 0 collisions, 32 interface resets<br />&nbsp; &nbsp; &nbsp; 1 unknown protocol drops<br />&nbsp; &nbsp; &nbsp; 0 output buffer failures, 0 output buffers swapped out<br />&nbsp; &nbsp; &nbsp; 0 carrier transitions<br />&nbsp; &nbsp; &nbsp; <strong>DCD=up&nbsp; DSR=up&nbsp; DTR=up&nbsp; RTS=up&nbsp; CTS=up</strong></div>
<p style="text-align: justify;">In most real-life scenarios, you are bound to see a few errors on the interfaces as it's unavoidable, however, this number should remain relatively small. The above output is from a working environment and the statistics haven't been reset for over 1.5 months. &nbsp;The most important areas of the output are highlighted.<br /> <br /> If you would like to check the clocking, but also confirm the <strong>DTE/DCE</strong> ends, simply use the 'show controllers' command. The output data from this command is quite a bit, so we've omitted the rest, keeping just the information we are interested in:</p>
<div class="box-content" style="text-align: justify;">R1# <span style="font-weight: bold;"><span style="font-weight: bold;">show controllers serial 0/0/0<br /></span></span>
<div>Interface Serial0/0/0</div>
<div>Hardware is SCC</div>
<div>DTE V.11 (X.21)</div>
<div>Clock Freq&nbsp;detected Rx clk/Tx clk&nbsp;1902062/1902062&nbsp;(+-10%)</div>
<div>R1#&nbsp;show controllers serial 0/0/1</div>
<div>Interface Serial0/0/1</div>
<div>Hardware is SCC</div>
<div>DTE V.11 (X.21)</div>
<div>Clock Freq&nbsp;detected Rx clk/Tx clk&nbsp;1902062/1902062&nbsp;(+-10%)<span class="Apple-style-span" style="font-weight: bold;"></span></div>
</div>
<p style="text-align: justify;"><br />As a last step, we can view the multilink interface to ensure it's up and running as expected. Remember, we are expecting to see an interface with a bandwidth of 4096Kbit/sec:</p>
<div class="box-content" style="text-align: justify;">R1# <span style="font-weight: bold;">show interface multilink 1<br /></span><strong>Multilink1 is up, line protocol is up&nbsp;</strong><br />&nbsp;&nbsp;Hardware is multilink group interface<br />&nbsp; Description: Vodafone 4096Mbit<br />&nbsp; Internet address is 213.249.13.10/30<br />&nbsp; MTU 1500 bytes,&nbsp;<strong>BW 4096 Kbit/sec</strong>, DLY 20000 usec,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<strong>reliability 255/255</strong>, txload 1/255, rxload 1/255<br />&nbsp; Encapsulation PPP, LCP Open, multilink Open<br />&nbsp; Open: IPCP, loopback not set<br />&nbsp; Keepalive set (10 sec)<br />&nbsp; DTR is pulsed for 2 seconds on reset<br />&nbsp; Last input 00:00:00, output never, output hang never<br />&nbsp; Last clearing of "show interface" counters 6w6d<br />&nbsp; Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 63<br />&nbsp; Queueing strategy: fifo<br />&nbsp; Output queue: 0/40 (size/max)<br />&nbsp; 5 minute input rate 1000 bits/sec, 3 packets/sec<br />&nbsp; 5 minute output rate 0 bits/sec, 2 packets/sec<br />&nbsp;&nbsp;&nbsp;&nbsp; 17560482 packets input, 4037124738 bytes, 0 no buffer<br />&nbsp;&nbsp;&nbsp;&nbsp; Received 0 broadcasts, 0 runts, 0 giants, 0 throttles<br />&nbsp;&nbsp;&nbsp;&nbsp; 585 input errors, 0 CRC, 255 frame, 0 overrun, 183 ignored, 147 abort<br />&nbsp;&nbsp;&nbsp;&nbsp; 17871590 packets output, 546160159 bytes, 0 underruns<br />&nbsp;&nbsp;&nbsp;&nbsp; 0 output errors, 0 collisions, 4 interface resets<br />&nbsp;&nbsp;&nbsp;&nbsp; 0 unknown protocol drops<br />&nbsp;&nbsp;&nbsp;&nbsp; 0 output buffer failures, 0 output buffers swapped out<br />&nbsp;&nbsp;&nbsp;&nbsp; 0 carrier transitions&nbsp;</div>
<p style="text-align: justify;">The output of our command indicates that everything is running fine. Of course, to access the internet, NAT Overload must be configured. More information on Cisco Router NAT Overload can be found on our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-nat-overload.html" target="_blank" title="NAT Overload page">NAT Overload page</a>.</p>
<h2 style="text-align: justify;">Summary</h2>
<p style="text-align: justify;">In this article we covered the <strong>configuration of PPP Multilink on a Cisco router</strong>. We covered the necessary commands to ensure the selected serial interfaces are part of the <strong>Multilink bundle</strong> and <strong>verify</strong> that the <strong>Multilink interface</strong> is <strong>working correctly</strong>.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Sun, 09 Oct 2011 10:29:31 +1100</pubDate>
		</item>
		<item>
			<title>Understanding MPLS IP VPNs, Security Attacks and VPN Encryption</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/mpls-ip-vpn-security.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/mpls-ip-vpn-security.html</guid>
			<description><![CDATA[<h2>What Are MPLS Networks?</h2>
<p style="text-align: justify;"><strong>Multi-Protocol Label Switching</strong> (<strong>MPLS</strong>) networks are the next-generation of networks designed to allow customers create end-to-end circuits&nbsp; across any type of transport medium using any available WAN technology.&nbsp; Until recent years, customers with the need to connect remote offices in locations across the country were restricted to the limited WAN options service providers offered, usually Frame Relay or <a href="https://www.firewall.cx/networking/network-protocols/isdn-layers-protocols-components.html" target="_blank" title="T1/E1">T1/E1</a> dedicated links. The problem with these WAN technologies is that they are usually very expensive and complex to manage, but also not very flexible, making them a headache for both the end customer and service provider. Worst of all, as the distance between the customer’s end points increased, so did the monthly bill.</p>
<h2>How MPLS Networks Work</h2>
<p style="text-align: justify;">MPLS works by tagging the traffic entering the MPLS network. An identifier (label) is used to help distinguish the Label Switched Path (LSP) to be used to route the packet to its correct destination. Once the best LSP is identified by the router, the packet is forwarded to the next-hop router. A different label is used for every hop and the label is selected by the router (or switch) that is performing the forwarding operation.</p>
<p>Take for example the below diagram. It shows a simple MPLS network example where the central server is sending packets to two remote hosts.<br /><br /><img src="https://www.firewall.cx/images/stories/mpls-ip-vpn-1.png" alt="mpls-ip-vpn-1" width="627" height="237" style="display: block; margin-left: auto; margin-right: auto;" title="How MPLS Networks work" />&nbsp;</p>
<p style="text-align: justify;">The Ingress router (LSR1) accepts the packets from the server and selects the best LSP based on their destination IP Address. It then selects an initial label (local significance) for each packet and then forwards the packets using MPLS.&nbsp; When Router2 receives the packets, it uses these labels to identify the LSPs from which it selects the next hops (R3 &amp; R4) and labels (43 &amp; 12).&nbsp; At the end of the path, the egress routers (R3 &amp; R4) remove the final label and send the packet out to the local network.</p>
<p style="text-align: justify;">One of the great advantages offered by MPLS networks is the built-in Quality of Service mechanisms. MPLS service providers usually offer an end-to-end QoS policy to ensure their customer MPLS networks have guaranteed QoS through the MPLS network backbone. This allows delay-sensitive services such as VoIP to be implemented with guaranteed bandwidth between the endpoints.</p>
<p style="text-align: justify;">There really is no limitation to the type of services that can be run over a MPLS network. The QoS mechanisms and prioritisation services, allow the quick and effective forwarding of traffic between customer endpoints.&nbsp;</p>
<h2>MPLS VPN Basics</h2>
<p style="text-align: justify;">MPLS VPNs combine the power of MPLS and the Border Gateway Protocol (BGP) routing protocol. MPLS is used to forward packets over the provider’s network backbone and BGP is used for distributing routes over the backbone.</p>
<p style="text-align: justify;">A MPLS VPN is compromised of the following equipment:</p>
<ol style="text-align: justify;">
<li><strong>Customer Edge (CE) routers</strong>. These are placed at the customer site and are usually owned by the customer. Some service providers also supply the CE equipment for a small rental fee.</li>
<li><strong>Provider Edge (PE) routers</strong>. These are the provider’s edge routers to which the CE routers connect to. The PE routers are always owned by the service provider</li>
<li><strong>Provider (P) routers</strong>. These routers are commonly referred to as ‘transit routers’ and are located in the service provider’s core network</li>
</ol>
<p style="text-align: justify;">Routing information is passed from the Customer Edge router to the Provider Edge router using either a routing protocol such as BGP or static routes.&nbsp; The Provider Edge router keeps a per-site forwarding table also known as ‘VPN Routing and Forwarding tables’ or VRFs. At the Provider Edge router, each VRF serves a particular interface (or set of interfaces) that belongs to each individual VPN. Each Provider Edge router is configured by the service provider with its own VRF that is unique. Routers within the MPLS VPN network do not share VRF information directly.</p>
<p align="center"><em><br /><img src="https://www.firewall.cx/images/stories/mpls-ip-vpn-2.png" alt="mpls-ip-vpn-2" width="759" height="260" style="display: block; margin-left: auto; margin-right: auto;" title="MPLS VPN network with VRFs" />The above diagram illustrates a typical MPLS VPN network where VRFs are unique for each VPN connected to a particular Provider Edge router</em></p>
<p style="text-align: justify;">What’s important about MPLS VPN services is that there is no boundary to the type of WAN technology used. This means you can run MPLS over ATM (Also known as MPLS IP VPN over ADSL), leased lines, Satellite links, wireless links and much more. This flexibility makes MPLS networks a preferred method of connecting offices between each other.&nbsp; The ISP provides the interface to which the local network is connected (usually a router with a LAN interface) and all that’s required is to connect the provided interface to the local network, set the necessary equipment to use the new gateway (MPLS CE router) and everything magically works!</p>
<p style="text-align: justify;">Internet access is also possible through the MPLS IP VPN service where the service provider (ISP)&nbsp; typically announces the routes of customers that require direct access to the Internet, without affecting the performance of their intrasite VPN links. For example, this means that it’s possible to have a 1024Kbps MPLS link to your ISP which splits to a 512Kbps MPLS IP VPN link to your remote site and a further 512Kbps link to the Internet.&nbsp; The ISP completely separates these two virtual links, even though they run through the same interface. The link providing Internet access makes use of Network Address Translation (NAT) to translate the private network address space from the customer’s network. In this case, the customer reveals no more information to the Internet than it would with any normal connection&nbsp; to the Internet.<br />&nbsp;</p>
<h2>Resistance to Attacks</h2>
<p style="text-align: justify;">There is a growing concern as to how secure MPLS IP VPNs really are and how they can be protected from Internet attacks.&nbsp; Fortunately, the answer is pretty straight forward and doesn’t require a lot of technical analysis to see why.</p>
<p style="text-align: justify;">In pure MPLS IP VPN environments without Internet access, where the network is used to connect different sites, the core network and customer address space is concealed 100%. This means that no information is revealed to third parties or the Internet.&nbsp; With no information revealed, hackers are unable to obtain access to critical information such as router IP addresses in order to perform Denial of Service (DoS) attacks and bring down the network.</p>
<p style="text-align: justify;">In addition, service providers prevent their routers from being reachable via the Internet by using well-known techniques such as packet filtering, applying access control lists (ACLs) to limit access only to the ports of the routing protocol (e.g BGP) from specific areas within their network.</p>
<p style="text-align: justify;">In an environment where Internet access is provided to the customer via the MPLS link, ISP’s use similar mechanisms to lock down their Customer Edge routers that provide access to the Internet. In addition, the routing protocols used by the ISP have built-in mechanisms that are usually enabled and increase the security level even more.&nbsp; A few examples are the configuration of the MD5 authentication for routing protocols (BGP, OSPF e.t.c), configuration of maximum number of routes accepted per Virtual Routing and Forwarding instance (VRF) and a few more.</p>
<h2 style="text-align: justify;">MPLS IP VPN Encryption</h2>
<p style="text-align: justify;">While MPLS IP VPN provides a scalable model in which customers can securely connect remote sites between each other, there have been quite a few discussions about the encryption services offered by service providers for these circuits.</p>
<p style="text-align: justify;">The fact is that MPLS IP VPN usually do not offer any encryption services. The MPLS VPN architecture makes it pretty impossible to hack into the MPLS circuits and expose the internal network(s) and routes, unless a major bug or configuration flaw exists somewhere in the provider’s network.</p>
<p style="text-align: justify;">Encryption of the MPLS VPN is performed using IPSec, which essentially is a suite of protocols designed to provide a secure IP based pathway between two or more endpoints. You can read more on IPSecurity on Firewall.cx’s dedicated <a href="https://www.firewall.cx/networking/network-protocols/ip-security-protocol.html" target="_blank" title="IPSecurity article">IPSecurity article</a>.</p>
<p style="text-align: justify;">Below are two examples of IPSec encryption between two sites connected via <strong>MPLS VPN</strong>:</p>
<h2>CE-CE IPSec</h2>
<p style="text-align: justify;">In this example, the IPSec is used between the CE’s on each end, therefore the entire path between the CEs is protected. This setup offers the best possible protection against possible hacking attempts. Packets enter the CE router and are immediately encrypted. When packets are decrypted on the other end, they are located directly at the customers LAN network.</p>
<p style="text-align: justify;">CE-CE IPSec offers true protection against the following threats:</p>
<ul class="check">
<li style="text-align: justify;"><strong>Anti-Replay</strong>. Replay of legitimate packets that have been recorded previously</li>
<li style="text-align: justify;"><strong>Change of packets that are in transit between the sites</strong></li>
<li style="text-align: justify;"><strong>Eavesdropping anywhere between the CEs, PE or P routers</strong>.</li>
</ul>
<h2 style="text-align: justify;">PE-PE IPSec</h2>
<p style="text-align: justify;">This method is by far less secure than the previous one examined. IPSec encryption occurs from the PE routers onwards, leaving the rest of the network unencrypted and therefore not providing true VPN security.</p>
<p style="text-align: justify;">PE-PE IPSec offers true protection against the following threats:</p>
<ul class="check">
<li style="text-align: justify;"><strong>Eavesdropping between the PEs or P routers</strong></li>
<li style="text-align: justify;"><strong>Point-to-point connections are easy to manage but when the scenario gets more complex with multiple endpoints</strong>. IPSec tunnels do have a considerable administrative overhead that shouldn’t be taken lightly.&nbsp;&nbsp; For example, maintaining an IPSec topology between 5 sites requires the configuration of multiple Crypto IPSec tunnels on each router located at every site. Any changes made to one router (e.g internal routes or LAN IP Addressing) requires the reconfiguration of all other routers so that the IPSec tunnels continue working correctly.</li>
</ul>
<h2>ATM (DSL) IP VPN Networks</h2>
<p style="text-align: justify;">There is no doubt about the flexibility, security and scalability of MPLS IP VPN networks. Thousands of Enterprise customers are moving from the old and expensive leased-line solutions to the much cheaper MPLS VPN alternative for all the previously mentioned reasons.</p>
<p style="text-align: justify;">While MPLS networks have gained popularity during these last years, ATM IP VPN networks (referred to as ‘DSL IP VPNs’ from now on) are starting to gain considerable attention to the point where they are offered as an alternative to MPLS VPNs!</p>
<p style="text-align: justify;">DSL IP VPNs rely on the customer’s direct Internet connection to create a VPN IPSec tunnel between two endpoints.&nbsp; A typical scenario is a customer with two sites that require connectivity between each other.&nbsp; Both sides are equipped with a fast DSL connection using static IP addresses. The configuration is performed on the Customer Edge routers to create an IPSec tunnel between the two sites.</p>
<p style="text-align: justify;">In most cases, the end result is pretty much the same as any MPLS network, but one could argue about the security offered by such a setup, especially when the CE routers are directly connected to the Internet.&nbsp; Tests performed by large vendors such as Cisco Systems have proven that the security provided in these solutions is directly comparable with that of an MPLS VPN, considering of course proper configuration of the CE routers has been performed.</p>
<p style="text-align: justify;">The advantages offered by DSL IP VPNs is that the costs are extremely low and equal to that of each side’s connection to the Internet. &nbsp;Companies seeking to cut costs on data telecommunication services are already moving to this new trend which has become extremely popular in Europe and Asia.</p>
<p style="text-align: justify;">Despite the advantages, one must keep in mind the following disadvantages DSL IP VPNs have:</p>
<ul class="check">
<li style="text-align: justify;">
<div>In order to obtain high VPN speeds between sites, both CE routers must connect to the same ISP so they run on a common backbone.</div>
</li>
<li style="text-align: justify;">
<div>CE Routers are directly exposed to the Internet and therefore are vulnerable to DoS attacks</div>
</li>
<li style="text-align: justify;">
<div>QoS is not usually guaranteed. Because packets are routed through the ISP backbone using the same path and priority normal Internet users have, there is no QoS guarantee</div>
</li>
<li style="text-align: justify;">
<div>Limited scalability. Site to Site DSL IP VPN is great for up to a few sites. Depending on the amount of users &nbsp;located on each site, more than one DSL connection might be required per site</div>
</li>
</ul>
<p style="text-align: justify;">In our next article we will examine DSL IP VPNs in much greater depth, including DSL IP VPN requirements, their security encryption mechanisms, QoS methods, backup methods, and much more.<br /><br />This article was written by Chris Partsenidis, for Techtarget.com. </p>
<p>&nbsp;</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Sat, 01 Oct 2011 09:57:37 +1000</pubDate>
		</item>
		<item>
			<title>Configuring Static Route Tracking using IP SLA  (Basic)</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-ipsla-basic.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-ipsla-basic.html</guid>
			<description><![CDATA[<p style="text-align: justify;" align="left">In today's network environment, redundancy is one of the most important aspects, whether its on the LAN side or on the WAN side. In this topic we will be covering WAN redundancy with multiple WAN links terminating on a single router.</p>
<p style="text-align: justify;" align="left">The best and simplest way to achieve <strong>WAN redundancy</strong> on <strong>Cisco devices</strong> is to use <strong>Reliable Static backup routes</strong> with <strong>IP SLA tracking</strong>.</p>
<p style="text-align: justify;" align="left"><strong>IP SLAs</strong> is a <strong>feature</strong> included in the <strong>Cisco IOS Software</strong> that can allow administrators the ability to <strong>Analyze IP Service Levels</strong> for IP applications and services. IP SLA's uses <strong>active traffic-monitoring technology</strong> to <strong>monitor continuous traffic</strong> on the network. This is a reliable method in measuring over head network performance. Cisco Routers provide <strong>IP SLA Responders</strong> that give accuracy of measured data across a network.</p>
<p style="text-align: justify;" align="left">With IP SLAs, routers and switches perform periodic measurements. The number and type of available measurements are vast and in this article we will be covering just the ICMP ECHO feature. IP SLA in itself is a very big topic to cover.</p>
<p class="box-info" style="text-align: justify;" align="left">Users interested can head to our <a href="https://www.firewall.cx/cisco/cisco-routers.html" target="_blank" title="Cisco Routers Section">Cisco Routers section</a> where they can find a number of articles covering IP SLA configuration on Cisco routers.</p>
<p style="text-align: justify;" align="left">Let us take an example of a basic redundant WAN link scenario as shown below:</p>
<p align="left"><img src="https://www.firewall.cx//images/stories/tk-cisco-ipsla-1.gif" alt="tk-cisco-ipsla-1" width="620" height="245" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco IP SLA Network Diagram - LAB" /></p>
<p style="text-align: justify;" align="left">In the above figure the Cisco device is connected to two WAN links ISP1 and ISP2. The most common setup that we use in day to day life is to have to default routes configured on the Cisco router pointing to the respective next hop IPs as shown below:</p>
<div align="center">
<div class="box-content" align="left">R1(config)# <strong>ip route 0.0.0.0 0.0.0.0 2.2.2.2</strong><br />R1(config)# <strong>ip route 0.0.0.0 0.0.0.0 3.3.3.3 10</strong></div>
</div>
<p style="text-align: justify;" align="left">If you notice the Administrative Distance for the secondary route pointing to ISP2 is increased to 10 so that it becomes the backup link.</p>
<p style="text-align: justify;" align="left">The above configuration with just two floating static routes partially accomplishes our requirement as it will work only in the scenario where the routers interfaces connected to the WAN link are in up/down or down/down status. But in a lot of situations we see that even though the links remain up but we are not able to reach the gateway, this usually happens when the issue is at the ISP side.</p>
<p style="text-align: justify;" align="left">In such scenarios, IP SLAs becomes an engineer's best friend. With around six additional IOS commands we can have a more reliable automatic failover environment.</p>
<p style="text-align: justify;" align="left">Using IP SLA the Cisco IOS gets the ability to use Internet Control Message Protocol (ICMP) pings to identify when a WAN link goes down at the remote end and hence allows the initiation of a backup connection from an alternative port. The <strong>Reliable Static Routing Backup</strong> using <strong>Object Tracking</strong> feature can ensure reliable backup in the case of several catastrophic events, such as Internet circuit failure or peer device failure.</p>
<p style="text-align: justify;" align="left">IP SLA is configured to ping a target, such as a publicly routable IP address or a target inside the corporate network or your next-hop IP on the ISP's router. The pings are routed from the primary interface only. Following a sample configuration of IP SLA to generate icmp ping targeted at the ISP1s next-hop IP.</p>
<div align="center">
<div class="box-content" align="left">R1(config)# <strong>ip sla 1</strong><br /> R1(config)# <strong>icmp-echo 2.2.2.2 source-interface FastEthernet0/0</strong><br /> R1(config)# <strong>timeout 1000</strong><br /> R1(config)# <strong>threshold 2</strong><br /> R1(config)# <strong>frequency 3</strong><br /> R1(config)# <strong>ip sla schedule 1 life forever start-time now</strong></div>
</div>
<p class="box-info">Please note that the Cisco IP SLA commands have changed from IOS to IOS to know the exact command for IOS check the Cisco documentation. The above commands are for <strong>IOS 12.4(4)T</strong>, <strong>15.(0)1M</strong>, and later releases.</p>
<p style="text-align: justify;" align="left">The above configuration defines and starts an <strong>IP SLA probe</strong>.</p>
<p style="text-align: justify;" align="left">The <strong>ICMP Echo probe</strong> sends an <strong>ICMP Echo packet</strong> to next-hop <strong>IP 2.2.2.2</strong> every <strong>3 seconds</strong>, as defined by the “<strong>frequency</strong>” parameter.</p>
<p style="text-align: justify;" align="left"><strong>Timeout</strong> sets the amount of time (in milliseconds) for which the Cisco IOS IP SLAs operation waits for a response from its request packet.</p>
<p style="text-align: justify;" align="left"><strong>Threshold</strong> sets the rising threshold that generates a reaction event and stores history information for the Cisco IOS IP SLAs operation.</p>
<p style="text-align: justify;" align="left">After defining the IP SLA operation our next step is to define an object that tracks the SLA probe. This can be accomplished by using the IOS Track Object as shown below:</p>
<div class="box-content" align="center">
<div align="left">R1(config)# <strong>track 1 ip sla 1 reachability</strong></div>
</div>
<p style="text-align: justify;" align="left">The above command will track the state of the IP SLA operation. If there are no ping responses from the next-hop IP the track will go down and it will come up when the ip sla operation starts receiving ping response.</p>
<p style="text-align: justify;" align="left">To verify the track status use the use the <strong>show track</strong> command as shown below:</p>
<div class="box-content" style="text-align: justify;" align="center">R1# <strong>show track </strong><br /><br />Track 1 <br />IP SLA 1 reachability <br />Reachability is Down <br />1 change, last change 00:03:19 <br />Latest operation return code: Unknown</div>
<p style="text-align: justify;" align="left">The above output shows that the track status is <strong>down</strong>. Every IP SLAs operation maintains an operation return-code value. This return code is interpreted by the tracking process. The return code may return OK, OverThreshold, and several other return codes.</p>
<p style="text-align: justify;" align="left">Different operations may have different return-code values, so only values common to all operation types are used. The below table shows the track states as per the IP SLA return code.</p>
<div style="text-align: justify;" align="center">
<table style="width: 372px; height: 71px; border: 0px solid #000099;" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="height: 16px; border: 1px solid #000099;" valign="bottom">
<p style="text-align: center;" align="center"><span style="color: #000080;"><strong>Tracking</strong></span></p>
</td>
<td style="width: 189px; border: 1px solid #808080;" valign="bottom">
<p align="center"><strong><span style="color: #00ff00;"><span style="color: #000080;">Return</span> <span style="color: #000080;">Code</span></span></strong></p>
</td>
<td style="width: 100px; text-align: center; border: 1px solid #808080;" valign="bottom">
<p><strong><span style="color: #000080;">Track State</span> </strong></p>
</td>
</tr>
<tr>
<td style="border: 1px solid #000099;">
<p align="center"><span style="color: #000000;">Reachability</span></p>
<p align="center">&nbsp;</p>
</td>
<td style="border: 1px solid #000099;">
<p align="center"><span style="color: #000000;">OK or over threshold </span></p>
<p align="center"><span style="color: #fd7a72;"><span style="color: #000000;">(all other return codes)</span> </span></p>
</td>
<td style="border: 1px solid #000099;">
<p style="text-align: center;" align="center"><span style="color: #000000;">Up </span></p>
<p style="text-align: center;" align="center"><span style="color: #000000;">Down </span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p style="text-align: justify;" align="left">The Last step in the IP SLA Reliable Static Route configuration is to add the <strong>track</strong> statement to the default routes pointing to the ISP routers as shown below:</p>
<div align="center">
<div class="box-content" align="left">R1(config)# <strong>ip route 0.0.0.0 0.0.0.0 2.2.2.2 track 1</strong><br />R1(config)# <strong>ip route 0.0.0.0 0.0.0.0 3.3.3.3 10</strong></div>
</div>
<p style="text-align: justify;" align="left">The <strong>track </strong>number keyword and argument combination specifies that the static route will be installed only if the state of the configured track object is up. Hence if the track status is down the secondary route will be used to forward all the traffic.</p>
<p style="text-align: justify;" align="left">If you would like to learn how to configure IP SLA Tracking with Policy-Based Routing to automatically redirect specific type of traffic to other gateways or hosts, visit our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-pbr-ipsla-auto-redirect.html" target="_blank" title="Configuring Policy Based Routing with IP SLA Tracking">Configuring Policy-Based Routing (PBR) with IP SLA Tracking - Auto Redirecting Traffic</a> article.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Sat, 10 Sep 2011 07:42:55 +1000</pubDate>
		</item>
		<item>
			<title>How To Configure DHCP Server On A Cisco Router</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-dhcp-config.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-dhcp-config.html</guid>
			<description><![CDATA[<p><strong>DHCP</strong> (<strong>Dynamic Host Configuration Protocol</strong>) is the protocol used by network devices (such as PCs, network printers, etc) to automatically obtain correct network parameters so they can access network and Internet resources such as <a href="https://www.firewall.cx/networking/network-protocols/ip-protocol.html" target="_blank" title="IP Address">IP Address</a>, Default Gateway, <a href="https://www.firewall.cx/networking/network-protocols/dns-protocol.html" target="_blank" title="Domain Name, DNS Servers">Domain Name, DNS Servers</a> and more.</p>
<p style="text-align: justify;">A DHCP Server is considered necessary in today's networks. Devices usally found providing this service are Windows servers, routers and layer 3 switches.</p>
<p style="text-align: justify;">This article describes how to configure basic DHCP parameters on a Cisco router, enabling it to act as a DHCP server for your network.</p>
<div class="box-info" style="text-align: justify;">Users should also read our article <a href="https://www.firewall.cx/cisco/cisco-switches/cisco-switch-router-dhcp-server-conflicts.html" target="_blank" title="Resolving Cisco Switch &amp; Router ‘DHCP Server Pool Exhausted-Empty’ Error – Client IP Assignment Failure">Resolving Cisco Switch &amp; Router ‘DHCP Server Pool Exhausted-Empty’ Error – Client IP Assignment Failure</a> to help them deal with the most common problem that arises when the DHCP server stops serving IP addresses to network clients.</div>
<h2 class="Intro-Example" style="text-align: justify;">Cisco Router DHCP Configuration - Example Scenario</h2>
<p style="text-align: justify;">For the sake of this article, suppose we have the network shown in the following diagram, for which we would like to enable the DHCP service on our Cisco router.</p>
<p style="text-align: justify;">The router will act as a DHCP server for the 192.168.1.0/24 network. IP Addresses already assigned to our switch (192.168.1.2) and File Server (192.168.1.5) will be excluded from the DHCP pool, to ensure they are not given out to other hosts and cause an IP address conflict.</p>
<p style="text-align: justify;">First step is to enable the DHCP service on our router, which by default is enabled.</p>
<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-dhcp-1.jpg" alt="tk-cisco-routers-dhcp-1" width="451" height="229" style="border: 1px solid #000000; display: block; margin-left: auto; margin-right: auto; vertical-align: middle;" title="Cisco Router &amp; Client - DHCP Server Configuration" /></p>
<p style="text-align: justify;">First step is to enable the DHCP service on our router, which by default is enabled:</p>
<div class="box-content" style="text-align: justify;">R1# <strong>configure terminal</strong><br />R1(config)# <strong>service dhcp</strong></div>
<p style="text-align: justify;">Next step is to create the DHCP pool that defines the network of IP addresses that will be given out to the clients. Note that 'NET-POOL' is the name of the DHCP IP Pool we are creating:</p>
<div class="box-content" style="text-align: justify;">R1(config)# <strong>ip dhcp pool NET-POOL</strong><br />R1(dhcp-config)# <strong>network 192.168.1.0 255.255.255.0</strong></div>
<p style="text-align: justify;">This tells the router to issue IP addresses for the network 192.168.1.0, which translates to the range 192.168.1.1 - 192.168.1.254. We will have to exclude the IP addresses we want later on.<br /><br />We now define the DHCP parameters that will be given to each client. These include the default gateway (default-router), dns servers, domain and lease period (days):</p>
<div class="box-content" style="text-align: justify;">R1(dhcp-config)# <strong>default-router 192.168.1.1</strong><br />R1(dhcp-config)# <strong>dns-server 192.168.1.5 195.170.0.1</strong><br />R1(dhcp-config)# <strong>domain-name Firewall.cx</strong><br />R1(dhcp-config)# <strong>lease 9</strong></div>
<p style="text-align: justify;">&nbsp;The <strong>domain-name</strong> and <strong>lease</strong> parameters are not mandatory. By default, the <strong>lease time</strong> for an IP address is one day, however we can specify any time range we need. For example, if we need to set the lease time for <strong>4 hours</strong> and <strong>30 minutes</strong> we would use the following command under our DHCP pool:</p>
<p class="box-content" style="text-align: justify;">R1(dhcp-config)#<strong> lease 0 4 30</strong></p>
<p style="text-align: justify;">The above command is interpreted as follows: <strong>0</strong> (<strong>Zero</strong>) days, <strong>4</strong> hours and <strong>30</strong> minutes.<br /><br /></p>
<p style="text-align: justify;">All we need now is to exclude the IP addresses we don't want our DHCP server giving out. Drop back to 'global configuration mode' and enter the following:</p>
<div class="box-info" style="text-align: justify;">R1(config)# <strong>ip dhcp excluded-address 192.168.1.1 192.168.1.5</strong><br />R1(config)#<strong> ip dhcp excluded-address 192.168.1.10</strong></div>
<p style="text-align: justify;">This excludes IP addresses 192.168.1.1 - 192.168.1.5 &amp; 192.168.1.10. As you can see, there's an option to exclude a range of IP addresses or a specific address. <br /><br />The above configuration is all you need to get the DHCP server running for your network. We'll provide a few more commands you can use to troubleshoot and ensure it's working correctly.<br /><br />The following command will allow you to check which clients have been served by the DHCP:</p>
<div class="box-content" style="text-align: justify;">R1# <strong>show ip dhcp binding </strong><br />Bindings from all pools not associated with VRF:<br />IP address Client-ID/ Lease expiration Type<br />Hardware address/<br />User name<br />192.168.1.6 0100.1e7a.c409 Jan 19 2009 03:06 PM Automatic<br />192.168.1.7 0100.1e7a.c3c1 Jan 19 2009 09:00 PM Automatic<br />192.168.1.8 0100.1ebe.923b Jan 19 2009 02:25 PM Automatic<br />192.168.1.9 0100.1b53.5ccc Jan 19 2009 02:03 PM Automatic<br />192.168.1.11 0100.1e7a.261d Jan 19 2009 07:52 PM Automatic<br />R1#</div>
<p style="text-align: justify;">Notice that IP addresses 192.168.1.5 &amp; 192.168.1.10 have not been assigned to the clients.</p>
<h2>Summary</h2>
<p style="text-align: justify;">In this article we've covered <strong>how to configure a Cisco router to act as a DHCP server</strong> and <strong>configure available DHCP options</strong>. We also saw how you can obtain general information about the service. There are more options available with the DHCP service, however this basic article should cover most of your network needs.</p>
<p style="text-align: justify;">Future DHCP articles will explore advanced options and debugging for more complex networks containing <a href="https://www.firewall.cx/networking/vlan-networks.html" title="VLAN Networks">VLANs</a> and <a href="https://www.firewall.cx/cisco/cisco-callmanager-ccme.html" title="IP Telephony">IP Telephony</a>.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Sat, 10 Sep 2011 07:41:17 +1000</pubDate>
		</item>
		<item>
			<title>How To Configure Dynamic DNS Server On A Cisco Router</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-ddns.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-ddns.html</guid>
			<description><![CDATA[<p>Hosting your own webserver or email server would normaly require a static IP address from your ISP. This ensures that your services are always reachable using the same IP address or domain name.</p>
<p style="text-align: justify;" align="left">If you had a domain name, e.g Firewall.cx, you would then map your static IP address to your domain (via DNS) so when you hit your domain name, you would be directed to your statically assigned IP address and access the resources you need.</p>
<p style="text-align: justify;" align="left">While this is the recommended setup for most companies doing serious business, it doesn't really apply to home users or small branch offices because of the increased cost for static IP addresses.</p>
<p style="text-align: justify;" align="left">The solution to the above problem is named '<strong>DDNS</strong>' - Dynamic DNS Service. DDNS providers allow the registeration and creation of Fully Qualified Domain Names (FQDN) that can be mapped to home or branch office Internet connections without cost . This eliminates the need for a static IP address, since the DDNS provider will automatically update its DNS records with your dynamic IP address every time it changes.</p>
<p style="text-align: justify;" align="left">From Cisco IOS version 12.4 onwards, Cisco routers have built-in support for a variety of DDNS providers, making it much easier and a more reliable alternative, as you no longer require a PC in your network that will run the DDNS provider's client program.</p>
<p style="text-align: justify;" align="left">This article will show you how you can configure your Cisco router so it can support the DDNS service with No-IP.com and DynDNS.com. Detailed Cisco router CLI commands and debugging information is included to ensure correct configuration and results are obtained.</p>
<h2>DDNS Example Scenario</h2>
<p style="text-align: justify;" align="left">Consider the following network diagram. It shows the simple logic of how DDNS works:</p>
<p align="left"><img src="https://www.firewall.cx/images/stories/cisco/tk-cisco-routers-ddns-1.jpg" alt="tk-cisco-routers-ddns-1" width="573" height="229" style="border: 1px solid #000000; display: block; margin-left: auto; margin-right: auto;" title="Cisco Router DDNS Configuration" /></p>
<p style="text-align: justify;" align="left">Firstly we need to configure our Cisco router to register and send its periodical updates to the DDNS provider. Once received, the DDNS provider updates the relevant DNS records, in our example, firewallcx.no-ip.info.</p>
<p style="text-align: justify;" align="left">When an Internet host queries the DDNS provider for the domain firewallcx.no-ip.info, it will then point the host towards the public IP addresses currently assigned to the router, that is, 195.162.29.1. As the ISP changes the IP address it assigned to the Cisco router, the router in turn will also update its DDNS provider. This way, the domain firewallcx.no-ip.info is always updated no matter how many times its IP address changes.</p>
<p style="text-align: justify;" align="left">So, without further delay, here's how you can configure your Cisco router to register with the following DDNS providers:</p>
<p style="text-align: justify;" align="left">1) No-ip.com</p>
<p style="text-align: justify;" align="left">2) Dyndns.com</p>
<h2>Case No.1: Configuring Support For No-ip.com</h2>
<p style="text-align: justify;" align="left">First step is to enable the DNS service and configure an IP name server (public DNS server) so it can successfully resolve Internet domain names. For our example, we are using Public DNS servers:</p>
<div class="box-content" style="text-align: justify;" align="left">R1# <strong>configure terminal</strong><br /> R1(config)# <strong>ip dns server</strong><br />R1(config)# <strong>ip name-server 4.2.2.6</strong><br /> R1(config)# <strong>ip name-server 4.2.2.5</strong></div>
<p style="text-align: justify;" align="left">&nbsp;Next, we need to enable the DDNS update service and give it a name (no-ip), and then select the update method to be used, for this example, it's HTTP:</p>
<div class="box-content" style="text-align: justify;" align="left">R1(config)# <strong>ip ddns update method no-ip</strong><br /> R1(DDNS-update-method)# <strong>HTTP</strong></div>
<p style="text-align: justify;" align="left">&nbsp;Now we add the authentication details. The router will use this information to authenticate to the DDNS provider so it can then update the necessary hostname. We should note that each DDNS provider uses its own authentication method &amp; parameters. In No-ip.com's case, it makes use of a login name &amp; password, where the login name is your registered email address.</p>
<p style="text-align: justify;" align="left">The command will look something like this:</p>
<div class="box-content">add http://<strong>email</strong>:<strong>password@</strong>dynupdate.no-ip.com/nic/update<strong>?</strong>hostname=&lt;h&gt;&amp;myip=&lt;a&gt;</div>
<p style="text-align: justify;" align="left">As noted, the login name is the registered email address. This means that the full syntax above will contain two "<span style="color: #000000;">@</span>" characters, which can create a problem with the URL sent to the DDNS provider. In addition, the question mark "<span style="color: #000000;"><strong>?</strong></span>" character cannot be inserted straight into the command as the router will consider it as a help request and provide a list of parameters and commands. For this reason, it is required to enter <strong>CTRL+V</strong>, then insert the "<span style="color: #000000;"><strong>?</strong></span>" character. The same procedure applies for the "<span style="color: #000000;"><strong>@</strong></span>" symbol. Also keep in mind that the command below is entered as one single line:</p>
<div class="box-content" style="text-align: left;" align="left">R1(DDNS-HTTP)# add http://user<span style="color: #000000;">@</span>firewall.cx:password<span style="color: #000000;">@</span>dynupdate.no-ip.com/nic/update<span style="color: #000000;">?</span>hostname=&lt;h&gt;&amp;myip=&lt;a&gt;</div>
<p>In the above command, the &lt;h&gt; variable will be substituted with the FQDN that needs to be updated (firewallcx.no-ip.info) which we will configure next, and the &lt;a&gt; variable will be substituted with the IP address of the interface we have enabled for the DDNS updates.</p>
<p style="text-align: justify;" align="left">In the next step, we set the update interval, to ensure the FQDN is updated as frequently possible, but without causing problems to the DDNS provider:</p>
<div class="box-content" style="text-align: justify;" align="left">R1(DDNS-HTTP)# <strong>interval maximum 0 0 5 0</strong></div>
<p style="text-align: justify;" align="left">The above command sets the update interval to 0 Days, 0 Hours, 5 Minutes and 0 Seconds.</p>
<p style="text-align: justify;" align="left">Last step is to set the FQDN we'll be updating and enable the DDNS service on our public interface (usually the Dialer 0 or public FastEthernet interface):</p>
<div class="box-content" style="text-align: justify;" align="left">R1(DDNS-update-method)#<strong> interface dialer0</strong><br />R1(config-if)#<strong> ip ddns update hostname firewallcx.no-ip.info</strong><br /> R1(config-if)# <strong>ip ddns update no-ip</strong></div>
<p style="text-align: justify;" align="left">This completes the setup and your router should start sending its updates to the DDNS provider.</p>
<p style="text-align: justify;" align="left">If you see that your FQDN hasn't been updated after 5-10 minutes, then you can also use the following debug commands (hit CTRL-Z first) to get an idea of what's happening in the background:</p>
<div class="box-content" style="text-align: justify;" align="left">R1# <strong>debug ip ddns update</strong></div>
<p style="text-align: justify;" align="left">Here are the results of our debug:</p>
<div class="box-content" style="text-align: justify;" align="left">Jan 23 14:26:51.859: %LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access3, changed state to down<br /> Jan 23 12:26:51.859: DYNUPD: SWIF goingdown 'Virtual-Access3'<br /> Jan 23 14:27:05.091: %LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access3, changed state to up<br /> Jan 23 12:27:05.091: DYNUPD: SWIF comingup 'Virtual-Access3'<br /> Jan 23 12:27:07.883: DYNDNSUPD: Adding DNS mapping for firewallcx.no-ip.info&lt;=&gt; 195.162.29.1 <br /> Jan 23 12:27:07.883: HTTPDNS: Update add called for firewallcx.no-ip.info&lt;=&gt; 195.162.29.1</div>
<h2 style="text-align: justify;" align="left">Case No.2: Configuring Support for Dyndns.com</h2>
<p style="text-align: justify;" align="left">Dyndns.com requires a similar configuration as our previous DDNS provider, however, the HTTP authentication string is slightly different, and you'll need to adjust your update interval to once a day rather than every 5 minutes. The interval adjustment is very important as Dyndns.com is unfortunately less forgiving than No-ip.com and will lock your account if multiple updates occur without your IP address having been changed!</p>
<p style="text-align: justify;" align="left">The following cli code is the actual configuration required up till the authentication method:</p>
<div class="box-content" style="text-align: justify;" align="left">R1# <strong>configure terminal</strong><br /> R1(config)# <strong>ip dns server</strong><br /> R1(config)# <strong>ip name-server 4.2.2.6</strong><br /> R1(config)#<strong> ip name-server 4.2.2.5</strong><br /> R1(config)# <strong>ip ddns update method dyndns </strong><br /> R1(DDNS-update-method)# <strong>HTTP</strong></div>
<p style="text-align: justify;" align="left">&nbsp;The HTTP authentication string required for Dyndns.com will look something like this:</p>
<div class="box-content" style="text-align: left;" align="left">add http://username:password<span style="color: #000000;">@</span>members.dyndns.org/nic/update<span style="color: #000000;">?</span>system=dyndns&amp;hostname=&lt;h&gt;&amp;myip=&lt;a&gt;</div>
<p style="text-align: justify;" align="left">In order to insert the "<span style="color: #000000;">@</span>" and "<span style="color: #000000;">?</span>" symbol, it is required to enter <strong>CTRL+V</strong> before each character, as explained previously.</p>
<div class="box-content" style="text-align: justify;" align="left">R1(DDNS-HTTP)# <strong>add http://username:password<span style="color: #000000;">@</span>members.dyndns.org/nic/update<span style="color: #000000;">?</span>system=dyndns&amp;hostname=&lt;h&gt;&amp;myip=&lt;a&gt;</strong></div>
<div class="box-hint" style="text-align: justify;">Note: The above command is one full line</div>
<p style="text-align: justify;" align="left">Again, the <strong>&lt;h&gt;</strong> will be substituted with the FQDN that needs to be updated (firewallcx.dyndns.info) which we will configure next, and the <strong>&lt;a&gt;</strong> will be substituted with the IP address of the interface we have enabled for the DDNS updates.</p>
<p style="text-align: justify;" align="left">Next up, we set the update interval to ensure the FQDN is updated as frequently as possible. DynDNS is a bit sensitive on regular update, so we set it to once a day:</p>
<div class="box-content" style="text-align: justify;" align="left">R1(DDNS-HTTP)# <strong>interval maximum 1 0 0 0</strong></div>
<p style="text-align: justify;" align="left">The above command sets the update interval to <strong>1 Day, 0 Hours, 0 Minutes and 0 Seconds</strong>.</p>
<p style="text-align: justify;" align="left">As a final step, we set the FQDN we'll be updating and enable the DDNS service on our public interface (usually your Dialer 0 or public Ethernet interface):</p>
<div class="box-content" style="text-align: justify;" align="left">R1(DDNS-update-method)# <strong>interface dialer0</strong><br />R1(config-if)# <strong>ip ddns update hostname firewall.dyndns.info</strong><br />R1(config-if)# <strong>ip ddns update dyndns</strong></div>
<p style="text-align: justify;" align="left">This completes the setup and your router should start sending its updates to the DDNS provider.</p>
<p style="text-align: justify;" align="left">If you see that the your FQDN hasn't been updated after 5-10 minutes, then you can also use the following debug commands (hit CTRL-Z first) to get an idea on what's happening in the background:</p>
<div class="box-content" style="text-align: justify;" align="left">Jan 24 12:26:51.859: %LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access3, changed state to down<br />Jan 24 12:26:51.859: DYNUPD: SWIF goingdown 'Virtual-Access3'<br />Jan 24 12:27:05.091: %LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access3, changed state to up<br />Jan 24 12:27:05.091: DYNUPD: SWIF comingup 'Virtual-Access3'<br />Jan 24 12:27:07.883: DYNDNSUPD: Adding DNS mapping for firewall.dyndns.info&lt;=&gt; 195.162.49.4<br />Jan 24 12:27:07.883: HTTPDNS: Update add called for firewall.dyndns.info&lt;=&gt; 195.162.49.4</div>
<h2>Summary</h2>
<p style="text-align: justify;" align="left">In this article we've covered <strong>how to enable and configure Dynamic DNS on a Cisco router</strong> to support no-ip.com and dyndns.com. We've seen the process in great depth and analysed all commands required to get the service up and running, but also debug it in case of problems.</p>
<p style="text-align: justify;" align="left">Closing, we hope the article comes in handy and answers your questions regarding the configuration of DDNS on Cisco routers.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Sat, 10 Sep 2011 07:39:36 +1000</pubDate>
		</item>
		<item>
			<title>Cisco Router Password Recovery</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-password-recovery.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-password-recovery.html</guid>
			<description><![CDATA[<p><strong>Password recovery</strong> is a fairly frequently used procedure for administrators and engineers. Even though we usually stack our passwords in some word, excel or text file, it's very easy to forget to update them when changes occur. The end result is you find yourself locked out of the device, wondering what on earth could be the password.</p>
<p style="text-align: justify;" align="left">Accessing a Cisco router requires certain privileges. Depending on the router's configuration, you might be required to firstly log into the router and then enter the popular 'enable' password to elevate your access to privileged mode, from where you can issue configuration commands.</p>
<p style="text-align: justify;" align="left">This article will show you how you can gain full administrator access to a Cisco router, bypassing all security passwords. The password recovery process, however, can be rendered useless if the administrator has previously configured the router not to allow this process to take place. In this case, the router will warn the user and, if he proceeds, all configuration will be erased, so there will be nothing to recover!</p>
<h2 style="text-align: justify;" align="left">Example Scenario</h2>
<p style="text-align: justify;" align="left">Consider we have a Cisco router (2610 for our example - this procedure is the same for all routers) and we are unable to access it due to a lost password. Console and VTY (telnet) sessions ask for a password which we do not have:</p>
<div class="box-content" style="text-align: justify;">R1 con0 is now available<br /><br />Press RETURN to get started.<br /><br />User Access Verification<br /><br />Password: <strong>*****</strong><br />Password: <strong>********</strong><br />Password:<strong> ***</strong><br />% Bad passwords</div>
<p style="text-align: justify;" align="left">Even if we were able to successfully log into the router, but couldn't provide the router with the correct 'enable' password, we would still need to perform a password recovery procedure.</p>
<p style="text-align: justify;" align="left">To initiate the password recovery procedure, connect the rollover cable to the console port, then power the router off and back on. As soon as you receive a prompt showing the boot process, hit Ctrl-Break:</p>
<div class="box-content" style="text-align: justify;">System Bootstrap, Version 11.3(2)XA4, RELEASE SOFTWARE (fc1)<br />Copyright (c) 1999 by cisco Systems, Inc.<br />TAC:Home:SW:IOS:Specials for info<br />PC = 0xfff0a530, Vector = 0x500, SP = 0x680127c8<br />C2600 platform with 65536 Kbytes of main memory<br /><br />program load complete, entry point: 0x80008000, size: 0xf54134<br />PC = 0xfff0a530, Vector = 0x500, SP = 0x83fffe68<br /><br /><strong>&lt;ctrl + Break&gt;</strong><br /><br />monitor: command "boot" aborted due to user interrupt<br />rommon 1 &gt;</div>
<p style="text-align: justify;" align="left">&nbsp;You'll immediately see the 'rommon' prompt, indicating we are in 'rom monitor' mode. This is a mini-IOS that allows you to perform very specific tasks in order to recover your router.</p>
<p style="text-align: justify;" align="left">Now, to skip our <strong>password-protected configuration</strong>, we instruct the router to by-pass the configuration located in NVRAM during bootup, and reset the router:</p>
<div class="box-content" style="text-align: justify;">rommon 1 &gt; <strong>confreg 0x2142</strong><br />You must reset or power cycle for new config to take effect<br />rommon 2 &gt; <strong>reset</strong></div>
<p><br />The router will now reset and start its normal bootup process, however, the current configuration will be ignored. When the bootup is complete, you will be prompted to 'enter the initial configuration dialog', answer 'no':</p>
<div class="box-content">System Bootstrap, Version 11.3(2)XA4, RELEASE SOFTWARE (fc1)<br />Copyright (c) 1999 by cisco Systems, Inc.<br />TAC:Home:SW:IOS:Specials for info<br />C2600 platform with 65536 Kbytes of main memory<br />program load complete, entry point: 0x80008000, size: 0xf54134<br />Self decompressing the image : ##<br />&lt;output omitted&gt;<br />--- System Configuration Dialog ---<br />Would you like to enter the initial configuration dialog? [yes/no]: no<br />Press RETURN to get started!</div>
<p><br />Next step is to enter '<a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-pri-mode.html" target="_blank" title="Privileged Mode"><strong>Privileged Mode</strong></a>' and load the router's configuration from nvram. Then reset the 'enable' or 'secret' password. To be sure, we're showing how to reset both, but we'll only need to use the 'secret' password. In addition, we are going to reset the console port's password:</p>
<div class="box-content">Router&gt;<br />Router&gt; <strong>enable</strong><br /> Router# <strong>copy startup-config running-config</strong><br /> Destination filename [running-config]? (hit enter)<br /> Building configuration...<br /> [OK]<br /> Router# <strong>configure terminal</strong><br /> Router(config)# <strong>enable password cisco</strong><br /> Router(config)# <strong>enable secret enter</strong><br /> Router(config)# <strong>line console 0</strong><br /> Router(config-line)# <strong>password hello</strong><br /> Router(config)#<strong> username admin privilege 15 secret enternow</strong></div>
<p align="left">If you use the '<strong>login local</strong>' command you'll need to reset the user account of the password you have lost (in our example, it's 'admin').</p>
<p align="left">Lastly, we need to change the 'configuration register' so the router will load the newly modified configuration next time it reboots, save our settings and reboot the router:</p>
<div class="box-content">Router(config)# <strong>config-register 0x2102</strong><br />Router(config)# <strong>exit </strong><br />Router# <strong>copy running-config startup-config</strong><br />Destination filename [startup-config]? (hit enter) <br />Building configuration...<br />[OK]<br />Router# <strong>reload</strong></div>
<p align="left">The router will now reload and use the new configuration that contains the newly set passwords.</p>
<p align="left">When the router reboots, log in and check your configuration. If you find any interfaces in the 'shutdown' state, you'll need to use the '<strong>no shutdown</strong>' command to bring them back up.</p>
<p align="left">Again, don't forget to save your configuration once all changes are complete!</p>
<h2 class="style1" align="left">Summary</h2>
<p align="left">We've shown you how to <strong>recover lost passwords</strong> and gain control of a <strong>Cisco router</strong>. Of course there are mechanisms, which can be enabled, that will not allow you to perform the <strong>password recovery procedure</strong>. In this case, any attempt to <strong>recover the passwords or configuration</strong> will result in the erasure of the device's configuration!</p>
<div id="_mcePaste" class="mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 1218px; width: 1px; height: 1px;">Router&gt;<br />Router&gt; enable<br /> Router# copy startup-config running-config<br /> Destination filename [startup-config]? <em>(hit enter)</em><br /> Building configuration...<br /> [OK]<br /> Router# configure terminal<br /> Router(config)# enable password cisco<br /> Router(config)# enable secret enter<br /> Router(config)# line console 0<br /> Router(config-line)# password hello<br /> Router(config)# username admin password enternow</div>
<p><br /><br /></p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Sat, 10 Sep 2011 07:37:42 +1000</pubDate>
		</item>
		<item>
			<title>Cisco VPN Client Configuration - Setup for IOS Router</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-vpn-client.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-vpn-client.html</guid>
			<description><![CDATA[<p style="text-align: justify;">Remote VPN access is an extremely popular service amongst Cisco routers and ASA Firewalls. The flexibility of having remote access to our corporate network and its resources literally from anywhere in the world, has proven extremely useful and in many cases irreplaceable. All that is required is fast Internet connection and your user credentials to log in – all the rest are taken care by your Cisco router or firewall appliance.</p>
<p style="text-align: justify;">To initiate the connection, we use the Cisco VPN client, available for Windows operating systems (XP, Vista, Windows 7 - 32 &amp; 64bit), Linux, Mac OS X10.4 &amp; 10.5 and Solaris UltraSPARC (32 &amp; 64bit), making it widely available for most users around the globe. Cisco VPN Clients are available for download from our <a href="https://www.firewall.cx//downloads/cisco-tools-a-applications.html" target="_blank" title="Free Cisco Downloads and Tools">Cisco Downloads</a> section.</p>
<p style="text-align: justify;">The Cisco VPN also introduces the concept of ‘Split Tunneling'. Split tunneling is a feature that allows a remote VPN client access the company's LAN, but at the same time surf the Internet. In this setup, only traffic destined to the company's LAN is sent through the VPN tunnel (encrypted) while all other traffic (Internet) is routed normally as it would if the user was not connected to the company VPN.</p>
<p style="text-align: justify;">Some companies have a strict policy that does not allow the remote VPN client access the Internet while connected to the company network (split tunneling disabled) while others allow restricted access to the Internet via the VPN tunnel (rare)! In this case, all traffic is tunnelled through the VPN and there's usually a web proxy that will provide the remote client restricted Internet access.</p>
<p style="text-align: justify;">From all the above, split tunneling is the most common configuration of Cisco VPN configuration today, however for educational purposes, we will be covering all methods.</p>
<p style="text-align: justify;">Setting up a Cisco router to accept remote Cisco VPN clients is not an extremely difficult task. Following each step shown in this article will guarantee it will work flawlessly.</p>
<p style="text-align: justify;">Below is a typical diagram of a company network providing VPN access to remote users in order to access the company's network resources.</p>
<p style="text-align: justify;">The VPN established is an IPSec secure tunnel and all traffic is encrypted using the configured encryption algorithm:</p>
<p><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-vpnclient-1.jpg" alt="tk-cisco-routers-vpnclient-1" width="628" height="261" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco VPN Client Diagram - Restricting Layer 4 Services" /></p>
<p style="text-align: justify;">Engineers and administrators who need to restrict VPN user access to Layer-4 services e.g www, smtp, pop on a specific internal host (e.g web/email server) should read our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-vpn-client-acls.html" target="_blank" title="Restricting Cisco VPN Client to Layer-4 TCP/UDP">How to Restrict Cisco IOS Router VPN Client to Layer-4 (TCP, UDP) Services - Applying IP, TCP &amp; UDP Access Lists</a> article.</p>
<p style="text-align: justify;">The Cisco IPSec VPN has two levels of protection as far as credentials concern. The remote client must have valid group authentication credential, followed by valid user credential.</p>
<p style="text-align: justify;">The group credentials are entered once and stored in the VPN connection entry, however the user credentials are not stored and requested every time a connection is established:</p>
<p><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-vpnclient-2.gif" alt="tk-cisco-routers-vpnclient-2" width="445" height="409" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco VPN Client Properties" /></p>
<p style="text-align: justify;">We should note that configuring your router to support Point-to-Point Tunnel Protocol VPN (PPTP) is an alternative method and covered on our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-pptp-server.html" target="_blank" title="PPTP Router Configuration">Cisco PPTP Router Configuration</a> article, however PPTP VPN is an older, less secure and less flexible solution. We highly recommend using Cisco IPSec VPN only.</p>
<p style="text-align: justify;">In order to configure Cisco IPSec VPN client support, the router must be running at least the 'Advanced Security' IOS otherwise most of the commands that follow will not be available at the CLI prompt!</p>
<p style="text-align: justify;">To begin, we need to enable the router's 'aaa model' which stands for 'Authentication, Authorisation and Accounting'. AAA provides a method for identifying users who are logged in to a router and have access to servers or other resources.</p>
<p style="text-align: justify;">AAA also identifies the level of access that has been granted to each user and monitors user activity to produce accounting information.</p>
<p style="text-align: justify;">We enable the 'aaa new-model' service followed by X-Auth for user authentication and then group authentication (network vpn_group_ml_1):</p>
<div align="center">
<div class="box-content" align="left">R1# <strong>configure terminal</strong><br /> R1(config)# <strong>aaa new-model</strong><br /> R1(config)# <strong>aaa authentication login default local</strong><br /> R1(config)# <strong>aaa authentication login vpn_xauth_ml_1 local</strong><br /> R1(config)# <strong>aaa authentication login sslvpn local</strong><br /> R1(config)# <strong>aaa authorization network vpn_group_ml_1 local</strong><br /> R1(config)# <strong>aaa session-id common</strong></div>
</div>
<p style="text-align: justify;" align="left">When trying to establish an IPSec tunnel, there are two main phase negotiations where the remote client negotiates the security policies and encryption method with the Cisco VPN router.</p>
<p style="text-align: justify;" align="left">Now we create the user accounts that will be provided to our remote users. Each time they try to connect to our VPN, they will be required to enter this information:</p>
<div align="center">
<div class="box-content" align="left">R1(config)# <strong>username adminitrator secret $cisco$firewall</strong><br /> R1(config)# <strong>username firewallcx secret $fir3w@ll!</strong></div>
</div>
<p style="text-align: justify;" align="left">We next create an Internet Security Association and Key Management Protocol (ISAKMP) policy for Phase 1 negotiations. In this example, we've create two ISAKMP policies, and configure the encryption (encr), authentication method, hash algorithm and set the Diffie-Hellman group:</p>
<div align="center">
<div class="box-content" align="left">R1(config)# <strong>crypto isakmp policy 1</strong><br /> R1(config-isakmp)# <strong>encr 3des</strong><br /> R1(config-isakmp)# <strong>authentication pre-share</strong><br /> R1(config-isakmp)# <strong>group 2</strong><br /> R1(config-isakmp)#<br /> R1(config-isakmp)#<strong>crypto isakmp policy 2</strong><br /> R1(config-isakmp)#<strong> encr 3des</strong><br /> R1(config-isakmp)# <strong>hash md5</strong><br /> R1(config-isakmp)# <strong>authentication pre-share</strong><br /> R1(config-isakmp)# <strong>group 2</strong><br /> R1(config-isakmp)# <strong>exit</strong></div>
</div>
<p style="text-align: justify;" align="left">We now create a group and configure the DNS server and other parameters as required. These parameters are passed down to the client as soon as it successfully authenticates to the group:</p>
<div align="center">
<div class="box-content" align="left">R1(config)# <strong>crypto isakmp client configuration group CCLIENT-VPN</strong> <br /> R1(config-isakmp-group)# <strong>key firewall.cx</strong> <br /> R1(config-isakmp-group)# <strong>dns 10.0.0.10</strong><br /> R1(config-isakmp-group)# <strong>pool VPN-Pool</strong><br /> R1(config-isakmp-group)# <strong>acl 120</strong><br /> R1(config-isakmp-group)# <strong>max-users 5</strong><br />R1(config-isakmp-group)# <strong>exit</strong><br /> R1(config)# <strong>ip local pool VPN-Pool 192.168.0.20 192.168.0.25</strong></div>
</div>
<p style="text-align: justify;" align="left">The above configuration is for the '<strong>CCLIENT-VPN</strong>' group with a pre-share key (authentication method configured previously) of '<strong>firewall.cx</strong>'. Users authenticating to this group will have their <strong>DNS</strong> set to <strong>10.0.0.10</strong>. A maximum of <strong>5 users</strong> are allowed to connect simultaneously to this group and will have access to the resources governed by <strong>access-list 120</strong>.</p>
<p style="text-align: justify;" align="left">Lastly, users authenticating to this group will obtain their IP address from the pool named '<strong>VPN-Pool</strong>' that provides the range of IP address: <strong>192.168.0.20</strong> up to <strong>192.168.0.25. </strong></p>
<p style="text-align: justify;" align="left">Creation of the Phase 2 Policy is next. This is for actual data encryption &amp; IPSec phase 2 authentication:</p>
<div align="center">
<div class="box-content" align="left">R1(config)# <strong>crypto ipsec transform-set encrypt-method-1 esp-3des esp-sha-hmac</strong> <br />R1(cfg-crypto-trans)#</div>
</div>
<p style="text-align: justify;" align="left">The transformation named '<strong>encrypto-method-1</strong>' is then applied to an IPSec profile named '<strong>VPN-Profile-1</strong>':</p>
<div align="center">
<div class="box-content" align="left">R1(config)# <strong>crypto ipsec profile VPN-Profile-1</strong><br />R1(ipsec-profile)# <strong>set transform-set encrypt-method-1</strong></div>
</div>
<p style="text-align: justify;" align="left">&nbsp;Note the encryption and authentication method of our IPSec crypto tunnel as shown by a connected VPN client to the router with the above configuration:</p>
<p><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-vpnclient-3.gif" alt="tk-cisco-routers-vpnclient-3" width="556" height="339" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco VPN Client Statistics" /></p>
<p style="text-align: justify;" align="left">Now its time to start binding all the above together by creating a virtual-template interface that will act as a 'virtual interface' for our incoming VPN clients. Remote VPN clients will obtain an IP address that is part of our internal network (see diagram above - 192.168.0.x/24) so we therefore do not require this virtual interface to have an ip address and configure it as an '<strong>ip unnumbered</strong>' interface on our router's LAN interface.</p>
<p style="text-align: justify;" align="left">Setting an interface as an ip unnumbered enables IP processing through it without assigning an explicit IP address, however you must bind it to a physical interface that does have an IP address configured, usually your LAN interface:</p>
<div align="center">
<div class="box-content" align="left">R1(config)# <strong>interface Virtual-Template2 type tunnel</strong><br /> R1(config-if)# <strong>ip unnumbered FastEthernet0/0</strong><br /> R1(config-if)# <strong>tunnel mode ipsec ipv4</strong><br /> R1(config-if)# <strong>tunnel protection ipsec profile VPN-Profile-1</strong></div>
</div>
<p style="text-align: justify;" align="left">Above, our virtual template also inherits our configured encryption method via the '<strong>ipsec profile VPN-Profile-1</strong>' command which sets the transform method to '<strong>encrypt-method-1</strong>' (check previous configuration block) which in turn equals to '<strong>esp-3des esp-sha-hmac</strong>'.</p>
<p style="text-align: justify;" align="left">Notice how Cisco's CLI configuration follows a logical structure. You configure specific parameters which are then used in other sections of the configuration. If this logic is understood by the engineer, then decoding any given Cisco configuration becomes an easy task.</p>
<p style="text-align: justify;" align="left">So far we've enabled the authentication mechanisms (aaa), created an ISAKMP policy, created the VPN group and set its parameters, configured the encryption method (transform-set) and binded it to the virtual template the remote VPN user will connect to.</p>
<p style="text-align: justify;" align="left">Second-last step is to create one last ISAKMP profile to connect the VPN group with the virtual template:</p>
<div align="center">
<div class="box-content" align="left">R1(config)# <strong>crypto isakmp profile vpn-ike-profile-1</strong><br /> R1(conf-isa-prof)# <strong>match identity group CCLIENT-VPN</strong><br /> R1(conf-isa-prof)# <strong>client authentication list vpn_xauth_ml_1</strong><br /> R1(conf-isa-prof)# <strong>isakmp authorization list vpn_group_ml_1</strong><br /> R1(conf-isa-prof)# <strong>client configuration address respond</strong><br /> R1(conf-isa-prof)# <strong>virtual-template 2</strong></div>
</div>
<p style="text-align: justify;">Last step is the creation of our access lists that will control the VPN traffic to be tunnelled, effectively controlling what our VPN users are able to access remotely.</p>
<p style="text-align: justify;">Once that's done, we need to add a 'no NAT' statement so that traffic exiting the router and heading toward the VPN user is preserved with its private IP address, otherwise packets sent through the tunnel by the router, will be NAT'ed and therefore rejected by the remote VPN Client.</p>
<p style="text-align: justify;">When NAT is enabled through a VPN tunnel, the remote user sees the tunnelled traffic coming from the router's public IP address, when in fact it should be from the router's private IP address.</p>
<p style="text-align: justify;">We assume the following standard NAT configuration to provide Internet access to the company's LAN network:</p>
<div align="center">
<div class="box-content" align="left">R1#<strong>show running-config</strong><br /> &lt;output omitted&gt;<br /> ip nat inside source list 100 interface Dialer1 overload<br /> access-list 100 remark -=[Internet NAT Service]=-<br /> access-list 100 permit ip 192.168.0.0 0.0.0.255 any<br /> access-list 100 remark</div>
</div>
<p style="text-align: justify;">Based on the above, we proceed with our configuration. First, we need to restrict access to our remote VPN users, so that they only access our SQL server with IP address 192.168.0.6 (<strong>access-list 120</strong>), then we <strong>deny NAT</strong> (<strong>access-list 100</strong>) to our remote VPN Pool IP range:</p>
<p class="box-content">R1(config)# <strong>access-list 120 remark ==[Cisco VPN Users]==</strong><br />R1(config)# <strong>access-list 120 permit ip host 192.168.0.6 host 192.168.0.20</strong><br />R1(config)# <strong>access-list 120 permit ip host 192.168.0.6 host 192.168.0.21</strong><br />R1(config)# <strong>access-list 120 permit ip host 192.168.0.6 host 192.168.0.22</strong><br />R1(config)# <strong>access-list 120 permit ip host 192.168.0.6 host 192.168.0.23</strong><br />R1(config)# <strong>access-list 120 permit ip host 192.168.0.6 host 192.168.0.24</strong><br />R1(config)#<strong> access-list 120 permit ip host 192.168.0.6 host 192.168.0.25</strong><br /><br />R1(config)# <strong>no access-list 100 </strong><br />R1(config)# <strong>access-list 100 remark [Deny NAT for VPN Clients]=-</strong><br />R1(config)# <strong>access-list 100 deny ip 192.168.0.0 0.0.0.255 host 192.168.0.20 </strong><br />R1(config)# <strong>access-list 100 deny ip 192.168.0.0 0.0.0.255 host 192.168.0.21</strong><br />R1(config)# <strong>access-list 100 deny ip 192.168.0.0 0.0.0.255 host 192.168.0.22</strong><br />R1(config)# <strong>access-list 100 deny ip 192.168.0.0 0.0.0.255 host 192.168.0.23</strong><br />R1(config)# <strong>access-list 100 deny ip 192.168.0.0 0.0.0.255 host 192.168.0.24</strong><br />R1(config)# <strong>access-list 100 deny ip 192.168.0.0 0.0.0.255 host 192.168.0.25</strong><br />R1(config)# <strong>access-list 100 remark</strong><br />R1(config)# <strong>access-list 100 remark -=[Internet NAT Service]=-</strong><br />R1(config)# <strong>access-list 100 permit ip 192.168.0.0 0.0.0.255 any</strong></p>
<p style="text-align: justify;">Note that for <strong>access-list 100</strong>, we could either '<strong>deny ip host 192.168.0.6</strong>' to our remote clients, or as shown, <strong>deny the 192.168.0.0/24 network</strong>. What's the difference? Practically none. Denying your whole network the NAT service toward your remote clients, will make it easier for any future additions.</p>
<p style="text-align: justify;">If for example there was a need to deny NAT for another 5 servers so they can reach remote VPN clients, then the access-list 100 would need to be edited to include these new hosts, where as now it's already taken care of. Remember, with <strong>access-list 100 </strong>we are simply controlling the NAT function , not the access the remote clients have (done with <strong>access-list 120</strong> in our example.</p>
<p style="text-align: justify;">At this point, the Cisco VPN configuration is complete and fully functional.</p>
<h2 style="text-align: justify;">VPN - Split Tunneling</h2>
<p style="text-align: justify;">We mentioned in the beginning of this article that we would cover split tunneling and full tunneling methods for our VPN clients. You'll be pleased to know that this functionality is solely determined by the group's access-lists, which our case is access-list 120.</p>
<p style="text-align: justify;">If we wanted to tunnel all traffic from the VPN client to our network, we would use the following <strong>access-list 120</strong> configuration:</p>
<p class="box-content">R1(config)# <strong>access-list 120 remark ==[Cisco VPN Users]==<br /></strong>R1(config)# <strong><strong>access-list 120 permit ip any host 192.168.0.20</strong><br /></strong> R1(config)# <strong><strong>access-list 120 permit ip any host 192.168.0.21</strong><br /></strong> R1(config)# <strong><strong>access-list 120 permit ip any host 192.168.0.22</strong><br /></strong> R1(config)# <strong><strong>access-list 120 permit ip any host 192.168.0.23</strong><br /></strong> R1(config)# <strong><strong>access-list 120 permit ip any host 192.168.0.24</strong><br /></strong> R1(config)# <strong><strong>access-list 120 permit ip any host 192.168.0.25</strong></strong></p>
<p style="text-align: justify;" align="left">In another example, if we wanted to provide our VPN clients access to networks 10.0.0.0/24, 10.10.10.0/24 &amp; 192.168.0.0/24, here's what the access-list 120 would look like (this scenario requires modification of NAT access-list 100 as well):</p>
<p class="box-content">R1(config)# <strong>access-list 120 remark ==[Cisco VPN Users]==<br /></strong>R1(config)# <strong><strong>access-list 120 permit ip 10.0.0.0 0.0.0.255 host 192.168.0.20</strong><br /></strong>R1(config)#<strong><strong> access-list 120 permit ip 10.0.0.0 0.0.0.255 host 192.168.0.21</strong><br /></strong>R1(config)# <strong><strong>access-list 120 permit ip 10.0.0.0 0.0.0.255 host 192.168.0.22</strong><br /></strong>R1(config)# <strong><strong>access-list 120 permit ip 10.0.0.0 0.0.0.255 host 192.168.0.23</strong><br /></strong>R1(config)#<strong> <strong>access-list 120 permit ip 10.0.0.0 0.0.0.255 host 192.168.0.24</strong><br /></strong>R1(config)# <strong><strong>access-list 120 permit ip 10.0.0.0 0.0.0.255 host 192.168.0.25<br /></strong></strong>R1(config)#<strong><strong><br /></strong></strong>R1(config)#<strong><strong> access-list 120 permit ip 10.10.10.0 0.0.0.255 host 192.168.0.20</strong><br /></strong>R1(config)# <strong><strong>access-list 120 permit ip 10.10.10.0 0.0.0.255 host 192.168.0.21</strong><br /></strong>R1(config)# <strong><strong>access-list 120 permit ip 10.10.10.0 0.0.0.255 host 192.168.0.22</strong><br /></strong>R1(config)# <strong><strong>access-list 120 permit ip 10.10.10.0 0.0.0.255 host 192.168.0.23</strong><br /></strong>R1(config)# <strong><strong>access-list 120 permit ip 10.10.10.0 0.0.0.255 host 192.168.0.24</strong><br /></strong>R1(config)#<strong> <strong>access-list 120 permit ip 10.10.10.0 0.0.0.255 host 192.168.0.25</strong><br /></strong>R1(config)#<strong><strong><strong><br /></strong></strong></strong>R1(config)#<strong><strong><strong><strong><br /></strong></strong></strong></strong>R1(config)# <strong><strong>access-list 120 permit ip 192.168.0.0 0.0.0.255 host 192.168.0.20</strong><br /></strong>R1(config)# <strong><strong>access-list 120 permit ip 192.168.0.0 0.0.0.255 host 192.168.0.21</strong><br /></strong>R1(config)# <strong><strong>access-list 120 permit ip 192.168.0.0 0.0.0.255 host 192.168.0.22</strong><br /></strong>R1(config)#<strong> <strong>access-list 120 permit ip 192.168.0.0 0.0.0.255 host 192.168.0.23</strong><br /></strong>R1(config)#<strong><strong> access-list 120 permit ip 192.168.0.0 0.0.0.255 host 192.168.0.24</strong><br /></strong>R1(config)# <strong><strong>access-list 120 permit ip 192.168.0.0 0.0.0.255 host 192.168.0.25</strong><br /></strong>R1(config)#<br />R1(config)#<strong><br /></strong>R1(config)# <strong><strong>no access-list 100</strong> <br /> </strong>R1(config)# <strong><strong>access-list 100 remark [Deny NAT for VPN Clients]=-</strong><br /> </strong>R1(config)#<strong><strong> access-list 100 deny ip 10.0.0.0 0.0.0.255 host 192.168.0.20 </strong> <br /> </strong>R1(config)#<strong> <strong>access-list 100 deny ip 10.0.0.0 0.0.0.255 host 192.168.0.21</strong><br /> </strong>R1(config)# <strong><strong>access-list 100 deny ip 10.0.0.0 0.0.0.255 host 192.168.0.22</strong><br /> </strong>R1(config)# <strong><strong>access-list 100 deny ip 10.0.0.0 0.0.0.255 host 192.168.0.23</strong><br /> </strong>R1(config)#<strong><strong> access-list 100 deny ip 10.0.0.0 0.0.0.255 host 192.168.0.24</strong><br /> </strong>R1(config)#<strong><strong> access-list 100 deny ip 10.0.0.0 0.0.0.255 host 192.168.0.25<br /></strong></strong>R1(config)#<br />R1(config)#<strong><strong><br /></strong></strong>R1(config)#<strong> <strong>access-list 100 deny ip 10.10.10.0 0.0.0.255 host 192.168.0.20 </strong> <br /></strong>R1(config)#<strong> <strong>access-list 100 deny ip 10.10.10.0 0.0.0.255 host 192.168.0.21</strong><br /></strong>R1(config)# <strong><strong>access-list 100 deny ip 10.10.10.0 0.0.0.255 host 192.168.0.22</strong><br /></strong>R1(config)#<strong> <strong>access-list 100 deny ip 10.10.10.0 0.0.0.255 host 192.168.0.23</strong><br /></strong>R1(config)# <strong><strong>access-list 100 deny ip 10.10.10.0 0.0.0.255 host 192.168.0.24</strong><br /></strong>R1(config)#<strong><strong> access-list 100 deny ip 10.10.10.0 0.0.0.255 host 192.168.0.25<br /></strong></strong>R1(config)#<br />R1(config)#<strong><strong><br /></strong></strong>R1(config)#<strong><strong><strong> access-list 100 deny ip 192.168.0.0 0.0.0.255 host 192.168.0.20 </strong> <br /></strong></strong>R1(config)# <strong><strong><strong>access-list 100 deny ip 192.168.0.0 0.0.0.255 host 192.168.0.21</strong><br /></strong></strong>R1(config)#<strong><strong> <strong>access-list 100 deny ip 192.168.0.0 0.0.0.255 host 192.168.0.22</strong><br /></strong></strong>R1(config)# <strong><strong><strong>access-list 100 deny ip 192.168.0.0 0.0.0.255 host 192.168.0.23</strong><br /></strong></strong>R1(config)# <strong><strong><strong>access-list 100 deny ip 192.168.0.0 0.0.0.255 host 192.168.0.24</strong><br /></strong></strong>R1(config)#<strong><strong> <strong>access-list 100 deny ip 192.168.0.0 0.0.0.255 host 192.168.0.25</strong><br /> </strong></strong>R1(config)# <strong><strong><strong>access-list 100 remark</strong><br /> </strong></strong>R1(config)#<strong><strong> <strong>access-list 100 remark -=[Internet NAT Service]=-</strong> <br /> </strong></strong>R1(config)# <strong><strong><strong>access-list 100 permit ip 10.0.0.0 0.0.0.255 any</strong><br /> </strong></strong>R1(config)# <strong><strong><strong>access-list 100 permit ip 10.10.10.0 0.0.0.255 any</strong><br /> </strong></strong>R1(config)# <strong><strong><strong>access-list 100 permit ip 192.168.0.0 0.0.0.255 any</strong><br /></strong><br /></strong></p>
<p style="text-align: justify;" align="left">&nbsp;When the VPN client connects, should we go to the connection's statistics, we would see the 3 networks under the secure routes, indicating all traffic toward these networks is tunnelled through the VPN:</p>
<p><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-vpnclient-4.gif" alt="tk-cisco-routers-vpnclient-4" width="556" height="339" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco VPN Client - Secured Routes" /></p>
<h2>&nbsp;Cisco VPN Configuration Tips</h2>
<p style="text-align: justify;" align="left">Engineers and administrators who need to restrict VPN user access to Layer-4 services e.g www, smtp, pop on a specific internal host (e.g web/email server) should read our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-vpn-client-acls.html" target="_blank" title="How to restrict Cisco IOS Router VPN Client to Layer 4 Services">How to Restrict Cisco IOS Router VPN Client to Layer-4 (TCP, UDP) Services - Applying IP, TCP &amp; UDP Access Lists</a> article.</p>
<p style="text-align: justify;" align="left">It is evident from our last example with the tunneling of our 3 networks, that should our VPN IP address pool be larger, for example 50 IP addresses, then we would have to enter 50 IPs x 3 Networks = 150 lines of code just for the access-list 120, plus another 150 lines for access-list 100 (no NAT)! That is quite a task indeed!</p>
<p style="text-align: justify;" align="left">To help cut down the configuration to just a couple of lines, this is the alternative code that would be used and have the same effect:</p>
<p style="text-align: justify;" align="center">Mark VPN Traffic to be tunnelled:</p>
<p class="box-content">R1(config)#<strong> access-list 120 remark ==[Cisco VPN Users]==<br /> </strong>R1(config)# <strong><strong>access-list 120 permit ip 10.0.0.0 0.0.0.255 192.168.0.0 0.0.0.255</strong><br /> </strong>R1(config)# <strong><strong>access-list 120 permit ip 10.10.10.0 0.0.0.255 192.168.0.0 0.0.0.255</strong><br /> </strong>R1(config)#<strong> <strong>access-list 120 permit ip 192.168.0.0 0.0.0.255 192.168.0.0 0.0.0.255</strong><br /></strong></p>
<p style="text-align: justify;" align="center">Do not NAT any traffic from our LANs toward VPN clients, but NAT everything else destined to the Internet:</p>
<p class="box-content">R1(config)# <strong>access-list 100 remark [Deny NAT for VPN Clients]=-<br /></strong>R1(config)#<strong><strong> access-list 100 deny ip 10.0.0.0 0.0.0.255 192.168.0.0 0.0.0.255 </strong><br /> </strong>R1(config)# <strong><strong>access-list 100 deny ip 10.10.10.0 0.0.0.255 192.168.0.0 0.0.0.255</strong><br /> </strong>R1(config)# <strong><strong><strong>access-list 100 deny ip 192.168.0.0 0.0.0.255 192.168.0.0 0.0.0.255 </strong><br /> </strong></strong>R1(config)# <strong><strong><strong>access-list 100 remark</strong><br /> </strong></strong>R1(config)# <strong><strong><strong>access-list 100 remark -=[Internet NAT Service]=-</strong> <br /> </strong></strong>R1(config)# <strong><strong><strong>access-list 100 permit ip 10.0.0.0 0.0.0.255 any</strong><br /> </strong></strong>R1(config)# <strong><strong><strong>access-list 100 permit ip 10.10.10.0 0.0.0.255 any</strong><br /> </strong></strong>R1(config)# <strong><strong><strong>access-list 100 permit ip 192.168.0.0 0.0.0.255 any</strong> </strong><br /></strong></p>
<p style="text-align: justify;" align="left">The <strong>access-list 120</strong> instructs the router to tunnel all traffic from the three networks to our VPN clients who's IP address will be in the 192.168.0.0/24 range!</p>
<p style="text-align: justify;" align="left">So, if the VPN client received from the VPN Pool, IP address 192.168.0.23 or 192.168.0.49, it really wouldn't matter as the '<strong>192.168.0.0 0.0.0.255</strong>' statement at the end of each access-list 120 covers both 192.168.0.23 &amp; 192.168.0.49. Even replacing the '<strong>192.168.0.0 0.0.0.255'</strong> with the '<strong>any</strong>' statement would have the same effect.</p>
<p style="text-align: justify;" align="left">For 'access-list 100' that controls the NAT service, we cannot use the '<strong>any</strong>' statement at the end of the DENY portion of the ACLs, because it would exclude NAT for all networks (public and private) therefore completely disabling NAT and as a result, Internet access.</p>
<p style="text-align: justify;" align="left">As a last note, if it was required the VPN clients to be provided with an IP address range different from that of the internal network (e.g 192.168.50.0/24), then the following minor changes to the configuration would have to be made:</p>
<div align="center">
<div class="box-content" align="left">R1(config)# <strong>crypto isakmp client configuration group CCLIENT-VPN</strong> <br /> R1(config-isakmp-group)# <strong>key firewall.cx</strong> <br /> R1(config-isakmp-group)# <strong>dns 10.0.0.10</strong><br /> R1(config-isakmp-group)# <strong>pool VPN-Pool</strong><br /> R1(config-isakmp-group)# <strong>acl 120</strong><br /> R1(config-isakmp-group)# <strong>max-users 5</strong><br /> R1(config-isakmp-group)# <strong>exit</strong><br />R1(config)#<br /> R1(config)# <strong>ip local pool VPN-Pool 192.168.50.10 192.168.50.25</strong><br />R1(config)#<br />R1(config)# <strong>interface Virtual-Template2 type tunnel</strong><br /> R1(config-if)# <strong>ip address 192.168.50.1 255.255.255.0</strong> <br /> R1(config-if)# <strong>tunnel mode ipsec ipv4</strong><br /> R1(config-if)# <strong>tunnel protection ipsec profile VPN-Profile-1</strong></div>
</div>
<div align="center">
<div align="left">
<p>&nbsp;Assuming 3 internal networks Mark VPN Traffic to be tunnelled:</p>
</div>
</div>
<p class="box-content">R1(config)# <strong>access-list 120 remark ==[Cisco VPN Users]==<br /></strong>R1(config)# <strong><strong>access-list 120 permit ip 10.0.0.0 0.0.0.255 192.168.50.0 0.0.0.255</strong><br /> </strong>R1(config)#<strong><strong> access-list 120 permit ip 10.10.10.0 0.0.0.255 192.168.50.0 0.0.0.255</strong><br /> </strong>R1(config)#<strong><strong> access-list 120 permit ip 192.168.0.0 0.0.0.255 192.168.50.0 0.0.0.255</strong></strong></p>
<p>Do not NAT any traffic from our LANs toward VPN clients, but NAT everything else destined to the Internet:</p>
<p class="box-content">R1(config)# <strong>access-list 100 remark [Deny NAT for VPN Clients]=-<br /></strong>R1(config)# <strong><strong>access-list 100 deny ip 10.0.0.0 0.0.0.255 </strong>192.168.50.0 0.0.0.255 <br /> </strong>R1(config)# <strong><strong>access-list 100 deny ip 10.10.10.0 0.0.0.255 </strong>192.168.50.0 0.0.0.255<br /> </strong>R1(config)# <strong><strong><strong>access-list 100 deny ip 192.168.0.0 0.0.0.255 </strong>192.168.50.0 0.0.0.255 <br /> </strong></strong>R1(config)# <strong><strong><strong>access-list 100 remark</strong><br /> </strong></strong>R1(config)# <strong><strong><strong>access-list 100 remark -=[Internet NAT Service]=-</strong> <br /> </strong></strong>R1(config)# <strong><strong><strong>access-list 100 permit ip 10.0.0.0 0.0.0.255 any</strong><br /> </strong></strong>R1(config)# <strong><strong><strong>access-list 100 permit ip 10.10.10.0 0.0.0.255 any</strong><br /> </strong></strong>R1(config)#<strong><strong><strong> access-list 100 permit ip 192.168.0.0 0.0.0.255 any</strong> </strong><br /></strong></p>
<h2>Summary</h2>
<p style="text-align: justify;" align="left">This article explained the fundamentals of <strong>Cisco's VPN client</strong> and features it offers to allow the <strong>remote and secure connection</strong> of users to their corporate networks from anywhere in the world.</p>
<p style="text-align: justify;" align="left">We examined the necessary steps and commands required on a <strong>Cisco router</strong> to <strong>setup and configure</strong> it to <strong>accept Cisco VPN client</strong> connections. Detailed explanation was provided for every configuration step, along with the necessary diagrams and screenshots.</p>
<p style="text-align: justify;" align="left"><strong>Split tunneling</strong> was explained and covered, showing how to configure the Cisco VPN clients access only to the required internal networks while maintaining access to the Internet.</p>
<p style="text-align: justify;" align="left">Lastly, a few tips were presented to help make the <strong>Cisco VPN configuration</strong> a lot easier for large and more complex networks.</p>
<p><br /><br /></p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Sat, 10 Sep 2011 07:35:13 +1000</pubDate>
		</item>
		<item>
			<title>Cisco Type 7 Password Decrypt / Decoder / Crack Tool</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-type7-password-crack.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-type7-password-crack.html</guid>
			<description><![CDATA[<p>The Firewall.cx <strong>Cisco Password Decoder Tool</strong> (see below) provides readers with the ability to <strong>decrypt</strong> '<strong>Type 7</strong>' cisco passwords.</p>
<p class="box-warning">For security reasons, we do not keep any history of decoded passwords.</p>
<p>Ensure you only enter the <strong>encrypted password</strong>. For example, for the code below, you would paste the <span style="background-color: #ffff00;">yellow highlighted</span> portion. <strong>Do not</strong> include anything before the encrypted password.</p>
<p><em>username fcx password 7 <span style="background-color: #ffff00;">0709285E4B1E18091B5C0814</span></em></p>
<p><form id="form1" name="form1" method="post" action="">
    <p>Encrypted Password:
      <input name="encrypted" maxlength="128" size="50" type="text" id="encrypted" />
&nbsp;&nbsp;&nbsp;<input name="dec" type="submit" id="dec" value="Submit" />
    <br/>      
    <br/>
    Decrypted Password:
    <input name="decrypted" type="text" size="50" id="decrypted" value="
"/>
</p></form>
<br>
</p>
<p style="text-align: justify;" onclick="javascript:_gaq.push(['_trackEvent','Cisco-Type7','click','https://clixtrac.com/goto/?235210]);">When ready, <strong>click</strong> on the&nbsp;<strong>Submit</strong> button. The system will then process and reveal the text-based password. <strong>Ensure there are no space characters in front of your encrypted password.<br /></strong></p>
<h2>More Information On Cisco Passwords and Which can be Decoded</h2>
<p style="text-align: justify;">Back in late 1995, a non-Cisco source had released a program that was able to decrypt user passwords (and other type of passwords) in Cisco configuration files.</p>
<p style="text-align: justify;">This new program was a major headache for Cisco since most users were relying on Cisco's equipment for their repulation of strong encryption and security capabilities. What users were not aware was that there are two different type of encryption mechanisms used by Cisco's IOS, one which was reversable (Type 7 Passwords) and one which is not (Type 5).</p>
<p style="text-align: justify;">Even until today, administrators and users still make use of the weaker <strong>Type 7 passwords</strong>, mainly because they aren't aware that these passwords can be decrypted.</p>
<h2 style="text-align: justify;">Knowing what Can and Cannot be Decrypted</h2>
<p style="text-align: justify;">It is important to understand that only the following type of passwords <strong>are able to be decrypted</strong>. Thefollowing examples show which common areas Type 7 passwords are used in Cisco equipment:</p>
<h3 style="text-align: justify;"><span style="text-decoration: underline;"><strong>User Passwords</strong></span></h3>
<p style="text-align: justify;">Used to create users with different <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-modes.html" target="_blank" title="privilege levels on Cisco devices">privilege levels on Cisco devices</a>.</p>
<div class="box-content"># <strong>username chris privilege 15 password 7 02000D490E110E2D40000A01</strong></div>
<h3 style="text-align: justify;">&nbsp;<span style="text-decoration: underline;"><strong>Enable Password</strong></span></h3>
<p style="text-align: justify;">Used to gain <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-pri-mode.html" target="_blank" title="Cisco Privileged mode">elevated access</a> on the Cisco device.</p>
<div class="box-content"># <strong>enable password 7 01150F165E1C07032D</strong></div>
<h3 style="text-align: justify;">&nbsp;<span style="text-decoration: underline;"><strong>Access Point SSID Keys</strong></span></h3>
<p style="text-align: justify;">Used to <a href="https://www.firewall.cx/cisco/cisco-wireless/cisco-wiress-air1242-mssid.html" target="_blank" title="Configure SSID Key on Cisco Access Point">configure the SSID key on a Cisco wireless access point</a>:</p>
<div class="box-content"><strong>dot11 ssid private</strong><br />&nbsp;&nbsp; vlan 1<br />&nbsp;&nbsp; authentication open <br />&nbsp;&nbsp; authentication key-management wpa<br />&nbsp;&nbsp; guest-mode<br />&nbsp;&nbsp; mbssid guest-mode<br />&nbsp;&nbsp; infrastructure-ssid optional<br />&nbsp;&nbsp; <strong>wpa-psk ascii 7 01150F165E1C07032D</strong></div>
<p style="text-align: justify;">If <em><strong>wpa-psk ascii 0</strong></em> is used then the ascii text that follows is clear text and its not encrypted.</p>
<h2 style="text-align: justify;">Encryption Methods That Cannot be Decrypted</h2>
<p style="text-align: justify;">As <span class="st">opposed </span>to <strong>Type 7 Passwords</strong> which can easily be decrypted,<strong> Secret 5 passwords</strong> <strong>cannot be decrypted</strong> as the password has ben hashed with <strong>MD5</strong>. This is also the recommened way of creating and storing passwords on your Cisco devices.</p>
<p style="text-align: justify;">Following are a number of examples where S<strong>ecret 5</strong> passwords can and should be used:</p>
<h5 style="text-align: justify;">User Passwords</h5>
<div class="box-content" style="text-align: justify;">#<strong> username chris privilege 15 secret 5 $1$KNaN$SCe/xMbtBEe6ch5d2bq5J.</strong></div>
<h5 style="text-align: justify;">Enable Password</h5>
<div class="box-content" style="text-align: justify;"># <strong>enable secret 5 $1$2UjJ$cDZ05dfEGA7mHfE4RSbWiQ.</strong></div>
<p style="text-align: justify;">&nbsp;</p>
<p class="box-warning" style="text-align: justify;">Unfortunately&nbsp;<strong>Access Point SSID Keys do not support Type 5 passwords</strong>. This means that any passwords configured into the access point should be stored in a safe place.</p>
<p>&nbsp;We trust the information was valuable and hope users will stop using Type 7 Passwords in mission critical equipment.</p>
<p><br /><br /></p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Tue, 23 Aug 2011 05:29:40 +1000</pubDate>
		</item>
		<item>
			<title>Disabling Cisco Router Password Recovery Service</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-disable-password-recovery.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-disable-password-recovery.html</guid>
			<description><![CDATA[<p style="text-align: justify;" align="left">Most Cisco engineers are aware of the classic <strong>Password-Recovery</strong> service <strong>Cisco</strong> equipment have. If the device's credentials are lost, then performing the <strong>Password-Recovery procedure</strong> will effectively provide full access to the <strong>device's configuration</strong>.</p>
<p style="text-align: justify;" align="left">By <strong>disabling</strong> the <strong>Password-Recovery service</strong> you prevent anyone with physical access to the device (e.g console port) from performing the Password-Recovery process and obtaining access to its configuration.</p>
<p style="text-align: justify;" align="left">Disabling the Password-Recovery service requires extreme attention because should you loose your password, there is no turning back. It is highly advisable to always keep a backup of your configurations in a secure area - just in case.</p>
<p class="box-info"><strong>Note:</strong> To decrypt/crack Cisco Passwords, visit our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-type7-password-crack.html" target="_blank" title="Cisco Password Crack">Cisco Password Crack</a> page.</p>
<p style="text-align: justify;" align="left">You will also notice that the '<strong>no service password-encryption</strong>' command will not show up when hitting '?' (for help) as this command is undocumented in the IOS help.</p>
<p align="left">Following are the steps to <strong>disable the Password-Recovery service</strong> and the message confirmation shown when the device boots up after the Password-Recovery service is disabled:</p>
<div align="center">
<div align="left">
<p class="box-content">R1(config)# <strong>no service password-recovery</strong><br /><br />WARNING:<br />Executing this command will disable password recovery mechanism.Do not execute this command without another plan forpassword recovery.<br />Are you sure you want to continue? [yes/no]: <strong>yes</strong><br /><br />R1(config)# <strong>exit</strong><br />R1# <strong>reload</strong><br />Proceed with reload? <strong>[confirm]</strong></p>
<p style="text-align: justify;">After the reload command is confirmed, the router will proceed with the reload process, which is basically a reboot. As the reload process is performed, the router will verify with a message that the password recovery functionality is disabled:</p>
<p class="box-content">System Bootstrap, Version 12.4(13r)T, RELEASE SOFTWARE (fc1)<br />TAC Support: http://www.cisco.com/tac<br />Copyright (c) 1986-2009 by Cisco Systems, Inc.<br />c2811 processor with 240640 Kbytes of main memory <br /><br />Main memory is configured to 64 bit mode with parity disabled Readonly ROMMON initialized <strong>PASSWORD RECOVERY FUNCTIONALITY IS DISABLED</strong></p>
</div>
</div>
<h2 class="Article-Summary" align="left">Summary</h2>
<p align="left">This article explains the <strong>password-recovery service</strong> and <strong>how to disable</strong> it on a <strong>Cisco device</strong>.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Sat, 20 Aug 2011 06:57:38 +1000</pubDate>
		</item>
		<item>
			<title>How To Configure Router On A Stick - 802.1q Trunk To Cisco Router</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-8021q-router-stick.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-8021q-router-stick.html</guid>
			<description><![CDATA[<p style="text-align: justify;" align="left"><strong>Router-on-a-stick</strong> is a term frequently used to describe a setup up that consists of a router and switch connected using one Ethernet link configured as an 802.1q trunk link. In this setup, the switch is configured with multiple VLANs and the router performs all routing between the different networks/VLANs.</p>
<p style="text-align: justify;" align="left">While some believe the term 'router-on-a-stick' sounds a bit silly, it's a very popular term and commonly used in networks where no layer-3 switch exists. A good example of a router-on-a-stick configuration (which also happens to be the one we are going to cover) would be a Call Manager Express installation where there is the need to split the VoIP network, consisting of your Cisco IP Phone devices, from your data network where all workstations and servers are located.</p>
<h2 style="text-align: justify;" align="left">Router on A Stick Example</h2>
<p style="text-align: justify;" align="left">Our example is based on a scenario you are most likely to come across when dealing with VoIP networks. Because VoIP implementations require you to separate the data and voice network in order to route packets between them, you need either a layer 3 switch or a router. This configuration ensures availability and stability of the VoIP service, especially during peak traffic hours in your network.</p>
<p style="text-align: justify;" align="left">Packets running between VLANs are routed via the <a href="https://www.firewall.cx/cisco/cisco-callmanager-ccme.html" target="_blank" title="CCME router">CCME router</a> connected to the switch using one physical port configured as a trunk port on both ends (switch and router). If you would like to read more on VLAN routing and VLAN theory, you can visit our popular <a href="https://www.firewall.cx/networking/vlan-networks.html" target="_blank" title="VLAN Network Section">VLAN Section</a> that covers all related topics and terms found in this article.</p>
<p style="text-align: justify;" align="left">This example will show you how to configure a Cisco router and switch in order to create a trunk link between them and have the router route packets between your VLANs.</p>
<p style="text-align: justify;" align="left">This diagram shows an illustration of the above configuration:</p>
<h6 align="center"><img src="https://www.firewall.cx//images/stories/tk-cisco-routers-on-stick-1.jpg" alt="tk-cisco-routers-on-stick-1" width="561" height="281" style="display: block; margin-left: auto; margin-right: auto;" /></h6>
<h2>STEP 1 - Switch Configuration</h2>
<p style="text-align: justify;" align="left">First step is to create the required two VLANs on our Cisco switch and configure them with an IP address. Since all Cisco swiches contain VLAN1 (Default VLAN), we only need to create VLAN2:</p>
<div align="center">
<div class="box-content" align="left">SW1# <strong>configure terminal</strong><br />SW1(config)# <strong>vlan2</strong><br />SW1(config-vlan)# <strong>name voice</strong><br />SW1(config-vlan)# <strong>exit</strong><br />SW1(config)# <strong>interface vlan1</strong><br /> SW1(config-if)# <strong>description Data Vlan</strong><br /> SW1(config-if)# <strong>ip address 192.168.0.2 255.255.255.0</strong><br /> SW1(config-if)# <strong>exit</strong><br /> SW1(config)# <strong>interface vlan2</strong><br /> SW1(config-if)# <strong>description Voice Vlan</strong><br /> SW1(config-if)# <strong>ip address 192.168.2.2 255.255.255.0</strong><br /> SW1(config-if)# <strong>exit</strong></div>
</div>
<p style="text-align: justify;" align="left">Next, we need to create the trunk port that will connect to the router. For this purpose, we've selected port GigabitEthernet 0/1 (port 1):</p>
<div align="center">
<div class="box-content" align="left">SW1# <strong>configure terminal</strong><br /> SW1(config)# <strong>interface gigabitethernet 0/1</strong><br /> SW1(config-if)# <strong>description Trunk-to-Router</strong><br /> SW1(config-if)# <strong>switchport trunk encapsulation dot1q</strong><br /> SW1(config-if)# <strong>switchport mode trunk</strong><br /> SW1(config-if)# <strong>spanning-tree portfast trunk</strong></div>
</div>
<p style="text-align: justify;" align="left">To eliminate confusion, these commands are instructing the switch thus:</p>
<p style="text-align: justify;" align="left">1) Define the trunk to use the 802.1q protocol</p>
<p style="text-align: justify;" align="left">2) Set the specific port to <strong>trunk mode</strong></p>
<p style="text-align: justify;" align="left">3) Enable the <strong>spanning-tree</strong> <strong>portfast trunk</strong> function to ensure the port will forward packets immediately when connected to a device e.g router. Note: The <strong>spanning-tree</strong> <strong>portfast trunk </strong>command should never be used on ports that connect to another switch, to ensure network loops are avoided.</p>
<p style="text-align: justify;" align="left">The above steps complete the switch-side configuration.</p>
<h2>STEP 2 - Router Configuration</h2>
<p style="text-align: justify;" align="left">We need to follow a similar configuration for our router to enable communication with our switch and allow all VLAN traffic to pass through and route as necessary.</p>
<p style="text-align: justify;" align="left">Creating a trunk link on a router port is not very different from the process used above - while we create the trunk port on one physical interface, we are required to create a sub-interface for each VLAN.</p>
<p style="text-align: justify;" align="left">Again, this is a fairly simple process and easy to understand once you've done it at least one time.</p>
<div align="center">
<div class="box-content" align="left">R1# <strong>configure terminal</strong><br /> R1(config)# <strong>interface gigabitethernet0/1</strong><br /> R1(config-if)# <strong>no ip address</strong><br /> R1(config-if)# <strong>duplex auto</strong><br /> R1(config-if)# <strong>speed auto</strong><br /> R1(config-if)# <strong>interface gigabitethernet0/1.1</strong><br /> R1(config-subif)# <strong>description Data VLAN</strong><br /> R1(config-subif)# <strong>encapsulation dot1q 1 native</strong><br /> R1(config-subif)# <strong>ip address 192.168.0.1 255.255.255.0</strong><br /> R1(config-subif)# <strong>ip nat inside</strong><br /> R1(config-subif)# <strong>ip virtual-reassembly</strong><br /> R1(config-subif)# <strong>interface gigabitethernet0/1.2</strong><br /> R1(config-subif)# <strong>description Voice VLAN</strong><br /> R1(config-subif)# <strong>encapsulation dot1q 2</strong><br /> R1(config-subif)# <strong>ip address 192.168.2.1 255.255.255.0</strong><br /> R1(config-subif)#<strong> ip nat inside</strong><br /> R1(config-subif)# <strong>ip virtual-reassembly</strong></div>
</div>
<p style="text-align: justify;" align="left">In order to form a trunk link with our switch it is necessary to create one sub-interface for every VLAN configured on our switch. After creating the sub-interface, we assign an IP address to it and set the encapsulation type to 802.1q along with the VLAN to which the subinterface belongs.</p>
<p style="text-align: justify;" align="left">For example, the <strong>encapsulation dot1q 2</strong> command defines 802.1q encapsulation and sets the subinterface to VLAN 2. The <strong>native</strong> parameter we used for subinterface <strong>gigabitethernet0/1.1</strong> tells the router that the native vlan is VLAN 1. This is a default parameter on every Cisco switch and therefore must be matched by the router as well.</p>
<p style="text-align: justify;" align="left">The <strong>ip virtual-reassembly</strong> command is usually automatically thrown in by the Cisco IOS (we've included it to show you the command) and is a security measure to avoid buffer overflow and control memory usage during an attack of fragmented packets which can cough up your router's resources. This command is added automatically when you enable the NAT service using the <strong>ip nat inside</strong> command. More information on NAT configuration can be obtained by our Cisco Router NAT Configuration articles.</p>
<h4>Summary</h4>
<p style="text-align: justify;" align="left">This article explained the use of <strong>router-on-a-stick configurations</strong> and showed how you can configure an 802.1q trunk link between a Cisco switch and router. Router-on-a-stick configurations are extremely useful in environments where no layer-3 switch exists, providing Inter-VLAN routing services with a single router and one interface - cutting down seriously the costs for internal routing.</p>
<p style="text-align: justify;" align="left">It is always preferable to use a router with a Gigabit Ethernet interface to ensure you've got plenty of bandwidth to handle large amounts of data transfers if needed.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Sat, 20 Aug 2011 06:30:23 +1000</pubDate>
		</item>
		<item>
			<title>Troubleshooting PPP Internet Connection On A Cisco Router</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-ppp.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-ppp.html</guid>
			<description><![CDATA[<p style="text-align: justify;" align="left">The <strong>Point-to-Point Protocol</strong> is one of the most popular protocols around used by engineers, ISPs and companies around the globe for authentication of remote users &amp; router equipment.</p>
<p style="text-align: justify;" align="left">The most common application of PPP is your ISP dialup account, whether it be ADSL, ISDN or even the good old analog modems - PPP is found in all of these connectivity methods.</p>
<p style="text-align: justify;" align="left"><strong>PPP</strong> is a <strong>non-proprietary protocol</strong>, which also explains its wide adoption by vendors around the world.</p>
<h2 style="text-align: justify;" align="left">Example Scenario</h2>
<p style="text-align: justify;" align="left">In this example, we'll be dealing with the PPP connection to our ISP. We are using a Cisco 2811 ISR router equipped with an HWIC-ADSLI card, which means we are connecting via ADSL and therefore using a virtual Dialer interface configured with our ISP account.</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-ppp-trbsht-1.jpg" alt="tk-cisco-routers-ppp-trbsht-1" width="600" height="212" style="display: block; margin-left: auto; margin-right: auto;" title="Troubleshooting Cisco Router PPP Negotiation" /></p>
<p style="text-align: justify;" align="left">We will examine how to verify the connection to our ISP account and explain the steps that should be followed in case we are unable to connect. There are many reasons why a router might not be able to log in to the ISP account so we will cover the most common problems, which include: Incorrect username, incorrect password, invalid IP address &amp; invalid authentication configuration.</p>
<p style="text-align: justify;" align="left">Troubleshooting these possibilities will provide you with enough experience and information to help you deal with other similar problems that can occur during the ppp negotiation process.</p>
<p style="text-align: justify;" align="left">Remember, the goal here is to cover these problematic cases, but most importantly - gear you up with enough experience and troubleshooting skills to help you tackle similar situations.</p>
<h2>PPP Authentication - Incorrect Username or Password</h2>
<p style="text-align: justify;" align="left">This is a typical errors. You've mismatched the <strong>username</strong> and <strong>password</strong>, therefore unable to connect to the ISP account.</p>
<p style="text-align: justify;" align="left">Under normal operation, you wouldn't be able to detect that your router is unable to connect to your ISP account. The results (e.g no Internet connection) will surely start making you wonder and start searching until you find out what's happening.</p>
<p style="text-align: justify;" align="left">A quick check on the Dialer0 interface will confirm that there is a problem, as you notice there is no IP address assigned to it:</p>
<div align="center">
<div class="box-content" align="left">R1# <strong>show ip interface brief</strong><br /> Interface&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IP-Address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OK?&nbsp;&nbsp;&nbsp; Method&nbsp;&nbsp; Status&nbsp;&nbsp;&nbsp; Protocol<br /> FastEthernet0/0&nbsp;&nbsp;&nbsp; 10.0.0.240&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YES&nbsp;&nbsp;&nbsp; NVRAM&nbsp;&nbsp;&nbsp;&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; up <br /> Service-Engine0/0&nbsp; 192.168.1.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YES&nbsp;&nbsp;&nbsp; TFTP&nbsp;&nbsp;&nbsp; &nbsp; up&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; up <br /> FastEthernet0/1&nbsp;&nbsp;&nbsp; 192.168.1.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YES&nbsp;&nbsp;&nbsp; NVRAM&nbsp;&nbsp;&nbsp;&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; up <br /> Virtual-Access1&nbsp;&nbsp;&nbsp; unassigned&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YES&nbsp;&nbsp;&nbsp; unset&nbsp;&nbsp;&nbsp;&nbsp; up&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; up <br /> Virtual-Template1&nbsp; 10.0.0.240&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YES &nbsp;&nbsp; TFTP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; down&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; down <br /> Virtual-Access2&nbsp;&nbsp;&nbsp; unassigned&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YES&nbsp;&nbsp;&nbsp; unset&nbsp;&nbsp;&nbsp;&nbsp; down&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; down <br /> Virtual-Template2&nbsp; 10.0.0.240&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YES&nbsp;&nbsp;&nbsp; TFTP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; down&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; down <br /> Virtual-Access3&nbsp;&nbsp;&nbsp; unassigned&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YES&nbsp;&nbsp;&nbsp; unset&nbsp;&nbsp;&nbsp;&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; up <br /> Dialer0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unassigned&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YES&nbsp;&nbsp;&nbsp; IPCP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; up <br /> R1#</div>
</div>
<p style="text-align: justify;" align="left">To check whether there is an issue with the ISP account and get a deeper insight to the source of the problem, issue the following <strong>debug command</strong>:</p>
<div class="box-content" align="left">*Apr 25 20:03:23.731: Vi3 CHAP: O RESPONSE id 188 len 39 from "firewallcx@otenet.gr"</div>
<p style="text-align: justify;" align="left">This debugging provides quite a bit of information during the authentication process and we've only included a portion of it. We don't want to analyse everything here, because later on we will deal with all this information without choice :)</p>
<p style="text-align: justify;" align="left">In our lab, we've deliberately set an incorrect password to force these errors, and unfortunately the ISP response is not being specific on where the problem is. The response 'user unknown' tells us that either our username, <strong>firewallcx@myisp.com</strong>, or password is incorrect.</p>
<p style="text-align: justify;" align="left">At this point, we at least know one of the two is causing the problem.</p>
<p style="text-align: justify;" align="left">You can check your username by viewing the dialer configuration and try re-inserting your password, just in case you mistyped it the first time. If this gives the same result, then obviously the account credentials you've got are incorrect.</p>
<p style="text-align: justify;" align="left">Thankfully most ISPs have a customer web-portal that allows them to log into their account and change usernames and passwords. If you've got this capability, use it. If not, a quick call to your ISP will prove most useful.</p>
<p style="text-align: justify;" align="left">Lastly, if you would like to check you have inserted the correct account password, under your dialer interface, copy the<strong> type 7 password value</strong> from the dialer configuration:</p>
<p style="text-align: justify;" align="left">Next, visit our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-type7-password-crack.html" target="_blank" title="Cisco Type 7 Password Decrypt / Decoder / Cracker Tool">Cisco Type 7 Password Decrypt / Decoder / Cracker Tool</a> and insert the hashed password so it can reveal it:</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-ppp-trbsht-2.jpg" alt="tk-cisco-routers-ppp-trbsht-2" width="509" height="72" /></p>
<h2>Incorrect Configured IP Address on Dialer Interface</h2>
<p style="text-align: justify;" align="left">In many cases, engineers might select to statically configure the static IP address, purchased from the ISP, directly on the dialer interface. If all settings are correct and the ISP has provided the correct IP address you should expect no surprises.</p>
<p style="text-align: justify;" align="left">It happens many times though, that the incorrect IP address has been provided and when the router authenticates to the ISP it is unable to route any packets towards the Internet.</p>
<p style="text-align: justify;" align="left">The short and effective way around this problem is to never assign any IP address to the Dialer interface unless it's required. Services such as Crypto VPN tunnels to remote offices, various Internet services served to the Public (mail, web etc.) do not usually require you to configure the statically assigned IP address directly to the Dialer interface.</p>
<p style="text-align: justify;" align="left">Allowing the ISP take care of the IP address assignment to your Dialer interface will in many cases help you avoid these problems completely.</p>
<p style="text-align: justify;" align="left">For the purpose of our example, assuming we've got an incorrect IP address configured, following is the repeated behaviour we would encounter:</p>
<div align="center">
<div class="box-content" align="left">R1# <strong>debug ppp negotiation</strong><br /> PPP protocol negotiation debugging is on<br /><br /> *Apr 26 00:26:53.815: %LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access3, changed state to up<br /> *Apr 26 00:26:54.525: Di0 IPCP: Install route to 80.106.108.2<br /> *Apr 26 00:26:54.529: Di0 IPCP: Remove route to 80.106.108.2<br /> *Apr 26 00:26:54.529: Di0 IPCP: Remove default route thru 80.106.108.2<br /> *Apr 26 00:27:34.624: Di0 IPCP: Install route to 80.106.108.2<br /> *Apr 26 00:27:34.629: Di0 IPCP: Remove route to 80.106.108.2<br /> *Apr 26 00:27:34.629: Di0 IPCP: Remove default route thru 80.106.108.2<br /> *Apr 26 00:28:00.579: %LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access3, changed state to down</div>
</div>
<p style="text-align: justify;" align="left">The router will continuously install and remove the default route provided by the ISP. The Virtual-Access interface is then shutdown and brought back up. This behavior will continue non-stop until you either shutdown the Dialer interface or correct the problem.</p>
<p style="text-align: justify;" align="left">Changing our tactic, we decide to correct this problem and let the Dialer interface negotiate the IP address from our ISP:</p>
<div align="center">
<div class="box-content" align="left">R1# <strong>config terminal</strong><br /> Enter configuration commands, one per line. End with CNTL/Z.<br /> R1(config)# <strong>interface dialer 0</strong><br /> R1(config-if)# <strong>ip address negotiated</strong> <br /> R1(config-if)# <strong>end</strong><br /> R1#</div>
</div>
<p style="text-align: justify;" align="left">On the next cycle of negotiation, the Dialer interface is assigned its IP address:</p>
<div align="center">
<div class="box-content" align="left">*Apr 26 00:34:48.667: %LINK-3-UPDOWN: Interface Virtual-Access3, changed state to up<br /> *Apr 26 00:34:48.667: %DIALER-6-BIND: Interface Vi3 bound to profile Di0<br /> *Apr 26 00:34:50.655: %LINK-3-UPDOWN: Interface Dialer0, changed state to up<br /> *Apr 26 00:34:52.595: Di0 IPCP: Install negotiated IP interface address <strong>94.70.33.251</strong><br /> *Apr 26 00:34:52.599: Di0 IPCP: Install route to <strong>80.106.108.2</strong><br /> *Apr 26 00:34:53.217: %LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access3, changed state to up</div>
</div>
<h2>Invalid Authentication Configuration</h2>
<p style="text-align: justify;" align="left">Another common configuration problem is the ppp authentication direction, where your router should only authenticate to your ISP and not expect the ISP to authenticate to it as well.</p>
<p style="text-align: justify;" align="left">The typical ppp authentication command under the dialer interface provides a number of supported authentication protocols (pap, chap, ms-chap, ms-chap-v2) but also allows you to control which way the authentication occurs:</p>
<div align="center">
<div class="box-content" align="left">R1(config-if)# <strong>ppp authentication chap ?</strong><br />....WORD ..... ..Use an authentication list with this name<br />....callback .....Authenticate remote on callback only<br />....callin .........Authenticate remote on incoming call only<br />....callout .......Authenticate remote on outgoing call only<br />....default .......Use the default authentication list<br />....eap........... Extensible Authentication Protocol (EAP)<br />....ms-chap ....Microsoft Challenge Handshake Authentication Protocol <br />....ms-chap-v2 Microsoft CHAP Version 2 (MS-CHAP-V2)<br />....one-time ....Allow use of username*OTP for one-time passwords<br />....optional .....Allow peer to refuse to authenticate<br />....pap ...........Password Authentication Protocol (PAP)<br />....&lt;cr&gt;</div>
</div>
<p style="text-align: justify;" align="left">Notice the 'callin' option in the above output. This option is almost always used and effectively tells the router not to expect the peer router (ISP) to authenticate back (to local router).</p>
<p style="text-align: justify;" align="left">Here is the debugging output when we configure the ppp authentication method without the 'callin' parameter:</p>
<div align="center">
<div class="box-content" align="left">*Apr 26 01:16:07.647: Vi3 PPP: Outbound ip packet dropped<br /> *Apr 26 01:16:07.651: Vi3 PPP: Outbound ip packet dropped<br /> *Apr 26 01:16:07.651: Vi3 LCP: I CONFREJ [ACKsent] id 204 len 9<br /> *Apr 26 01:16:07.651: Vi3 LCP: AuthProto CHAP (0x0305C22305)<br /> *Apr 26 01:16:07.651: Vi3 LCP: O CONFREQ [ACKsent] id 205 len 15<br /> *Apr 26 01:16:07.651: Vi3 LCP: AuthProto CHAP (0x0305C22305)<br /> *Apr 26 01:16:07.651: Vi3 LCP: MagicNumber 0x1E7F0974 (0x05061E7F0974)<br /> *Apr 26 01:16:08.347: Vi3 LCP: I CONFREJ [ACKsent] id 205 len 9<br /> *Apr 26 01:16:08.347: Vi3 LCP: AuthProto CHAP (0x0305C22305)<br />*Apr 26 01:16:08.347: Vi3 LCP: <strong>Failed to negotiate with peer</strong><br /> *Apr 26 01:16:08.347: Vi3 PPP: Sending Acct Event[Down] id[2D]<br /> *Apr 26 01:16:08.347: Vi3 LCP: O TERMREQ [ACKsent] id 206 len 4<br /> *Apr 26 01:16:08.347: Vi3 PPP: Phase is TERMINATING<br /> *Apr 26 01:16:08.387: Vi3 LCP: I TERMACK [TERMsent] id 206 len 4<br /> *Apr 26 01:16:08.387: Vi3 LCP: State is Closed<br /> *Apr 26 01:16:08.387: Vi3 PPP: Phase is DOWN<br /> *Apr 26 01:16:08.387: Vi3 PPP: Phase is ESTABLISHING, Passive Open<br /> *Apr 26 01:16:08.387: Vi3 LCP: State is Listen<br /> *Apr 26 01:16:08.387: Vi3 PPP: Outbound ip packet dropped<br /> *Apr 26 01:16:08.391: Vi3 PPP: Outbound ip packet dropped<br /> *Apr 26 01:16:08.391: Vi3 PPP: Outbound ip packet dropped<br /> *Apr 26 01:16:09.111: Vi3 PPP: Outbound cdp packet dropped<br /> *Apr 26 01:16:10.547: Vi3 LCP: Timeout: State Listen<br /> *Apr 26 01:16:10.547: Vi3 PPP: Authorization NOT required<br /> *Apr 26 01:16:10.547: Vi3 LCP: O CONFREQ [Listen] id 207 len 15<br /> *Apr 26 01:16:10.547: Vi3 LCP: AuthProto CHAP (0x0305C22305)</div>
</div>
<p style="text-align: justify;" align="left">So always ensure that you add the '<strong>callin</strong>' parameter at the end of the '<strong>ppp authentication</strong>' command.</p>
<p style="text-align: justify;" align="left">Further analysing the authentication protocol, generally all ISPs support CHAP primarily and PAP as a secondary option. However, due to the large amount of security breaches on accounts, PAP support is being dropped as it sends all account details in clear text, without any type of encryption.</p>
<p style="text-align: justify;" align="left">CHAP authentication on the other hand sends a hashed result of the stored password. The router sends its hashed result to the ISP so it may compare it. If the calculated hash is identical to the one received by the ISP router, that means the password stored by each matches the other.</p>
<p style="text-align: justify;" align="left">Following is the recommended ppp authentication options for most ISPs:</p>
<div class="box-content" style="text-align: justify;" align="left"><strong>ppp chap hostname firewallcx@myisp.com password</strong></div>
<p style="text-align: justify;" align="left">Of course, if your ISP supports <strong>CHAP</strong>, you can safely remove all references to the PAP authentication method.</p>
<h2>Summary</h2>
<p style="text-align: justify;" align="left">This article showed you <strong>how to configure and troubleshoot your PPP connection on your Cisco router</strong>. We covered the most common problems found in PPP connections, how to identify them and successfully resolve them and also provided general information about PPP which can be used to troubleshoot other similar scenarios.</p>
<p style="text-align: justify;" align="left">If you have found the article useful, we would really appreciate you sharing it with others by using the provided services on the top left corner of this article. Sharing our articles takes only a minute of your time and helps Firewall.cx reach more people through such services.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Sat, 20 Aug 2011 06:19:28 +1000</pubDate>
		</item>
		<item>
			<title>Configuring NTP on a Cisco Router (NTP Client and NTP Server)</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-ntp.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-ntp.html</guid>
			<description><![CDATA[<p style="text-align: justify;" align="left"><strong>Network Time Protocol</strong> (<strong>NTP</strong>) is a vital service not only for Cisco devices but almost every network device. Any computer-based device needs to be accurately synchronised with a reliable time source such as an NTP server.</p>
<p style="text-align: justify;">This article will show you <strong>how to configure your Cisco router</strong> to <strong>synchronise</strong> its <strong>software clock</strong> from <strong>external sources</strong> such as <strong>NTP servers</strong>. We will also show you <strong>how to configure your router to act as an NTP server</strong> for your <strong>internal network devices</strong>, ensuring all devices are <strong>synchronised</strong>.</p>
<p style="text-align: justify;" align="left">When it comes to Cisco routers, obtaining the correct time is extremely important because a variety of services depend on it. The logging service shows each log entry with the date and time - very critical if you're trying to track a specific incident or troubleshoot a problem.</p>
<p style="text-align: justify;" align="left">Generally, most Cisco routers have two clocks (most people are unaware of this!): a battery-powered hardware clock, referenced as the 'calendar' in the IOS CLI, and a software clock, referenced as the 'clock' in the IOS CLI.</p>
<p style="text-align: justify;" align="left">The software clock is the primary source for time data and runs from the moment the system is up and running. The software clock can be updated from a number of sources:</p>
<div style="text-align: justify;" align="left">
<ul>
<li>NTP Server</li>
<li>SNTP (Simple NTP)</li>
<li>VINES Time Source</li>
<li>Hardware clock (built into the router)</li>
</ul>
</div>
<p style="text-align: justify;" align="left">Because the software clock can be configured to be updated from an external source, it is considered more accurate in comparison to the hardware clock. The hardware clock can be configured to be updated from the software clock.</p>
<h2>Example Scenario</h2>
<p style="text-align: justify;" align="left">First example involves setting up the router to request NTP updates and synchronise itself from a public NTP server. This will ensure the router's time is constantly synchronised, however it will not act as an NTP server for internal hosts:</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-ntp-1.jpg" alt="tk-cisco-routers-ntp-1" width="612" height="240" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco Router NTP Configuration" /></p>
<div style="text-align: justify;" align="left">We'll need to configure the router to resolve FQDN using our ISP's name server:</div>
<div align="center">
<div align="left">
<p><span class="box-content">R1(config)# <strong>ip nameserver 195.170.0.1</strong></span></p>
</div>
</div>
<div align="left">Now we instruct our Cisco router to obtain its updates from the public NTP server.</div>
<div align="center">
<div align="left">
<p><span class="box-content">R1(config)# <strong>ntp server 1.gr.pool.ntp.org</strong></span></p>
</div>
</div>
<div style="text-align: justify;" align="left">As soon we issue the command, the router will resolve the FQDN into an ip address and begin its synchronisation. Right after issuing the command, we can verify the router is correctly configured and awaiting synchronisation:</div>
<div class="box-content">R1# <strong>show ntp associations</strong><br />&nbsp;&nbsp; address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ref clock&nbsp;&nbsp;&nbsp; &nbsp; st&nbsp;&nbsp; when&nbsp;&nbsp; poll&nbsp; reach&nbsp;&nbsp; delay&nbsp;&nbsp;&nbsp; offset&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; disp<br />~195.97.91.220&nbsp;&nbsp; 131.188.3.221&nbsp;&nbsp; 2&nbsp;&nbsp; 30&nbsp;&nbsp;&nbsp;&nbsp; 64&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.000&nbsp; &nbsp; -1539.9&nbsp;&nbsp; &nbsp; 7937.5<br />* sys.peer,&nbsp; # selected, + candidate, - outlyer, x falseticker, ~ configured</div>
<div>&nbsp;</div>
<div class="box-content">R1# <strong>show ntp status</strong><br /> Clock is <strong>unsynchronised</strong>, stratum 16, no reference clock<br /> nominal freq is 250.0000 Hz, actual freq is 250.0006 Hz, precision is 2**24<br /> reference time is 00000000.00000000 (02:00:00.000 Greece Mon Jan 1 1900)<br /> clock offset is 0.0000 msec, root delay is 0.00 msec<br /> root dispersion is 0.00 msec, peer dispersion is 0.00 msec<br /> loopfilter state is 'FSET' (Drift set from file), drift is -0.000002405 s/s<br /> system poll interval is 64, never updated.</div>
<div>&nbsp;</div>
<div>The '<strong>show ntp associations</strong>' command shows that the system is configured (~) to synchronise with our selected NTP server, however, it is not yet synchronised. When it is, expect to see the star (*) symbol in front of the tilde (~). The 'ref. clock' column shows the IP address of the NTP server from which our public server (1.gr.pool.ntp.org) is synchronising.</div>
<p style="text-align: justify;" align="left">It is also worth noting the column named 'st' which is equal to two (2). This represents the stratum level. The higher the stratum, the closer to the Atomic clock source we are. As a general rule, always try to synchronise with a server that has a low stratum.</p>
<p style="text-align: justify;" align="left">The '<strong>show ntp status</strong>' command confirms that we are yet to be synchronised with the NTP server as it clearly states that the 'clock is unsynchronised' and also shows us the current system time: 1st of Jan. 1900.</p>
<p style="text-align: justify;" align="left">After a couple of minutes, we re-visit the CLI prompt and re-issue the commands with the following results:</p>
<div style="text-align: justify;" align="center">
<div class="box-content" align="left">R1# <strong>show ntp associations</strong><br />&nbsp; address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ref clock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; st&nbsp;&nbsp; when&nbsp; poll&nbsp;&nbsp; reach&nbsp;&nbsp;&nbsp;&nbsp; delay&nbsp;&nbsp;&nbsp; offset&nbsp; &nbsp; disp<br /> <span style="background-color: #ffff00;">*~195.97.91.220</span>&nbsp; 131.188.3.221&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp; 19&nbsp;&nbsp;&nbsp; 64&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 377&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.000&nbsp;&nbsp;&nbsp; -59.272&nbsp;&nbsp; 5.317<br /> <span style="background-color: #ffff00;">* sys.peer</span>, # selected, + candidate, - outlyer, x falseticker, ~ configured</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div class="box-content" align="left">R1# <strong>show ntp status</strong><br /> Clock is <strong>synchronised</strong>, stratum 3, reference is 212.251.14.84 <br /> nominal freq is 250.0000 Hz, actual freq is 250.0007 Hz, precision is 2**24<br /> reference time is CD94CFEB.901B3679 (01:17:15.562 Athens Sun Apr 23 2023)<br /> clock offset is -0.0592 msec, root delay is 0.09 msec<br /> root dispersion is 0.12 msec, peer dispersion is 0.00 msec<br /> loopfilter state is 'CTRL' (Normal Controlled Loop), drift is -0.000003099 s/s<br /> system poll interval is 64, last update was 476 sec ago.</div>
</div>
<p style="text-align: justify;" align="left">Looking at the new output, we can see that our Cisco router is now synchronising with the configured peer (<strong>*</strong>) - public NTP server. Polling of the public NTP server will occur every 64 seconds, as shown in the command output.</p>
<p style="text-align: justify;" align="left">The '<strong>show ntp status</strong>' command also confirms the synchronisation, however, notice that the router has set its <strong>stratum level</strong> to <strong>3</strong>. This is expected as the reference is stratum 2. The time is now correctly shown (01:17:15.562 Athens Sun Apr 23 2023).</p>
<h4>Synchronising Software Clock and Hardware Clock</h4>
<p style="text-align: justify;" align="left">Here we'll see how in fact the software and hardware clocks on a Cisco router can have different times and how we can synchronise them between each other.</p>
<p style="text-align: justify;" align="left">The following two commands show the difference in time between the two clocks on our Cisco router:</p>
<div style="text-align: justify;" align="center">
<div class="box-content" align="left">R1# <strong>show clock</strong> <br />01:51:31.532 Athens Sun Apr 23 2023<br /><br /> R1# <strong>show calendar</strong> <br /> 01:51:42&nbsp;&nbsp;&nbsp; Athens Sun Apr 23 2023</div>
</div>
<p style="text-align: justify;" align="left">While the difference is minor, we want to keep everything in our network synchronised as precisely as possible.</p>
<p style="text-align: justify;" align="left">Keep in mind that '<strong>show clock</strong>' refers to the software clock and '<strong>show calendar</strong>' refers to the hardware clock of your router.</p>
<p style="text-align: justify;" align="left">To synchronise the two clocks all we need to do is issue the following command:</p>
<div align="center">
<div class="box-content" align="left">R1# <strong>configure terminal</strong><br /> R1(config)# <strong>ntp update-calendar</strong></div>
</div>
<p style="text-align: justify;" align="left">The '<strong>ntp update-calendar</strong>' forces the <strong>hardware clock</strong> to <strong>synchronise</strong> with the <strong>system's software clock</strong>. After a couple of minutes, we check to see if the two clocks have synchronised:</p>
<div align="center">
<div class="box-content" align="left">R1# <strong>show clock</strong> <br /> 02:07:05.011 Athens Sun Apr 23 2023<br /><br /> R1# <strong>show calendar</strong> <br /> 02:07:05 Athens Sun Apr 23 2023</div>
</div>
<p style="text-align: justify;" align="left">We can see now that both clocks are accurately synchronised.</p>
<h2>Configuring The System as an Authoritative NTP Server</h2>
<p style="text-align: justify;" align="left">If you want your system to become an authoritative NTP server from which other internal routers or machines can synchronise, you can achieve this with the following command:</p>
<div align="center">
<div align="left">
<p><span class="box-content">R1(config)# <strong>ntp master</strong></span></p>
</div>
</div>
<p style="text-align: justify;" align="left">The router now acts as an <strong>NTP server</strong> and is able to respond to <strong>internal clients NTP requests</strong>. Executing the '<strong>ntp association</strong>' command reveals our router is obtaining its time synchronisation from itself:</p>
<div align="center">
<div class="box-content" align="left">R1# <strong>show ntp associations</strong><br /> address&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; ref clock&nbsp;&nbsp; st.&nbsp;&nbsp; when&nbsp;&nbsp; poll &nbsp; reach&nbsp;&nbsp; delay &nbsp;&nbsp; offset &nbsp; disp<br /> <span style="background-color: #ffff00;">*~127.127.1.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LOCL.</span>&nbsp;&nbsp; 7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp; 16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 377&nbsp;&nbsp;&nbsp; 0.000 &nbsp;&nbsp; 0.000 &nbsp;&nbsp; 0.253<br />~195.97.91.220 &nbsp; 131.188.3.221 &nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 64&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 64&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; 0.000&nbsp; -179.09 &nbsp;&nbsp; 7937.5<br />* sys.peer, # selected, + candidate, - outlyer, x falseticker, ~ configured</div>
</div>
<h2>Troubleshooting and Monitoring NTP Status</h2>
<p style="text-align: justify;" align="left">Troubleshooting NTP messages and events is important when you are trying to verify everything is working correctly. You might notice that your Cisco router is not able to create a peer connection with a configured NTP server or your internal LAN clients might not be able to synchronise with your Cisco router; In any case, knowing how to troubleshoot NTPs is something every engineer must be aware of.</p>
<p style="text-align: justify;" align="left">Thankfully Cisco provides a number of options that allow you to troubleshoot many aspects of your NTP service.</p>
<div align="center">
<div class="box-content" align="left">R1# <strong>debug ntp ?</strong> <br /> adjust NTP clock adjustments<br /> all NTP all debugging on<br /> core NTP core messages<br /> events NTP events<br /> packet NTP packet debugging<br /> refclock NTP refclock messages</div>
</div>
<p style="text-align: justify;" align="left">The most useful debug commands are the '<strong>debug ntp events</strong>', '<strong>debug ntp adjust</strong>' and '<strong>debug ntp core</strong>'. These three commands provide enough debugging to help you troubleshoot problems you might encounter.</p>
<p style="text-align: justify;" align="left">Closing, if you would like more information on the ntp associations created by your router you can try the following command:</p>
<div align="center">
<div class="box-content" align="left">R1# <strong>show ntp associations detail</strong> <br /> 195.97.91.220 configured, our_master, sane, valid, stratum 2<br /> ref ID 131.188.3.221 , time CD94E194.58EA9A78 (02:32:36.347 Athens Sun Apr 19 2009)<br /> our mode client, peer mode server, our poll intvl 64, peer poll intvl 64<br /> root delay 0.05 msec, root disp 41.32, reach 377, sync dist 0.16<br /> delay 0.00 msec, offset -292.8879 msec, dispersion 3.02<br /> precision 2**20, version 4<br /> org time CD94E561.D6FE7162 (02:48:49.839 Athens Sun Apr 19 2009)<br /> rec time CD94E562.287A2A0D (02:48:50.158 Athens Sun Apr 19 2009)<br /> xmt time CD94E562.22E5E145 (02:48:50.136 Athens Sun Apr 19 2009)<br /> filtdelay = 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02<br /> filtoffset = -0.30 -0.30 -0.29 -0.28 -0.27 -0.27 -0.26 -0.25<br /> filterror = 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00<br />minpoll = 6, maxpoll = 10</div>
</div>
<p style="text-align: justify;" align="left">The '<strong>show ntp associations detail</strong>' command will provide much information on the association created with the NTP servers. This is most helpful when you see you are unable to create an association with an NTP server.</p>
<h2>Summary</h2>
<p style="text-align: justify;" align="left">This article provided an insight to <strong>NTP configuration on Cisco routers</strong>. We analysed why the NTP service is important and how it can be used to keep every node in a network synchronised. We examined different methods of NTP synchronisation and provided a fairly in-depth analysis.</p>
<p style="text-align: justify;" align="left">If you have found the article useful, we would really appreciate you sharing it with others by using the provided services on the top left corner of this article. Sharing our articles takes only a minute of your time and helps Firewall.cx reach more people through such services.</p>
<p><br /><br /></p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Sat, 20 Aug 2011 05:37:16 +1000</pubDate>
		</item>
		<item>
			<title>Cisco Router Basic ISDN Configuration</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-isdn-config.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-isdn-config.html</guid>
			<description><![CDATA[<p style="text-align: justify;">Configuration of ISDN interfaces on Cisco routers are usually considered a straight-forward process, however there are some details which can cause your ISDN dialer interface to fail.</p>
<p style="text-align: justify;">This article will take you through the basic steps of configuring a Cisco Router to work with ISDN. Below is a table of ISDN Switch Types. Before you attempt to configure ISDN you need to ensure that you know which type of ISDN switch you are connecting to at the Telco.</p>
<table cellspacing="0" cellpadding="0" bgcolor="#333333">
<tbody>
<tr>
<td style="background-color: #ffffff;">
<p style="color: #6699ff;"><strong>Telco Switch Type </strong></p>
</td>
<td style="background-color: #ffffff;">
<p style="color: #00ff00;"><strong><span style="color: #000000;">Cisco Keyword</span> </strong></p>
</td>
</tr>
<tr>
<td style="background-color: #ffffff;">
<p>AT&amp;T Basic Rate Switch</p>
</td>
<td style="background-color: #ffffff;">
<p>basic-5ess</p>
</td>
</tr>
<tr>
<td style="background-color: #ffffff;">
<p>Nortel DMS-100 Basic Rate Switch</p>
</td>
<td style="background-color: #ffffff;">
<p>basic-dms100</p>
</td>
</tr>
<tr>
<td style="background-color: #ffffff;">
<p>National ISDN-1 switch</p>
</td>
<td style="background-color: #ffffff;">
<p>basic-ni1</p>
</td>
</tr>
<tr>
<td style="background-color: #ffffff;">
<p>PINX (PBS) Switches with QSIG Signalling per Q.931</p>
</td>
<td style="background-color: #ffffff;">
<p>basic-qsig</p>
</td>
</tr>
<tr>
<td style="background-color: #ffffff;">
<p>NET3 Switch Type for UK , Europe , Asia &amp; Australia</p>
</td>
<td style="background-color: #ffffff;">
<p>basic-net3</p>
</td>
</tr>
<tr>
<td style="background-color: #ffffff;">
<p>AT&amp;T 4ESS (ISDN PRI Only)</p>
</td>
<td style="background-color: #ffffff;">
<p>primary-4ess</p>
</td>
</tr>
<tr>
<td style="background-color: #ffffff;">
<p>AT&amp;T 5ESS (ISDN PRI Only)</p>
</td>
<td style="background-color: #ffffff;">
<p>primary-5ess</p>
</td>
</tr>
<tr>
<td style="background-color: #ffffff;">
<p>Nortel DMS-100 (ISDN PRI Only)</p>
</td>
<td style="background-color: #ffffff;">
<p>primary-dms100</p>
</td>
</tr>
<tr>
<td style="background-color: #ffffff;">
<p>National ISDN Switch Type</p>
</td>
<td style="background-color: #ffffff;">
<p>primary-ni</p>
</td>
</tr>
<tr>
<td style="background-color: #ffffff;">
<p>NTT ISDN PRI Switches ( Japan )</p>
</td>
<td style="background-color: #ffffff;">
<p>primary-ntt</p>
</td>
</tr>
<tr>
<td style="background-color: #ffffff;">
<p>European and Australian ISDN PRI Switches</p>
</td>
<td style="background-color: #ffffff;">
<p>primary-net5</p>
</td>
</tr>
<tr>
<td style="background-color: #ffffff;">
<p>QSIG Signaling per Q.931</p>
</td>
<td style="background-color: #ffffff;">
<p>primary-qsig</p>
</td>
</tr>
<tr>
<td style="background-color: #ffffff;">
<p>No Switch Type</p>
</td>
<td style="background-color: #ffffff;">
<p>none</p>
</td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">For a very basic BRI ISDN configuration on a Cisco Router, you need to perform the following steps (that's providing you are not using DDR - Demand Dial Routing);</p>
<ul>
<li style="text-align: justify;">Configure the Switch Type (Using switch-type)</li>
<li style="text-align: justify;">Configure the ISDN Dialer Map; this basically maps the IP Address of the end router's IP Address with its telephone number (Using dialer-map)</li>
<li style="text-align: justify;">Configure your ISDN Interface IP Address (using interface &amp; ip address)</li>
<li style="text-align: justify;">Configure a routing rule (using ip route)</li>
</ul>
<p style="text-align: justify;">For Example,</p>
<div class="download" style="text-align: justify;">Router(config)# <strong>isdn switch-type basic-5ess</strong><br /> Router(config)# <strong>isdn dialer map ip 10.10.10.2 name main_office 66552</strong><br /> Router(config)# <strong>ip route 192.168.0.0 255.255.255.0 10.10.10.2</strong><br /> Router(config)# <strong>interface BRI 0</strong><span style="color: #00ff00;"><br /> </span>Router(config-if)# <strong>ip address 10.10.10.1 255.255.255.0 </strong></div>
<p>N.B. If using the DMS-100 and National-1 switch types (as well as AT&amp;T 5ESS), you will need to obtain from you telco the Service Profile Identifier (SPIDs) of which you require one per each Bearer Channel. For these switch types, these need to be configured using the <strong>isdn spid1</strong><span> and</span> <strong>isdn spid2</strong> commands. The SPIDs are used to authenticate call requests at the telco's switch. The format for using the SPIDs is <strong>isdn spid1 spid-number ldn</strong> and <strong>isdn spid2 spid-number ldn</strong>.</p>
<h2>Demand Dial Routing</h2>
<p style="text-align: justify;">Since ISDN is a circuit switched technology, you usually pay for the amount of time that the line is active. For this reason, you generally do not want to raise the ISDN line for just any type of traffic. In order to accommodate this, you can configure what's called Demand Dial Routing or, DDR for short. The idea behind DDR is that you to specify the ‘interesting traffic' that will be able to raise the ISDN line.</p>
<p style="text-align: justify;">For example, you can set as ‘interesting traffic', all packets destined towards a specific remote network you connect to. If none of the routed traffic that is heading for that network (on the other side of the ISDN line), the line doesn't get raised. This saves on unnecessary costs due to none essential traffic raising the line.</p>
<p style="text-align: justify;">The way you specify ‘interesting traffic' is with the use of Access Control Lists (ACL's). If the traffic destined for the remote network doesn't match this interesting traffic, then the line stays down, otherwise the line is raised and traffic is allowed to travel to the remote network. It's worth mentioning here that although you have defined this “Interesting” traffic, it doesn't mean that other traffic will not be allowed to travel along the ISDN link. If the link is active, any traffic (unless blocked by Access Lists) is allowed to travel the link, therefore keep in mind that the “Interesting” traffic is used only to bring the line up.</p>
<p style="text-align: justify;">You can then create a 2 nd set of ACL's which defining the traffic that can traverse the ISDN line. Also, the DDR works using a counter, like a time-out counter, once the counter reaches a preset configurable threshold, the line will drop again. This threshold is reduced each time “Interesting” traffic is sent over the ISDN Link, therefore it's also only the “Interesting” traffic that is used to maintain the link.</p>
<p style="text-align: justify;">Steps in configuring DDR (assumes part of the basic steps above have already been configured)</p>
<ul>
<li style="text-align: justify;">Define Interesting Traffic (Using dialer-list &amp; access-list)</li>
<li style="text-align: justify;">Assign Interesting Traffic to an Interface (Using dialer-group)</li>
<li style="text-align: justify;">Define the destination IP address, hostname and telephone number to dial (Using dialer map)</li>
<li style="text-align: justify;">Define any additional options (Using dialer idle-timeout, dialer fast-idle, dialer load-threshold)</li>
</ul>
<p style="text-align: justify;">The Additional Options</p>
<table style="background-color: #ffffff;" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width: 219px;" valign="top">
<p><span style="text-decoration: underline;"><strong>Command</strong></span></p>
</td>
<td style="width: 350px;" valign="top"><span style="text-decoration: underline;"><strong>Description</strong></span></td>
</tr>
<tr>
<td style="width: 219px;" valign="top"><strong>dialer idle-timeout seconds <span style="color: #00ff00;"><em><br /> <br /> <br /> </em></span></strong></td>
<td style="width: 350px;" valign="top">
<p>Specifies the number of idle time in seconds before the link is dropped.</p>
</td>
</tr>
<tr>
<td style="width: 219px;" valign="top"><strong>dialer fast-idle seconds <span style="color: #00ff00;"><em><br /> <br /> <br /> <br /> </em></span></strong></td>
<td style="width: 350px;" valign="top">
<p>Specifies the time that a line showing contention can remain idle for before it is dropped in order to allow the other call to be placed.</p>
</td>
</tr>
<tr>
<td style="width: 219px;" valign="top"><strong>dialer load-threshold load [outbound | inbound |either]</strong></td>
<td style="width: 350px;" valign="top">
<p>Specifies the amount of load on the ISDN before the dialer initiates another call to the same destination (i.e. brings up the second channel making the link 128Kbps). The load is a number from 1 to 255, with 255 equalling 100% load. The final parameters specify which direction of traffic to calculate the load from.</p>
</td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">For Example:</p>
<div class="download" style="text-align: justify;">Router(config)# <strong>isdn dialer map ip 10.10.10.2 name main_office 66552</strong><br /> Router(config)# <strong>access-list 101 permit tcp any any eq http</strong><br /> Router(config)# <strong>dialer-list 1 protocol ip list 101</strong><br /> Router(config)# <strong>interface BRI 0 </strong><br /> Router(config-if)# <strong>dialer-group 1</strong></div>
<p style="text-align: justify;">What this example does, is allowing all web traffic (http) from anywhere to anywhere. As you can see, the dialer-list is specifying the 101 access list to dialer-list 1. The dialer-group is then specifying the 1, which links to the dialer-list 1.</p>
<h2>Dialer Profiles</h2>
<p style="text-align: justify;">On Cisco's website it states that “Dialer Profiles implementation of DRR is based on a separation between the logical and physical interface configurations. Dialer profiles also allow the logical and physical configurations to be bound together dynamically on a per-call basis.”</p>
<p style="text-align: justify;">There are several advantages of Dialer Profiles over Legacy DDR, it is much more scalable then Legacy DDR because Legacy DDR is based on a static binding between the per-destination call and the physical interface configuration. Dialer profiles are point-to-point interfaces which mean we no longer need the layer 3 to layer 2 mapping (layer 2 meaning the telephone number) since the profile can only dial a single location (hence point-to-point).</p>
<p style="text-align: justify;">Since the logical and physical configurations are dynamic, it allows physical interfaces to take on different characteristics based on the logical call requirements that is utilising the physical interface. The final advantage that we will include here is that it enables you to have a backup interface that isn't tying up one of the physical interfaces. Providing a spare interface is available, the backup can be used when it's required.</p>
<p style="text-align: justify;">Dialer Profiles are made up of a Dialer Interface, dialer pool and physical interface. Optionally, you can also have a map class. These are highlighted in the table below</p>
<table style="background-color: #ffffff;" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width: 158px;"><strong>Dialer Interface</strong></td>
<td style="width: 435px;" valign="top">This is the logical call requirements to the point-to-point connection. The following parameters can be configured; the IP address of the destination network (<strong>ip address address mask</strong>), Layer 2 encapsulation type for example ppp (<strong>encapsulation ppp</strong>), PPP authentication (<strong>ppp authentication chap</strong> &amp; <strong>pap</strong>), the remote routers authentication name (<strong>dialer remote-name username</strong>), the remote destination to call (<strong>dialer string dial-string</strong>), dialer pool mapping to use for calls to this destination (<strong>dialer pool number</strong>), assign dialer interface to a dialer group (<strong>dialer group number</strong>).
<p>There are other optional parameters such as PPP Mulitlink, idle timeout and more.</p>
</td>
</tr>
<tr>
<td style="width: 158px;"><br /> <strong>Dialer Pool</strong></td>
<td style="width: 435px;" valign="top">
<p><br /> Used for a dialer interface to reference and be associated to a physical interface</p>
</td>
</tr>
<tr>
<td style="width: 158px;"><strong>Physical Interface</strong></td>
<td style="width: 435px;" valign="top"><br /> Here we assign a physical interface into a dialer pool (<strong>dialer pool-member number</strong>) and assign any additional physical features, such as layer 2 encapsulation (<strong>encapsulation ppp</strong>), ppp authentication (<strong>authentication chap</strong>), etc..</td>
</tr>
<tr>
<td style="width: 158px;"><strong>Map Class</strong> (Optional)</td>
<td style="width: 435px;" valign="top">
<p><br /> Used to create a mapping between the remote IP address and phone number required to dial in order to reach it.</p>
</td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">&nbsp;</p>
<p style="text-align: justify;">Steps in creating a Dialer Profile (assumes part of the basic steps above have already been configured, such as ISDN type);</p>
<ul>
<li style="text-align: justify;"> Define a Dialer Interface</li>
<li style="text-align: justify;">Configure a Dialer String</li>
<li style="text-align: justify;">Assign Physical Interface to a Dialer Pool, plus any additional Physical attributes</li>
</ul>
<p style="text-align: justify;"> Other steps from the previous sections may need to be performed, for example; if you wanted to active the link using interesting traffic, DDR needs to be configured.</p>
<p style="text-align: justify;">For Example:</p>
<p><strong>Define Dialer Interface</strong></p>
<div class="download" style="text-align: justify;">Router(config)# <strong>interface dialer1</strong><br /> Router(config-if)# <strong>ip address 10.10.10.1 255.255.255.0</strong><br /> Router(config-if)# <strong>encapsulation ppp</strong><br /> Router(config-if)# <strong>ppp authentication chap</strong><br /> Router(config-if)# <strong>dialer remote-name remoteoffice</strong><br /> Router(config-if)# <strong>dialer string 999666</strong><br /> Router(config-if)# <strong>dialer pool 1</strong><br /> Router(config-if)# <strong>dialer-group 1</strong><br /> Router(config-if)# <strong>exit</strong></div>
<p>&nbsp;</p>
<p><strong>Configure Physical Interface:</strong></p>
<div class="download" style="text-align: justify;">Router(config)# <strong>interface bri0</strong><br /> Router(config-if)# <strong>encapsulation ppp</strong><br /> Router(config-if)# <strong>dialer pool-member 1</strong><br /> Router(config-if)# <strong>ppp authentication chap</strong><br /> Router(config-if)# <strong>exit</strong></div>
<p>&nbsp;</p>
<p><strong>Configure DDR to specify “Interesting” traffic (http) used to bring the line up:</strong></p>
<div class="download" style="text-align: justify;">Router(config)# <strong>access-list 101 permit tcp any any eq http</strong><br /> Router(config)# <strong>dialer-list 1 protocol ip list 101</strong></div>
<h2>A Simple Example</h2>
<p style="text-align: justify;">The following example includes a variety of different items discussed in this document, in order to help you see how they are applied in a real-case scenario. As always, depending on the security policies and network complexity, the configuration can change quite a bit. For simplicity reasons, we've keep the complexity to a minimum.</p>
<p style="text-align: justify;">Our scenario is based upon two routers who occasionally require to connect their networks via an ISDN dial line, in order to transfer data between them.</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/cisco-basic-isdn-configuration-1.jpg" alt="" width="449" height="122" style="display: block; margin-left: auto; margin-right: auto;" data-alt="cisco-basic-isdn-configuration-1" /></p>
<p><strong>Router 1 – Remote Office</strong></p>
<p>Assign the switch type that we are connecting through to on the physical layer, AT&amp;T Basic Rate Switch telco switch:</p>
<p class="box-content">Router1(config)# <strong>isdn switch-type basic-5ess</strong></p>
<div>&nbsp;</div>
<div>&nbsp;Create a dialer interface called dialer1 ready for configuring it:</div>
<div class="box-content">Router1(config)# <strong>interface dialer1</strong></div>
<div>&nbsp;</div>
<div>Set a description for this interface:</div>
<div class="box-content">Router1(config)# <strong>description Outgoing To HQ</strong></div>
<div>&nbsp;</div>
<div>Assign an IP address to the virtual dialer interface:</div>
<p class="box-content">Router1(config-if)# <strong>ip address 10.10.10.1 255.255.255.252</strong></p>
<p>Configure the encapsulation used when we are connecting through this virtual interface:</p>
<p class="box-content">Router1(config-if)# <strong>encapsulation ppp</strong></p>
<p>Set our ppp authentication to use chap, pap. The ‘Callin' parameter ensures our router authenticates the remote router (HQ) on an incoming call. Since we are always the calling party, it does not expect the remote (HQ) router to authenticate, making this authentication process a one-way direction. Remote Office authenticates to the HQ router:</p>
<p class="box-content">Router1(config-if)#<strong>ppp authentication chap pap callin</strong></p>
<p>Set the username &amp; password for chap/pap authentication protocol &amp; number to dial:</p>
<div class="box-content">
<div>Router1(config-if)# <strong>ppp chap hostname remote-office</strong></div>
<div>Router1(config-if)# <strong>ppp chap password cisco</strong></div>
<div>Router1(config-if)# <strong>ppp pap sent-username remote-office password cisco</strong></div>
<div>Router1(config-if)# <strong>dialer string 999666</strong></div>
</div>
<p>Assign this virtual interface to use any physical interface that's assigned to pool number 1:</p>
<div class="box-content">Router1(config-if)# <strong>dialer pool 1</strong></div>
<p>The following command is used to define the interesting traffic that can be used to raise this virtual interface. The next command is paired with the "dialer-list 1" command later on. Next, disconnect this call after 300 seconds of inactivity:</p>
<div class="box-content">Router1(config-if)# <strong>dialer-group 1</strong><br /> Router1(config-if)# <strong>dialer idle-timeout 300</strong></div>
<p>Make this link ‘ppp multilink' capable, allowing the aggregation of the two available 64K ISDN lines to a total of 128Kbps and when the incoming or outgoing (either) traffic reaches half of the available bandwidth (125), then bring up the 2 nd ISDN channel:</p>
<div class="box-content">Router1(config-if)# <strong>ppp multilink</strong>
<div>Router1(config-if)# <strong>dialer load-threshold 125 either</strong></div>
Router1(config-if)# <strong>exit</strong></div>
<p>The commands below takes us into the interface sub command of the physical interface bri0/0, ready for configuring the physical characteristics. Configure the encapsulation for this physical interface. Optional command since we've already included it in the Dialer Interface:</p>
<div>
<div class="box-content">Router1(config-if)#<strong>interface bri0</strong>
<div>Router1(config-if)#&nbsp;<strong>encapsulation ppp</strong></div>
</div>
</div>
<div>Assign this physical interface to a pool. This allows this physical interface to be used by any virtual interface in this same pool. In this case, Dialer 1. The next command sets our ppp authentication to use chap. Optional command since we've already included it in the Dialer Interface:</div>
<div>&nbsp;</div>
<div class="box-content">Router1(config-if)#&nbsp;<strong>dialer pool-member 1</strong>
<div>Router1(config-if)#&nbsp;<strong>ppp authentication chap</strong></div>
Router1(config-if)# <strong>exit</strong></div>
<p>Access lists are used to define interesting traffic. This line specifies that tcp port 80 traffic from anywhere to anywhere is interesting. The second command Maps the access-list with the dialer-group. As you can see, number 1 is used in the dialer-list and dialer-group statements:</p>
<div>
<div class="box-content">Router1(config-if)#&nbsp;<strong>access-list 101 permit tcp any any eq http</strong>
<div>Router1(config-if)#&nbsp;<strong>dialer-list 1 protocol ip list 101</strong></div>
</div>
</div>
<p>Next command creates a route to the 192.168.0.0/24 subnet to go through 10.10.10.2 (will use Dialer1 to get there since it's on the 10.10.10.0 subnet):</p>
<p class="box-content">Router1(config)# <strong>ip route 192.168.0.0 255.255.255.0 10.10.10.2</strong></p>
<p style="text-align: justify;">&nbsp;</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/cisco-basic-isdn-configuration-1.jpg" alt="" width="449" height="122" data-alt="cisco-basic-isdn-configuration-1" /></p>
<p style="text-align: justify;">&nbsp;</p>
<p><strong>Router 2 – HeadQuaters</strong></p>
<p>The configuration for the HQ node is similar:</p>
<p>Assign the username &amp; password the remote office router will user while authenticating to this route:</p>
<p class="box-content">HQ(config)# <strong>username remote-office password cisco</strong></p>
<div>&nbsp;</div>
<div>The rest of the configuration is pretty straight forward:</div>
<div class="box-content" style="text-align: justify;">HQ(config)# <strong>isdn switch-type basic-5ess</strong><br /> HQ(config)# <strong>interface dialer1</strong><br /> HQ(config)# <strong>description Incoming From Remote-Office</strong><br /> HQ(config-if)#<strong> ip address 10.10.10.2 255.255.255.252</strong><br /> HQ(config-if)# <strong>encapsulation ppp</strong><br /> HQ(config-if)# <strong>ppp authentication chap pap callin</strong><br /> HQ(config-if)# <strong>dialer pool 1</strong><br /> HQ(config-if)# <strong>ppp multilink</strong><br /> HQ(config-if)# <strong>exit</strong><br /> HQ(config)# <strong>interface bri0</strong><br /> HQ(config-if)# <strong>encapsulation ppp</strong><br /> HQ(config-if)# <strong>dialer pool-member 1</strong><br /> HQ(config-if)# <strong>exit</strong><br /> HQ(config)# <strong>ip route 192.168.5.0 255.255.255.0 10.10.10.1</strong></div>
<h2>Summary</h2>
<p style="text-align: justify;">Here's the complete configuration without comments:</p>
<p style="font-weight: bold; text-align: justify;">Router 1 - Remote Office</p>
<div class="box-content" style="text-align: justify;">Router1(config)# <strong>isdn switch-type basic-5ess</strong><br /> Router1(config)#<strong> interface dialer1</strong><br /> Router1(config)# <strong>description Outgoing To HQ</strong><br /> Router1(config-if)# <strong>ip address 10.10.10.1 255.255.255.252</strong><br /> Router1(config-if)# <strong>encapsulation ppp</strong><br /> Router1(config-if)# <strong>ppp authentication chap pap callin</strong><br /> Router1(config-if)# <strong>ppp chap hostname remote-office</strong><br /> Router1(config-if)# <strong>ppp chap password cisco</strong><br /> Router1(config-if)# <strong>ppp pap sent-username remote-office password cisco</strong><br /> Router1(config-if)# <strong>dialer string 999666</strong><br /> Router1(config-if)# <strong>dialer pool 1</strong><br /> Router1(config-if)# <strong>dialer-group 1</strong><br /> Router1(config-if)# <strong>dialer idle-timeout 300</strong><br /> Router1(config-if)# <strong>ppp multilink</strong><br /> Router1(config-if)# <strong>dialer load-threshold 125 either</strong><br /> Router1(config-if)# <strong>exit</strong><br /> Router1(config)# <strong>interface bri0</strong><br /> Router1(config-if)# <strong>encapsulation ppp</strong><br /> Router1(config-if)# <strong>dialer pool-member 1</strong><br /> Router1(config-if)# <strong>ppp authentication chap</strong><br /> Router1(config-if)# <strong>exit</strong><br /> Router1(config)# <strong>access-list 101 permit tcp any any eq http</strong><br /> Router1(config)# <strong>dialer-list 1 protocol ip list 101</strong><br /> Router1(config)# <strong>ip route 192.168.0.0 255.255.255.0 10.10.10.2</strong></div>
<p style="text-align: justify;">&nbsp;</p>
<p style="font-weight: bold; text-align: justify;">Router 2 - Headquaters</p>
<div class="box-content" style="text-align: justify;">HQ(config)# <strong>username remote-office password cisco</strong><br /> HQ(config)# <strong>isdn switch-type basic-5ess</strong><br /> HQ(config)# <strong>interface dialer1</strong><br /> HQ(config)# <strong>description Incoming From Remote-Office</strong><br /> HQ(config-if)#<strong> ip address 10.10.10.2 255.255.255.252</strong><br /> HQ(config-if)# <strong>encapsulation ppp</strong><br /> HQ(config-if)# <strong>ppp authentication chap pap callin</strong><br /> HQ(config-if)# <strong>dialer pool 1</strong><br /> HQ(config-if)# <strong>ppp multilink</strong><br /> HQ(config-if)# <strong>exit</strong><br /> HQ(config)# <strong>interface bri0</strong><br /> HQ(config-if)# <strong>encapsulation ppp</strong><br /> HQ(config-if)# <strong>dialer pool-member 1</strong><br /> HQ(config-if)# <strong>exit</strong><br /> HQ(config)# <strong>ip route 192.168.5.0 255.255.255.0 10.10.10.1</strong></div>
<div>&nbsp;This completes our discussion on <strong>how to configure ISDN dialup between two Cisco routers</strong>.</div>
<div>&nbsp;</div>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Sat, 20 Aug 2011 05:31:40 +1000</pubDate>
		</item>
		<item>
			<title>How To Configure Windows VPDN (PPTP) Dialup Connection</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-win-pptp.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-win-pptp.html</guid>
			<description><![CDATA[<p style="text-align: justify;" align="left">Setting up a Windows VPDN connection is a required task in order to connect to a remote network. In previous articles we covered the set up of a VPDN - PPTP server on a Cisco router. <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-pptp-server.html" target="_blank" title="setup a PPTP (VPDN) server on a Cisco router">Click here</a> to find out how to <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-pptp-server.html" target="_blank" title="setup a PPTP (VPDN) server on a Cisco router">setup a PPTP (VPDN) server on a Cisco router</a>. This service can be offered by a Windows 2000/2003/2008 server as well.</p>
<h2 style="text-align: justify;" align="left">Configuring Windows XP Client for VPDN</h2>
<p style="text-align: justify;" align="left">The great thing about VPDN/PPTP is that it is natively supported by most Windows operating systems. This means you're not required to install additional drivers or programs to get it working.</p>
<p style="text-align: justify;" align="left">In order to connect to the VPDN, we need to create a VPDN dialup and modify a few parameters. So, without further delay, here are the steps required:</p>
<p style="text-align: justify;" align="left">Firstly go to <strong>Control Panel --&gt; Network Connections</strong>. From there, select <strong>Create a new connection</strong>:</p>
<p><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-wrkstn-pptp-1.gif" alt="tk-cisco-routers-wrkstn-pptp-1" width="212" height="165" style="display: block; margin-left: auto; margin-right: auto;" title="Windows Client PPTP VPN Configuration" /></p>
<p style="text-align: justify;" align="left">Next, select the&nbsp;<strong>Connect to the network at my workplace</strong> to create the VPDN connection:</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-wrkstn-pptp-2.gif" alt="tk-cisco-routers-wrkstn-pptp-2" width="503" height="392" style="display: block; margin-left: auto; margin-right: auto;" title="Creating create the VPDN connection in Windows" /></p>
<p style="text-align: justify;" align="left">Next step, select the <strong>Virtual Private Network connection</strong>:</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-wrkstn-pptp-3.gif" alt="tk-cisco-routers-wrkstn-pptp-3" width="503" height="392" style="display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: justify;" align="left">On the next step, you'll need to provide a description for the new VPDN connection:</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-wrkstn-pptp-4.gif" alt="tk-cisco-routers-wrkstn-pptp-4" width="503" height="392" style="display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: justify;" align="left">Assuming you're directly connected to the Internet via LAN or wireless, you won't need to initiate a dialup:</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-wrkstn-pptp-5.gif" alt="tk-cisco-routers-wrkstn-pptp-5" width="503" height="392" style="display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: justify;" align="left">Next, we insert the router's public IP address to which the VPDN will terminate:</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-wrkstn-pptp-6.gif" alt="tk-cisco-routers-wrkstn-pptp-6" width="503" height="392" /></p>
<p style="text-align: justify;" align="left">Last step, simply click on finish to save the new connection:</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-wrkstn-pptp-7.gif" alt="tk-cisco-routers-wrkstn-pptp-7" width="503" height="392" /></p>
<p style="text-align: justify;" align="left">Double-clicking on the connection will open up the connection dialogue, here you'll need to enter the credentials of the username/password you previously created on the router. However you need to be aware that once connected, all traffic, including Internet traffic, will be directed through the VPDN connection. This effectively means that it's most likely you won't be able to browse the Internet because all traffic will be sent to the router on the other end, which will most probably drop the traffic.</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-wrkstn-pptp-8.gif" alt="tk-cisco-routers-wrkstn-pptp-8" width="348" height="372" title="Windows Client VPDN PPTP Connection" /></p>
<p style="text-align: justify;" align="left">In order to overcome this problem, you'll need to 'un-check' a specific option under the VPDN's TCP/IP settings. From the connection dialogue, click on <strong>Properties</strong>, go to the <strong>Networking</strong> tab and from there double-click on the <strong>TCP/IP</strong> protocol. Next, click on the <strong>Advanced</strong> button on the lower right corner and you'll be presented with the window below:</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-wrkstn-pptp-9.gif" alt="tk-cisco-routers-wrkstn-pptp-9" width="500" height="608" title="Advanced TCP/IP Settings VPDN Settings" /></p>
<p style="text-align: justify;" align="left">All you need to do here is 'un-check' the <strong>Use default Gateway on remote network</strong> and click <strong>OK</strong> on every window to ensure the setting is saved.</p>
<p style="text-align: justify;" align="left">What this option does is ensure that only traffic destined to the remote network (192.168.0.0 /24 in our example) traverses the VPN tunnel. All other traffic will be sent through the workstation's default gateway.</p>
<p style="text-align: justify;" align="left">This concludes the setup of a VPDN on a Windows based workstation.</p>
<h2 style="text-align: justify;" align="left">Summary</h2>
<p style="text-align: justify;" align="left">This article showed how to create a <strong>VPDN connection to a PPTP server</strong>, including how to configure the VPN tunnel to ensure only necessary traffic passes through it. Its application is similar to all Windows-based operating systems.</p>
<p style="text-align: justify;" align="left">If you have found the article useful, we would really appreciate you sharing it with others by using the provided services on the top left corner of this article. Sharing our articles takes only a minute of your time and helps Firewall.cx reach more people through such services.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Fri, 19 Aug 2011 22:02:03 +1000</pubDate>
		</item>
		<item>
			<title>Configuring  PPTP (VPDN) Server On A Cisco Router</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-pptp-server.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-pptp-server.html</guid>
			<description><![CDATA[<p style="text-align: justify;" align="left">The <strong>Point to Point Tunneling Protocol</strong> (<strong>PPTP</strong>) is a network protocol used to create VPN tunnels between public networks. These VPN tunnels are encrypted from one end to the other and allow the secure transfer of data between them. PPTP is usually implemented between a server and a client, the server belonging to the enterprise network and the client being a remote workstation.</p>
<p style="text-align: justify;" align="left">While PPTP's encryption algorithms do offer a certain level of security and privacy, they aren't the best encryption technologies available today. PPTP does have its weaknesses and therefore is not used for long term transactions. PPTP uses the Password Authentication Protocol and the Challenge Handshake Authentication Protocol encryption algorithms. It can offer encryption options of 40, 56 and 128 bit, depending on your needs.</p>
<p style="text-align: justify;" align="left">PPTP is an excellent quick VPN solution for short-term transactions and is natively supported by all current Windows platforms without the need for additional drivers or programs.</p>
<p style="text-align: justify;" align="left">Cisco routers can be set up to act as PPTP servers, alternatively known as a Virtual Private Dialup Network (VPDN) servers. PPTP has been supported by Cisco routers since IOS release 12.1(5)T.</p>
<p style="text-align: justify;" align="left">We should point out that Windows Servers are also capable of handing PPTP connections by configuring their RAS services, however, we feel that being able to provide this service from a Cisco router makes it more flexible and easier to implement in any environment.</p>
<p class="box-info" style="text-align: justify;" align="left"><strong>Note</strong>: You can read our article on <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-win-pptp.html" target="_blank" title="Windows VPDN setup">Windows VPDN setup</a> to get all the information on how to set up a remote teleworker to connect to the VPDN configured on your Cisco router.</p>
<h2>Example Scenario</h2>
<p style="text-align: justify;" align="left">In this example, we need to set up our Cisco router so that it accepts VPDN requests, allow our remote clients to connect to the internal network, assign them an internal IP address and provide them access to all network resources:</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-pptp-1.gif" alt="tk-cisco-routers-pptp-1" width="584" height="178" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco Router PPTP VPN Configuration" /></p>
<p style="text-align: justify;" align="left">The remote VPN user will have to create a VPDN dialup from its operating system (we assume Windows XP) in order to initiate the VPN connection and authenticate to the Cisco router.</p>
<p style="text-align: justify;" align="left">First step is to enable VPDN and create the VPDN group parameters that will define various aspects of the PPTP connection:</p>
<div class="download" style="text-align: justify;" align="center">
<div align="left">
<p>R1# <strong>configure terminal</strong><br /> R1(config)# <strong>vpdn enable </strong><br /> R1(config)# <strong>vpdn-group 1 </strong><br /> R1(config-vpdn)# <strong>accept-dialin</strong><br /> R1(config-vpdn-acc-in)# <strong>protocol pptp </strong><br /> R1(config-vpdn-acc-in)# <strong>virtual-template 1 </strong><br /> R1(config-vpdn-acc-in)#<strong> exit</strong></p>
</div>
</div>
<p style="text-align: justify;" align="left">The above configuration enables the router to accept incoming PPTP connections and specifies the virtual interface to which the PPTP tunnel is configured.</p>
<p style="text-align: justify;" align="left">Next up, we need to bind the virtual interface to a real interface. This effectively binds the PPTP connections to the real interface. We'll also need to create a pool of IP addresses that will be assigned to the VPDN users. This pool is named 'PPTP-Pool' and we'll later on assign the addresses to be allocated to the VPN users.</p>
<div class="download" style="text-align: justify;" align="center">
<div align="left">
<p>R1(config)# <strong>interface Virtual-Template1 </strong><br />R1(config-if)# <strong>ip unnumbered FastEthernet 0/0 </strong><br />R1(config-if)# <strong>peer default ip address pool PPTP-Pool</strong><br />R1(config-if)# <strong>no keepalive</strong><br />R1(config-if)# <strong>ppp encrypt mppe 128 </strong><br />R1(config-if)# <strong>ppp authentication ms-chap ms-chap-v2</strong></p>
</div>
</div>
<p style="text-align: justify;" align="left">The '<strong>ppp encrypt</strong>' command specifies the encryption to be used - in our case, that's 128 bit. This can be set to 'auto' for maximum compatibility. The authentication is set to ms-chap and ms-chap v2 so that we can offer the best possible authentication method for this case.</p>
<p style="text-align: justify;" align="left">The '<strong>ip unnumbered &lt;interface&gt;</strong>' command is worth analysing a bit further.</p>
<p style="text-align: justify;" align="left">All VPDN clients will either obtain an IP address that is part of the existing internal network (as in our example), or they will be assigned an IP address that is totally different from the internal network scheme e.g 192.168.5.20 - 192.168.5.25.</p>
<p style="text-align: justify;" align="left">If you want to assign them an IP address that's part of the existing internal network (most cases), you need to use the 'ip unnumbered' command to bind the virtual adapter to the real interface connected to the internal network - in our example, this is FastEthernet 0/0.</p>
<p style="text-align: justify;" align="left">If on the other hand you wish to provide VPDN clients with a totally different IP address from that of your internal network, then you must configure the Virtual-Template interface with an IP address belonging to that network e.g 192.168.5.1 and configure the VPDN pool with the appropriate range e.g 192.168.5.20 - 192.168.5.25.</p>
<p style="text-align: justify;" align="left">Older Cisco router models such as the 836 &amp; 837 series had problems assigning the VPDN clients an IP address that belonged to the existing internal network, so engineers didn't have much choice but to assign a different IP addressing scheme for the VPDN clients.</p>
<p style="text-align: justify;" align="left">From the configuration and diagram provided so far, you can see that we'll be assigning the VPDN clients an IP address range that's part of the existing internal network:</p>
<div class="download" style="text-align: justify;" align="center">
<div align="left">
<p>R1(config)# <strong>ip local pool PPTP-Pool 192.168.0.20 192.168.0.25 </strong></p>
</div>
</div>
<p style="text-align: justify;" align="left">Last step is to create the user accounts our VPDN clients will require to authenticate to the router and access internal resources.</p>
<p style="text-align: justify;" align="left">This is a fairly simple task as you only need to add a username, followed by the password:</p>
<div class="download" style="text-align: justify;" align="center">
<div align="left">
<p>R1(config)# <strong>username firewall password gfk$251!</strong></p>
</div>
</div>
<p style="text-align: justify;" align="left">The remote user will need the above username and password to successfully connect to the VPN.</p>
<p style="text-align: justify;" align="left">You can read our article on&nbsp;<a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-win-pptp.html" target="_blank" title="Windows VPDN setup">Windows VPDN setup</a> to get all the information on how to set up a remote teleworker to connect to the VPN.</p>
<h2 style="text-align: justify;" align="left">Summary</h2>
<p style="text-align: justify;" align="left">This article covered the configuration of a PPTP or VPDN server on a Cisco router. We saw all aspects of its configuration, plus alternative configurations that will help you adjust the set up to your needs.</p>
<p style="text-align: justify;" align="left">If you have found the article useful, we would really appreciate you sharing it with others by using the provided services on the top left corner of this article. Sharing our articles takes only a minute of your time and helps Firewall.cx reach more people through such services.</p>
<p>&nbsp;</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Fri, 19 Aug 2011 21:54:09 +1000</pubDate>
		</item>
		<item>
			<title>How To Configure ISDN Internet Dialup On A Cisco Router</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-isdn-dialup.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-isdn-dialup.html</guid>
			<description><![CDATA[<p style="text-align: justify;" align="left">Some time ago, when broadband and ADSL wasn't available, analog and digital (ISDN) modems were the only way to connect to the Internet. Even though today ISDN isn't used much for Internet connectivity, it still remains an important alternative backup dialup method.</p>
<p style="text-align: justify;" align="left">Cisco routers are usually equipped with an <strong>ISDN BRI</strong> (<strong>Basic Rate</strong>) Interface. This interface is capable of supporting up to two 64Kbps channels, providing a maximum of <strong>128Kbps</strong> throughput.</p>
<p style="text-align: justify;" align="left">You can learn all about the ISDN protocol and capabilities by reading our popular <a href="https://www.firewall.cx/networking/network-protocols.html" target="_blank" title="ISDN WAN Protocol article">ISDN WAN Protocol article</a>.</p>
<p style="text-align: justify;" align="left">Here will show you how to configure step-by-step your Cisco router to perform basic ISDN dialup to an Internet provider. We will also cover some basic authentication options and ISDN parameters that will help you better control your connection.</p>
<h2 style="text-align: justify;" align="left">Example Scenario</h2>
<p style="text-align: justify;" align="left">The diagram below is our example network. The router is the local network's gateway and connects to our Internet provider via ISDN, when needed.</p>
<p><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-isdn-internet-1.jpg" alt="tk-cisco-routers-isdn-internet-1" width="421" height="133" style="display: block; margin-left: auto; margin-right: auto;" title="ISDN Cisco Router Connection" /></p>
<p style="text-align: justify;" align="left">One first thing we need to do is configure the ISDN WAN interface with the necessary parameters. While every BRI ISDN interface card on a Cisco router looks the same, the actual ISDN parameters required to configure it (ISDN switch-type) changes depending on the country you live in.</p>
<p style="text-align: justify;" align="left">For Europe, Australia, Asia and the UK, the ISDN switch-type is usually set to 'ISDN Basic Net3'. For North America, 'Basic 5ess' or 'Basic-dms100' depending on your telecommunication provider. We will be using the 'Basic Net3' switch type.</p>
<p style="text-align: justify;" align="left">For more information, please visit our <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-isdn-config.html" target="_blank" title="Basic ISDN configuration">Basic ISDN configuration</a> article. It contains extensive information on the various switch-types used throughout the world.</p>
<p style="text-align: justify;" align="left">Further configuration of the BRI interface involves the encapsulation type, which is set to 'ppp' (Point-to-Point Protocol), common amongst all ISP's.</p>
<div class="download" align="center">
<div align="left">
<p>R1# <strong>configure terminal</strong><br /> R1(config)# <strong>interface bri 0</strong><br /> R1(config-if)# <strong>description WAN Interface </strong><br /> R1(config-if)# <strong>isdn switch-type basic-net3</strong><br /> R1(config-if)# <strong>encapsulation ppp</strong><br /> R1(config-if)# <strong>dialer pool-member 5 </strong></p>
</div>
</div>
<p style="text-align: justify;" align="left">The <strong>dialer pool-member</strong> will associate the physical ISDN interface (bri 0) with a dialer interface (dialer 0) configured later on. In this example, any dialer interface assigned to <strong>dialer pool member 5</strong> will use this BRI interface when dialing out.</p>
<p style="text-align: justify;" align="left">Dialer interfaces carry the same role as a dialup connection in Windows, where you create a new connection, inserting the phone number, username, password and other parameters. This is a virtual interface that will use the BRI interface to complete the dialup and establish our Internet connection.</p>
<p style="text-align: justify;" align="left">A number of parameters are necessary to make the connection work, these include IP address, encapsulation type, authentication method (CHAP or PAP), ISP username/password and of course, the number it needs to dial:</p>
<div class="download" align="center">
<div align="left">
<p>R1(config)# <strong>interface dialer 0</strong><br /> R1(config-if)# <strong>description Internet-Dialup </strong><br /> R1(config-if)# <strong>ip address negotiated </strong><br /> R1(config-if)# <strong>encapsulation ppp</strong><br /> R1(config-if)# <strong>ppp authentication chap pap callin </strong><br /> R1(config-if)# <strong>ppp chap hostname firewallcx </strong><br /> R1(config-if)# <strong>ppp chap password cisco </strong><br /> R1(config-if)# <strong>ppp pap sent-username firewallcx password cisco </strong><br /> R1(config-if)# <strong>dialer string 2310559500</strong><br /> R1(config-if)# <strong>dialer pool 5 </strong><br /> R1(config-if)# <strong>dialer-group 1</strong><br /> R1(config-if)# <strong>ip nat outside </strong><br /> R1(config-if)# <strong>exit</strong><br /> R1(config)# <strong>dialer-list 1 protocol ip permit </strong></p>
</div>
</div>
<p style="text-align: justify;" align="left">Again, the <strong>dialer pool 5</strong> command associates this dialer with the physical <strong>BRI 0</strong> interface as it too is a member of the same pool. The <strong>dialer-group 1</strong> command is used to match 'Interesting Traffic', that is, traffic that would initiate the dialup to the ISP.</p>
<p style="text-align: justify;" align="left">The <strong>ip nat outside</strong> command is part of the NAT configuration for this router. While NAT is covered in a different article, we will simply list the necessary commands to configure NAT so that the internal network has access to the Internet. You can find more information on NAT by reading through our <a href="https://www.firewall.cx/networking/network-address-translation.html" target="_blank" title="Network Address Translation Articles">NAT Articles</a>.</p>
<p style="text-align: justify;" align="left">We now need to configure the 'ip nat inside' interface, global nat overload command and associated access list. The access list is used to control which internal hosts or network(s) will pass through the nat service so they can access the Internet. Lastly, we insert a default route (0.0.0.0 0.0.0.0) instructing the router to send all traffic destined to other networks, out through the dialer 0 interface:</p>
<div class="download" align="center">
<div align="left">
<p>R1(config)# <strong>interface fastethernet 0/0 </strong><br /> R1(config-if)# <strong>description LAN interface </strong><br /> R1(config-if)# <strong>ip address 192.168.0.1 255.255.255.0 </strong><br /> R1(config-if)# <strong>ip nat inside </strong><br /> R1(config-if)# <strong>exit</strong><br /> R1(config)# <strong>ip nat inside source list 100 interface dialer0 overload </strong><br /> R1(config)# <strong>access-list 100 permit ip 192.168.0.0 0.0.0.255 any </strong><br /> R1(config)# <strong>ip route 0.0.0.0 0.0.0.0 dialer0 </strong></p>
</div>
</div>
<p style="text-align: justify;" align="left">Here we've enabled the NAT service for the 192.168.0.1/24 network via <strong>access list 100</strong>. Generally, if you want to restrict the NAT service to a few hosts, you would simply need to modify <strong>access-list 100</strong> to include these hosts only.</p>
<p style="text-align: justify;" align="left">The above configuration commands are enough to successfully make your router connect to your ISP and provide full Internet access to your internal network.</p>
<p style="text-align: justify;" align="left">Let's now take a quick look at a few additional commands you can use to help tweak your connection.</p>
<h2 style="text-align: justify;" align="left">Additional ISDN Tweaks</h2>
<p style="text-align: justify;" align="left">Because ISDN dialups are usually charged by telecommunication providers based on their time usage, having the connection active without any data passing through, will eventually have you receiving a pretty large phone bill. For this reason, there is a command that can be used to instruct the router to tear-down the dialup if no data triverses the connection for an certain amount of time.</p>
<p style="text-align: justify;" align="left">The <strong>dialer idle-timeout</strong> command does exactly that. If no data passes through the Internet link within the specified time, the dialup connection is teared down. In our example, this timeout is 300 seconds:</p>
<div class="download" align="center">
<div align="left">
<p>R1(config)# <strong>interface dialer 0 </strong><br /> R1(config-if)# <strong>dialer idle-timeout 300 </strong></p>
</div>
</div>
<p style="text-align: justify;" align="left">Up to this point, the configuration of our 'dialer 0' interface will only use one ISDN B channel. This means you'll have a maximum throughput of 64Kbps. Because ISDN BRI can handle up to 128Kbps, we can force the router to bring up the second 64Kbps channel if the first one reaches its full capacity:</p>
<div class="download" align="center">
<div align="left">
<p>R1(config)# <strong>interface dialer 0 </strong><br /> R1(config-if)# <strong>dialer load-threshold 255 either</strong></p>
</div>
</div>
<p style="text-align: justify;" align="left">The threshold that triggeres the second channel can be configured for incoming, outgoing or either traffic. In our example, if the incoming or outgoing traffic reaches 64Kbps, the second ISDN channel will autmomatically come up.</p>
<h2 style="text-align: justify;" align="left">Summary</h2>
<p style="text-align: justify;" align="left">This article covered basic ISDN commands required to initiate a simple ISDN dialup to an ISP. We took a look at some tweaking commands to help make the most out of the ISDN connection and also touched on Network Address Translation.</p>
<p style="text-align: justify;" align="left">If you have found the article useful, we would really appreciate you sharing it with others by using the provided services on the top left corner of this article. Sharing our articles takes only a minute of your time and helps Firewall.cx reach more people through such services.</p>
<p>&nbsp;</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Tue, 16 Aug 2011 09:06:08 +1000</pubDate>
		</item>
		<item>
			<title>Configuring Dynamic NAT (NAT Overload) On A Cisco Router</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-dynamic-nat.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-dynamic-nat.html</guid>
			<description><![CDATA[<p style="text-align: justify;" align="left"><a href="https://www.firewall.cx/networking/network-address-translation.html" target="_blank" title="Understanding Network Address Translation (NAT)">NAT</a> (<a href="https://www.firewall.cx/networking/network-address-translation.html" target="_blank" title="Understanding Network Address Translation (NAT)">Network Address Translation</a>) is a method that allows the translation (modification) of IP addresses while packets/datagrams are traversing the network. Dynamic NAT enables multiple internal hosts access to the Internet by assigning each host a unique real (Public) IP address for the duration of the session.</p>
<p style="text-align: justify;" align="left">Once the internal host stops sending and receiving packets from the Internet, the router's NAT timeout will clear the Dynamic NAT entry from its NAT table, making the real IP address available to the next internal host.</p>
<p align="left">The following steps explain basic Cisco router Dynamic NAT configuration. If you would like to read more on the NAT theory, be sure to read our popular <a href="https://www.firewall.cx/networking/network-address-translation.html" target="_blank" title="NAT articles">NAT articles</a>, which explain in great depth the NAT functions and applications in today's networks. Finally, if you're only interested in Dynamic NAT, you can simply <a href="https://www.firewall.cx/networking/network-address-translation/nat-dynamic-part-1.html" target="_blank" rel="nofollow" title="Dynamic NAT">follow this link</a> and read up on our theoretical example covered on Firewall.cx.</p>
<h2 align="left">Example Scenario</h2>
<p style="text-align: justify;" align="left">The diagram below represents our example network, which consists of a number of internal clients trying to access the Internet via our router. The router is connected to the ISP via its serial interface. The company has been assigned the following Class C subnet: 200.2.2.0/29 (255.255.255.248). This translates to the following usable Public IP addresses: 200.2.2.1 - 200.2.2.6.</p>
<p align="left"><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-nat-dyn-1.gif" alt="Configuring Cisco Router Dynamic NAT" width="617" height="196" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco Router NAT Process - Configuring Dynamic NAT" /></p>
<p align="left">As one would expect, we need to sacrifice two IP addresses: one for the router's serial interface and one for the ISP's router. This leaves us with the following pool of usable Public IP addresses: 200.2.2.2 - 200.2.2.5.</p>
<p align="left">The goal here is to configure the router to dynamically allocate the pool of Public IP addresses to our internal network.</p>
<h2 align="left">Configure Dynamic NAT</h2>
<p align="left">Dynamic NAT configuration is a pretty straightforward process and is almost identical to other types of NAT configurations. The first step in any NAT configuration is to define the <strong>inside</strong> and <strong>outside</strong> interfaces. It is imperative that we define these interfaces for the Dynamic NAT service to function.</p>
<p align="left">Enable IP routing and set the <strong>fast ethernet 0/0</strong> interface as the inside interface:</p>
<div align="center">
<div align="left">
<p class="box-content">R1# <strong>configure terminal</strong><br /> R1(config)#<strong> ip routing</strong><br /> R1(config)# <strong>interface fastethernet0/0</strong><br /> R1(config-if)# <strong>ip nat inside</strong></p>
</div>
</div>
<p align="left">Next step is to set the serial interface S0/0 as the outside interface:</p>
<div align="center">
<div align="left">
<p class="box-content">R1(config-if)# <strong>interface serial0/0</strong><br /> R1(config-if)# <strong>ip nat outside</strong> <br /> R1(config-if)# <strong>exit</strong></p>
</div>
</div>
<p align="left">Next step is to create our pool of Public IP addresses that will be handed out by the router to our internal hosts trying to connect to the Internet. Each time a host sends a packet destined for the Internet, the router will automatically allocate one of the Public IP addresses for the length of that session.</p>
<p align="left">When the session is over, the NAT entry will timeout and the Public IP address is released, making it available once again to the Dynamic NAT pool. Let us define the NAT Pool:</p>
<div class="box-content" align="center">
<div align="left">
<p>R1(config)# <strong>ip nat pool Public-IPS 200.2.2.2 200.2.2.5 prefix-length 29</strong></p>
</div>
</div>
<p align="left">We now need to create an Access Control List (ACL) that will include local (private) hosts or network(s), depending on how large the internal network is.</p>
<p align="left">This ACL will be applied to the NAT pool named 'Public-IPS', effectively controlling the hosts that will be assigned a Public IP address and therefore able to access the Internet.</p>
<p align="left">You can use standard or extended access lists depending on your requirements:</p>
<div class="download" align="center">
<p align="left">R1(config)# <strong> ip nat inside source list 100 pool Public-IPS </strong><br /> R1(config)# <strong>access-list 100 remark == [Control NAT Pool Service]==</strong> <br />R1(config)# <strong>access-list 100 permit ip 192.168.0.0 0.0.0.255 any </strong></p>
</div>
<p align="left">The above command instructs the router to allow the 192.168.0.0/24 network to use the NAT Pool and provide each host with a unique Dynamic Public IP address. Note that Cisco router standard and extended ACLs always use wildcards (0.0.0.255).</p>
<h2 align="left">Verifying Dynamic NAT Operation</h2>
<p align="left">By viewing the Dynamic NAT table you can easily verify that the internal hosts are correctly being assigned a Dynamic IP address from the configured pool:</p>
<div class="download" align="center">
<div align="left">
<p align="left">R1# <strong>show ip nat translations</strong><br /> <strong>Pro&nbsp;&nbsp;&nbsp; Inside global&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Inside local&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Outside local&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Outside global</strong><br /> --- &nbsp; &nbsp;&nbsp; 200.2.2.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; 192.168.0.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ---&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; ---<br /> --- &nbsp; &nbsp;&nbsp; 200.2.2.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 192.168.0.8&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; ---&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; ---</p>
</div>
</div>
<p align="left">&nbsp;As shown, two internal hosts (192.168.0.6 &amp; 192.168.0.8) have each been assigned an external IP address from the pool we previously created.</p>
<p align="left">These translations will eventually timeout if no activity is present from the internal hosts, however, if you need to forcibly clear them this can be easily done by entering the following command:</p>
<div class="download" align="center">
<div align="left">
<p>R1# <strong>clear ip nat translation * </strong></p>
</div>
</div>
<p align="left">Assuming no request has been sent right after the command was entered, the NAT translation table should be empty:</p>
<div class="download" align="center">
<div align="left">
<p align="left">R1# <strong>show ip nat translations</strong><br /> Pro&nbsp; Inside global&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Inside local&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Outside local&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Outside global</p>
</div>
</div>
<p align="left">Lastly, you can obtain statistics on the Dynamic NAT service. This will help you monitor the usage of your Dynamic NAT pool and available public IP addresses:</p>
<div class="download" align="center">
<div align="left">
<p>R1# <strong>show ip nat statistics</strong><br /> Total active translations: 2 (0 static, 2 dynamic; 0 extended)<br /> Outside interfaces:<br />Serial0/0<br />Inside interfaces: <br />FastEthernet0/0<br />Hits: 8968 Misses: 2<br />Expired translations: 0<br />Dynamic mappings:<br />-- Inside Source<br />[Id: 1] access-list 100 pool Public_IPS refcount 2<br />pool PUBLIC: netmask 255.255.255.0<br />start 200.2.2.2 end 200.2.2.5 <br />type generic, total addresses 4, allocated 2 (50%), misses 0</p>
</div>
</div>
<h2>Summary</h2>
<p style="text-align: justify;" align="left">In this article we've covered the configuration of Dynamic NAT on Cisco routers. We also saw how you can control the Dynamic NAT service using ACLs and obtain detailed statistics on the NAT service. The configuration and commands presented here are compatible with all Cisco router models and IOSs.</p>
<p style="text-align: justify;" align="left">If you have found the article useful, we would really appreciate you sharing it with others by using the provided services on the top left corner of this article. Sharing our articles takes only a minute of your time and helps Firewall.cx reach more people through such services.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Tue, 16 Aug 2011 08:47:56 +1000</pubDate>
		</item>
		<item>
			<title>Configuring NAT Overload On A Cisco Router</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-nat-overload.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-nat-overload.html</guid>
			<description><![CDATA[<p><a href="https://www.firewall.cx/networking/network-address-translation.html" target="_blank" title="NAT (Network Address Translation)">NAT (Network Address Translation)</a> is a method that allows the translation (modification) of IP addresses while packets/datagrams are traversing the network. <a href="https://www.firewall.cx/networking/network-address-translation/nat-overload-part-1.html" target="_blank" title="NAT Overload">NAT Overload</a>, also known as PAT (Port Address Translation) is essentially NAT with the added feature of <a href="https://www.firewall.cx/networking/network-protocols/tcp-udp-protocol.html" target="_blank" title="TCP/UDP">TCP/UDP</a> ports translation.</p>
<p style="text-align: justify;" align="left">The main purpose of NAT is to hide the IP address (usually private) of a client in order to reserve the public address space. For example a complete network with 100 hosts can have 100 private IP addresses and still be visible to the outside world (internet) as a single IP address. Other benefits of NAT include security and economical usage of the IP address ranges at hand.</p>
<p style="text-align: justify;" align="left">The following steps explain basic Cisco router NAT Overload configuration. NAT overload is the most common operation in most businesses around the world, as it enables the whole network to access the Internet using one single real IP address. If you would like to know more about the NAT theory, be sure to read our popular <a href="https://www.firewall.cx/networking-topics/network-address-translation-nat.html" target="_blank" title="NAT articles">NAT articles</a>, which explain in great depth the NAT functions and applications in today's networks.</p>
<h2>Example Scenario</h2>
<div style="text-align: justify;">The diagram below represents our example network which consists of a number of internal clients and a router connected to our ISP via its serial interface. The company has been assigned the following Class C subnet: 200.2.2.0/30 (255.255.255.252).</div>
<p style="text-align: justify;" align="left">This translates to one usable real IP address - 200.2.2.1 - configured on our router's serial interface. IP address 200.2.2.2 will be used on the other end, that is, the ISP's router. Our ISP has also provided us with the necessary default gateway IP address (configured on our router - not shown) in order to route all traffic to the Internet.</p>
<p style="text-align: justify;" align="left">Our goal in this example is to configure NAT Overload (PAT) and provide all internal workstations with Internet access using one public IP address (200.2.2.1).</p>
<h2>Configure NAT Overload - PAT (Port Address Translation)</h2>
<p style="text-align: justify;">'Overloading' means that the single public IP assigned to your router can be used by multiple internal hosts concurrently. This is done by translating source UDP/TCP ports in the packets and keeping track of them within the translation table kept in the router (R1 in our case). This is a typical NAT configuration for almost all of today's networks.</p>
<p style="text-align: justify;" align="left">In addition, <strong>NAT Overload</strong> (<strong>PAT</strong>) is covered in great depth on Firewall.cx. Those interested can visit our <a href="https://www.firewall.cx/networking/network-address-translation/nat-overload-part-1.html" target="_blank" title="NAT Overload">NAT Overload (PAT) article</a>.</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/tk-cisco-routers-nat-ovld-1.gif" alt="tk-cisco-routers-nat-ovld-1" width="618" height="197" style="display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: justify;" align="left">The first step in any NAT configuration is to define the <strong>inside</strong> and <strong>outside</strong> interfaces. It is imperative that we define the these interfaces for NAT overload to function.</p>
<div>Set the fast ethernet 0/0 interface as the inside interface:</div>
<div class="box-content">R1# configure terminal<br />R1(config)# interface fastethernet0/0<br />R1(config-if)# ip nat inside</div>
<div>Next step is to set the serial interface S0/0 as the outside interface:</div>
<div class="box-content" style="text-align: justify;">R1(config-if)# <strong>interface serial0/0<br /> </strong> R1(config-if)# <strong>ip nat outside </strong><br /> R1(config-if)# <strong>exit</strong></div>
<p>We now need to create an Access Control List (ACL) that will include local (private) hosts or network(s). This ACL will later on be applied to the NAT service command, effectively controlling the hosts that will be able to access the Internet. You can use standard or extended access lists depending on your requirements:</p>
<div class="box-content">R1(config)# <strong>access-list 100 remark == [Control NAT Service]==</strong><br />R1(config)# <strong>access-list 100 permit ip 192.168.0.0 0.0.0.255 any</strong></div>
<p>The above command instructs the router to allow the 192.168.0.0/24 network to reach any destination. Note that Cisco router standard and extended ACLs always use wildcards (0.0.0.255).</p>
<p style="text-align: justify;" align="left">All that's left now is to enable NAT overload and bind it to the outside interface previously selected:</p>
<p><span class="download">R1(config)# <strong>ip nat inside source list 100 interface serial 0/0 overload </strong></span></p>
<p style="text-align: justify;" align="left">From this point onward, the router will happily create all the necessary translations to allow the 192.168.0.0/24 network access to the Internet.</p>
<h2>Verifying NAT Overload Οperation</h2>
<p style="text-align: justify;" align="left">Viewing the NAT translation table can sometimes reveal a lot of important information on your network's activity. Here you'll be able to identify traffic that's not supposed to be routed to the Internet or traffic that seems suspicious.</p>
<p style="text-align: justify;" align="left">As packets start traversing the router it will gradually build up its NAT/PAT translation table as shown below:</p>
<div class="box-content" style="text-align: justify;">R1# <strong><strong>show ip nat translations<br /><strong>Pro Inside global&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Inside local&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Outside local&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Outside global<br /></strong></strong></strong>
<div>udp 200.2.2.1:53427&nbsp; 192.168.0.6:53427&nbsp;&nbsp; &nbsp;&nbsp; 74.200.84.4:53&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 74.200.84.4:53</div>
<div>udp 200.2.2.1:53427&nbsp; 192.168.0.6:53427&nbsp;&nbsp; &nbsp;&nbsp; 195.170.0.1:53&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 195.170.0.1:53<br />
<div>tcp 200.2.2.1:53638&nbsp;&nbsp; 192.168.0.6:53638&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 64.233.189.99:80&nbsp;&nbsp;&nbsp; 64.233.189.99:80</div>
<div>tcp 200.2.2.1:57585&nbsp;&nbsp; 192.168.0.7:57585&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 69.65.106.48:110&nbsp;&nbsp;&nbsp; 69.65.106.48:110</div>
<div>tcp 200.2.2.1:57586&nbsp;&nbsp; 192.168.0.7:57586&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 69.65.106.48:110&nbsp;&nbsp;&nbsp; 69.65.106.48:110</div>
</div>
</div>
<p style="text-align: justify;" align="left">As shown, the first 2 translations directed to <strong>74.200.84.4</strong> &amp; <strong>195.170.0.1</strong> are DNS requests from internal host <strong>192.168.0.6</strong>. The third entry seems to be an http request to a web server with IP address <strong>64.233.189.99</strong>.</p>
<p style="text-align: justify;" align="left">Looking at the fourth and fifth translation entry, you should identify them as pop3 requests to an external server, possibly generated by an email client.</p>
<p style="text-align: justify;" align="left">Because these entries are all dynamically created, they are temporary and will be removed from the translation table after some time.</p>
<p style="text-align: justify;" align="left">Another point you might want to keep in mind is that when we use programs that create a lot of connections e.g Utorrent, Limewire, etc., you might see sluggish performance from the router as it tries to keep up with all connections. Having thousands of connections running through the router can put some serious stress on the CPU.</p>
<p style="text-align: justify;" align="left">In these cases, we might need to clear the IP NAT table completely to free up resources.<br /> This is easily done using the following command:</p>
<p class="box-content">R1# <strong>clear ip nat translation *&nbsp;</strong></p>
<p>Assuming no request has been sent right after the command was entered, the NAT translation table should be empty:</p>
<div align="center">
<div align="left">
<p class="box-content" align="left">R1# <strong>show ip nat translations</strong><br /> Pro Inside global ...........Inside local .....Outside local .......Outside global</p>
</div>
</div>
<p style="text-align: justify;" align="left">Lastly, you can obtain statistics on the overload NAT service. This will show you the amount of current translations tracked by our NAT table, plus a lot more:</p>
<div align="center">
<div align="left">
<p class="box-content">R1# <strong>show ip nat statistics</strong><br /> Total active translations: 200 (0 static, 200 dynamic; 200 extended)<br /> Outside interfaces:<br /> Serial 0/0 <br /> Inside interfaces: <br /> FastEthernet0/0<br /> Hits: 163134904 Misses: 0<br /> CEF Translated packets: 161396861, CEF Punted packets: 3465356<br /> Expired translations: 2453616<br /> Dynamic mappings:<br /> -- Inside Source<br /> [Id: 2] access-list 100 interface serial 0/0 refcount 195<br /> Appl doors: 0<br /> Normal doors: 0<br /> Queued Packets: 0</p>
</div>
</div>
<h2 style="text-align: justify;">Article Summary</h2>
<p style="text-align: justify;" align="left">In this article we've covered configuration of NAT Overload on Cisco routers. We also saw how you can control the NAT Overload service using ACLs and obtain detailed statistics on the NAT service. The configuration and commands presented here is compatible with all Cisco router models and IOS's.</p>
<p style="text-align: justify;" align="left">If you have found the article useful, we would really appreciate you sharing it with others by using the provided services on the top left corner of this article. Sharing our articles takes only a minute of your time and helps Firewall.cx reach more people through such services.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Fri, 08 Jul 2011 05:40:29 +1000</pubDate>
		</item>
		<item>
			<title>How To Configure DNS Server On A Cisco Router</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-dns-server.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-dns-server.html</guid>
			<description><![CDATA[<p style="text-align: justify;">The <a href="https://www.firewall.cx/networking/network-protocols/dns-protocol.html" target="_blank" title="DNS Protocol">DNS protocol</a> is used to resolve FQDN (Fully Qualified Domain Names) to <a href="https://www.firewall.cx/networking/network-protocols/ip-protocol.html" target="_blank" title="IP addresses">IP addresses</a> around the world. This allows us to successfully find and connect to Internet websites and services no matter where they are. Its usefulness, however, doesn't stop there: local company and private networks also rely on DNS to operate efficiently and correctly.</p>
<p style="text-align: justify;" align="left">In many cases, where a local DNS server is not available, we are forced to either use our ISP's DNS servers or some public DNS server, however, this can sometimes prove troublesome. Today, small low-end routers have the ability to integrate DNS functionality, making life easier, but so do Cisco routers - they simply have to be setup and you're done.</p>
<p style="text-align: justify;" align="left">This article will show you how to configure your Cisco router to provide DNS services to your network, and make all clients use it as a DNS server. Our easy to follow step-by-step process ensures you'll understand the process and have it running within minutes.</p>
<h2>Example Scenario</h2>
<p style="text-align: justify;" align="left">Consider the following network diagram. This is our example network, we'd like to enable the DNS Service so our workstations can properly resolve Internet domains but also local network names.</p>
<p style="text-align: center;" align="left"><img src="https://www.firewall.cx//images/stories/cisco/tk-cisco-routers-dns-1.jpg" alt="tk-cisco-routers-dns-1" width="413" height="271" style="border: 1px solid #000000;" title="Cisco Router DNS Query Process" /></p>
<p style="text-align: center;" align="left">&nbsp;</p>
<p align="left">First step is to enable the DNS service and domain lookup on the router:</p>
<div class="box-content">R1# <strong>configure terminal</strong><br /> R1(config)# <strong>ip dns server<br /> </strong>R1(config)#<strong> <strong>ip domain-lookup</strong><br /></strong></div>
<p style="text-align: justify;">Next, we need to configure the router with a public name-server, this will force the router to perform recursive DNS lookups, in other words, for every request it receives from our workstations the router will try to find the answer by asking as many DNS servers it needs, and finally return with an answer:</p>
<div class="box-content">R1(config)# <strong>ip name-server 4.2.2.5</strong><br /> R1(config)# <strong>ip name-server 4.2.2.6</strong></div>
<p style="text-align: justify;" align="left">The Cisco IOS will allow you to enter up to 6 different name servers (essentially DNS servers). Usually you would use your ISP's DNS server to ensure you have quick responses, then place a few free public DNS servers such as the ones above. This will ensure that you'll get a DNS response from either your ISP or public DNS servers.</p>
<p style="text-align: justify;" align="left">Next step is to configure your DNS server with the host names of your local network, this way when Alan's PC trys to ping or connect to Wayne, the router will successfully resolve its netbios name to the appropriate IP address:</p>
<div class="box-content" align="left">R1(config)# <strong>ip host alan 192.168.1.10</strong><br /> R1(config)#<strong> ip host john 192.168.1.11</strong><br /> R1(config)# <strong>ip host wayne 192.168.1.12</strong></div>
<p align="left">If you now try to ping 'wayne' directly from your router's CLI prompt, you should receive an answer:</p>
<div class="box-content">R1# <strong>ping wayne</strong><br /><br />Type escape sequence to abort.<br /> Sending 5, 100-byte ICMP Echos to 192.168.1.12, timeout is 2 seconds:<br /> !!!!!<br /> Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms</div>
<p align="left">At this point, you can configure your workstations to use your router's IP address as the primary DNS server:</p>
<p align="left"><img src="https://www.firewall.cx//images/stories/cisco/tk-cisco-routers-dns-2.png" alt="tk-cisco-routers-dns-2" width="368" height="414" style="border: 1px solid #000000; display: block; margin-left: auto; margin-right: auto;" /></p>
<h2>Summary</h2>
<p style="text-align: justify;" align="left">We've covered how a Cisco router can be used as a basic DNS server to enable network clients to perform DNS queries for the local network and Internet.</p>
<p style="text-align: justify;" align="left">Future articles in DNS will cover more advanced configurations, including full domain resource records, DNS load balancing and more.</p>
<p style="text-align: justify;" align="left">If you have found the article useful, we would really appreciate you sharing it with others by using the provided services on the top left corner of this article. Sharing our articles takes only a minute of your time and helps Firewall.cx reach more people through such services.</p>
<p>&nbsp;</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Mon, 13 Jun 2011 06:57:19 +1000</pubDate>
		</item>
		<item>
			<title>Installing Security Device Manager (SDM) on a Cisco Router</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-sdm.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-sdm.html</guid>
			<description><![CDATA[<p>For years now, Cisco has been developing its Security Device Manager (SDM) software. This web-based software is designed to help the less experienced users and administrators to work and configure various services and functions of a Cisco router.</p>
<p style="text-align: justify;" align="left">There are two different editions of SDM, the full SDM package and the SDM Express package.</p>
<p style="text-align: justify;" align="left">The full SDM package contains a number of modules and options for your router's configuration, while the Express package is essentially a cut-down version containing the core modules. You should note that you'll need <a href="https://www.firewall.cx/downloads/cisco-tools-a-applications.html" target="_blank" title="Java Runtime Download &amp; Installation"><strong>Java Runtime 1.5</strong></a> installed on your workstation in order for SDM to function. To obtain the necessary <strong>Java Runtime</strong> <a href="https://www.firewall.cx/downloads/cisco-tools-a-applications.html" target="_blank" title="Java Runtime Download &amp; Installation">click here</a>.</p>
<p style="text-align: justify;" align="left">The full SDM can be found on the CD that came with your router but is also downloadable via Cisco's website. The SDM Express package usually comes preinstalled on your router's flash memory.</p>
<p style="text-align: justify;" align="left">If you would like to download the latest available Cisco SDM, you can conveniently find it in our <a href="https://www.firewall.cx/downloads/cisco-tools-a-applications.html" target="_blank" title="Cisco Tools &amp; Applications Download">Cisco Tools &amp; Application</a> Download Section or alternatively go to Cisco's website, log in to your CCO account and download from there. If you don't have a CCO account, you can register one for free and proceed to the following location <a href="http://www.cisco.com/cgi-bin/tablebuild.pl/sdm" target="_blank" rel="nofollow noopener" title="Cisco SDM Download">http://www.cisco.com/cgi-bin/tablebuild.pl/sdm</a> as shown below:</p>
<p style="text-align: justify;" align="left"><img src="https://www.firewall.cx/images/stories/cisco/tk-cisco-routers-ins-sdm-1.png" alt="tk-cisco-routers-ins-sdm-1" width="500" height="370" style="border: 1px solid #000000; display: block; margin-left: auto; margin-right: auto;" title="Cisco SDM Download - CCO Account Login" /></p>
<p style="text-align: justify;" align="left">&nbsp;</p>
<p style="text-align: justify;" align="left">Once you log in, you'll be presented with the download table from where you can select the latest version:</p>
<p style="text-align: justify;" align="left"><img src="https://www.firewall.cx/images/stories/cisco/tk-cisco-routers-ins-sdm-2.png" alt="tk-cisco-routers-ins-sdm-2" width="502" height="296" style="border: 1px solid #000000; display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: justify;" align="left">Once you select and download the appropriate zip file (SDM-V25.zip in our example) you'll be able to unzip it and start your installation, however, to ensure your installation succeds, you must telnet into your router or use the console port to log in via CLI, create a username &amp; password, and enable HTTP authentication:</p>
<div class="box-content" style="text-align: justify;" align="left">R1# <strong>configure terminal </strong><br /> R1(config)# <strong>username firewall.cx privilege 15 password ciscorocks </strong><br /> R1(config)# <strong>ip http authentication local</strong><br /> R1(config)# <strong>exit</strong><br /> R1# <strong>copy running-config startup-config</strong><br /> Destination filename [startup-config]? <em>(hit enter) </em><br /> Building configuration...<br /> [OK]<br /> R1#</div>
<p style="text-align: justify;" align="left">Now start your installation. During the installation you'll be prompted to select if you'd like to install Cisco SDM on your computer, router or both. Select your router:</p>
<p style="text-align: justify;" align="left"><img src="https://www.firewall.cx/images/stories/cisco/tk-cisco-routers-ins-sdm-3.png" alt="tk-cisco-routers-ins-sdm-3" width="504" height="385" style="border: 1px solid #000000; display: block; margin-left: auto; margin-right: auto;" title="Cisco SDM Wizard Installation Options" /></p>
<p style="text-align: justify;" align="left">&nbsp;</p>
<p style="text-align: justify;" align="left">In the next screen, you'll be asked for your router's details (IP Address, username, password) in order to have the SDM software installed on it:</p>
<p style="text-align: justify;" align="left"><img src="https://www.firewall.cx/images/stories/cisco/tk-cisco-routers-ins-sdm-4.png" alt="tk-cisco-routers-ins-sdm-4" width="504" height="386" style="border: 1px solid #000000; display: block; margin-left: auto; margin-right: auto;" title="Cisco SDM Wizard - Router Credentials" /></p>
<p style="text-align: justify;" align="left">&nbsp;</p>
<p style="text-align: justify;" align="left">Once you provide all necessary information, you'll get the progress bar indicating the connection towards your router:</p>
<p style="text-align: justify;" align="left"><img src="https://www.firewall.cx/images/stories/cisco/tk-cisco-routers-ins-sdm-5.png" alt="tk-cisco-routers-ins-sdm-5" width="321" height="115" style="border: 1px solid #000000; display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: justify;" align="left">&nbsp;</p>
<p style="text-align: justify;" align="left">Next is the section where you can select a 'Typical' installation or 'Custom'. Select 'Typical' as it will automatically choose the appropriate settings and packages for your router:</p>
<p style="text-align: justify;" align="left"><img src="https://www.firewall.cx/images/stories/cisco/tk-cisco-routers-ins-sdm-6.png" alt="tk-cisco-routers-ins-sdm-6" width="504" height="386" style="border: 1px solid #000000; display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: justify;" align="left">&nbsp;</p>
<p style="text-align: justify;" align="left">As you can see, SDM v2.5 requires approximately 8.9MB of flash space. Hit 'Next' and your installation begins:</p>
<p style="text-align: justify;" align="left"><img src="https://www.firewall.cx/images/stories/cisco/tk-cisco-routers-ins-sdm-7.png" alt="tk-cisco-routers-ins-sdm-7" width="504" height="386" style="border: 1px solid #000000; display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: justify;" align="left">&nbsp;</p>
<p style="text-align: justify;" align="left">This process will take a couple of minutes as all files are transferred to your router's Flash and final configuration changes are made. Once complete, you'll be given the option to start SDM. If you choose to do so, you'll be redirected to your web browser and asked for the appropriate credentials.</p>
<p style="text-align: justify;" align="left">You'll have to make sure you've disabled any pop-up blockers otherwise you won't be able to see the necessary windows that will try to 'pop-up'. After a minute or so you should see the first screen of SDM collecting information on your router:</p>
<p style="text-align: justify;" align="left"><img src="https://www.firewall.cx/images/stories/cisco/tk-cisco-routers-ins-sdm-8.png" alt="tk-cisco-routers-ins-sdm-8" width="550" height="397" style="border: 1px solid #000000; display: block; margin-left: auto; margin-right: auto;" title="Cisco SDM Interface" /></p>
<p style="text-align: justify;" align="left">Once this step is over, you'll get your first real-time overview of your router. From here you can configure or monitor any aspect of your Cisco router. The SDM software is constantly being updated with new features, bringing it closer to the flexibility and power of the IOS command line - however, it does still have a long way to go :)</p>
<p style="text-align: justify;" align="left">The following screenshot is from the 'Monitor' tab, which can provide a wealth of information regarding the router's status and is extremely useful even for the most experienced:</p>
<p style="text-align: justify;" align="left"><img src="https://www.firewall.cx/images/stories/cisco/tk-cisco-routers-ins-sdm-9.png" alt="tk-cisco-routers-ins-sdm-9" width="550" height="452" style="border: 1px solid #000000; display: block; margin-left: auto; margin-right: auto;" /></p>
<h2>Summary</h2>
<p style="text-align: justify;" align="left">We've covered Cisco's popular SDM software and gave the download location and the steps required to successfully install it on your local router. While the SDM software is unable to completely replace the Cisco CLI, you'll surely find it useful. If you happen to run into problems installing the SDM software, you can turn to our site's forums where our community and dedicated Cisco engineers will gladly help you out!</p>
<p><br /><br /></p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Mon, 13 Jun 2011 06:52:29 +1000</pubDate>
		</item>
		<item>
			<title>Cisco Router 'Privileged' Mode</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-pri-mode.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-pri-mode.html</guid>
			<description><![CDATA[<p style="text-align: justify;">To get into <strong>Privileged Mode</strong> we enter the "<strong>Enable</strong>" command from <strong>User Exec Mode</strong>. If set, the router will prompt you for a password. Once in <strong>Privileged Mode</strong>, you will notice the prompt changes from "<strong>&gt;</strong>" to a "<strong>#</strong>" to indicate that we are now in <strong>Privileged Mode</strong>.</p>
<p style="text-align: justify;">The <strong>Privileged Mode</strong> (<strong>Global Configuration Mode</strong>) is used mainly to configure the router, enable interfaces, setup security, define dialup interfaces etc.</p>
<p style="text-align: justify;">We've included a screenshot of the router to give an idea of the commands available in <strong>Privileged Mode</strong> in comparison to the <strong>User Exec Mode</strong>. Remember that these commands have sub-commands and can get quite complicated:</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/cisco-mode-priv-1.gif" alt="cisco-mode-priv-1" width="561" height="684" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco Router Configuration" /></p>
<p style="text-align: justify;">As you can see, there is a wider choice of commands in <strong>Privileged Mode</strong>.</p>
<p style="text-align: justify;">Now, when you want to configure certain services or parts of the router you will need to enter <strong>Global Configuration Mode</strong> from within <strong>Privileged Mode</strong>. If you're confused by now with the different modes available try to see it this way:</p>
<p style="text-align: justify;"><strong>User Exec Mode</strong> (distinguished by the "<strong>&gt;</strong>" prompt) is your first mode, which is used to get statistics from router, see which version <strong>IOS </strong>you're running, check memory resources and a few more things.</p>
<p style="text-align: justify;"><strong>Privileged Mode</strong> (distingushed by the "<strong>#</strong>" prompt) is the second mode. Here you can enable or disable interfaces on the router, get more detailed information on the router, for example, view the running configuration of the router, copy the configuration, load a new configuration to the router, backup or delete the configuration, backup or delete the IOS and a lot more.</p>
<p style="text-align: justify;"><strong>Global Configuration Mode</strong> (distingushed by the&nbsp;<strong>(config)#</strong> prompt) is accessable via <strong>Privileged Mode</strong>. In this mode you're able to configure each interface individually, setup banners and passwords, enable secrets (encrypted passwords), enable and configure routing protocols and a lot more. We dare say that almost everytime you want to configure or change something on the router, you will need to be in this mode.</p>
<h2 style="text-align: justify;">Entering Global Configuration</h2>
<p style="text-align: justify;">The picture below shows you how to enter <strong>Global Configuration Mode</strong>:</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/cisco-mode-priv-2.gif" alt="cisco-mode-priv-2" width="596" height="249" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco Router Enable" /></p>
<p style="text-align: justify;">As you can see, we have telneted into the router and it prompted for a password. We entered the password, which is not shown, at this point we are in <strong>User Exec Mode</strong> and then entered "<strong>enable</strong>" in order to get into the <strong>Privileged Mode</strong>. From here to get into <strong>Global Configuration Mode</strong> you need to enter the "<strong>configure </strong><em>selection</em>" command.</p>
<p style="text-align: justify;">Now you must be wondering what the various parameters shown in the picture are, under the "configure" command. These allow you to select how you will configure the router:</p>
<ul style="text-align: justify;">
<li><strong>Configure Memory </strong>means you enter Global Configuration Mode and are configuring the router in its NVRAM. This command will force the router to load up the startup-config file stored in the NVRAM and then you can proceed with the configuration. When you're happy with the configuration, save it to NVRAM by entering "<strong>copy running-config startup-config</strong>".</li>
</ul>
<ul style="text-align: justify;">
<li><strong>Configure Network</strong> means you enter Global Configuration Mode and load a startup-config file from a remote router (using tftp) into your local router's memory and configure it. Once you're finished, you need to enter "<strong>copy running-config tftp</strong>" which will force the router to copy its memory configuration onto a tftp server. The router will prompt you for the IP address of the remote tftp server.</li>
</ul>
<ul style="text-align: justify;">
<li><strong>Configure Overwrite-network</strong> means that you overwrite the NVRAM's configuration with a configuration stored on a tftp server. Issuing this command will force the router to prompt for an IP address of the remote tftp server. This command is rarely used.</li>
</ul>
<ul style="text-align: justify;">
<li><strong>Configure Terminal</strong> means you enter Global Configuration Mode and work with the configuration which is already loaded into the router's memory (Cisco calls this the running-config). This is the most popular command, as in most cases you need to modify or re-configure the router on the spot and then save your changes.</li>
</ul>
<p style="text-align: justify;">You will need to save this configuration otherwise everything you configure will be lost upon power failure or reboot of the router!</p>
<p style="text-align: justify;">Below are the commands you need to enter to save the configuration, depending on your network setup:</p>
<ul style="text-align: justify;">
<li><strong>Copy running-config startup-config</strong>: Copies the configuration which is running in the router's RAM in to the NVRAM and gives it a file name of startup-config (default). If one already exists in the NVRAM, it will be overwritten by the new one.</li>
</ul>
<ul style="text-align: justify;">
<li style="text-align: justify;"><strong>Copy running-config tftp</strong>: Copies the configuration which is running in the router's RAM in to a tftp server which might be running on your network. You will be asked for the IP address of the tftp server and given the choice to select a filename for the configuration. Some advanced routers can also act as tftp servers.</li>
</ul>
<h2>Generic Configuration</h2>
<p style="text-align: justify;">There are a few standard things with which you always need to configure the router . For example, a hostname. This is also used as a login name for the remote router to which your router needs to authenticate. Before we get stuck into the interface configuration we are going to run through a few of these commands. The following examples assume no passwords have been set as yet and that the router has a default hostname of "router":</p>
<p style="text-align: justify;">We connect to the router via the console port using the serial cable and type the following:</p>
<div class="download">Router&gt; <strong>enable</strong> (gets us into Privileged Mode)
<div>Router# <strong>configure terminal</strong> (This command gets us into the appropriate Global Configuration Mode as outlined above)</div>
<div>Router(config)# <strong>hostname swiftpond</strong> (This command sets the router's hostname to swiftpond. From this moment onwards, swiftpond will appear before the "<strong>&gt;</strong>" or "<strong>#</strong>" depending on which mode we are in)</div>
<div>&nbsp;</div>
<div>swiftpond(config)#<strong> username router2.isp password firewallcx</strong> (Here we are telling the router that the remote router which we are connecting to, has a username of "router2.isp" and our password to authenticate to router2.isp is "firewallcx")</div>
</div>
<p style="text-align: justify;">This is a standard way of authentication with Cisco routers. Your router's hostname is your login name and your password (in our case "firewallcx") is entered at the same time you define the remote router's hostname.</p>
<p style="text-align: justify;">Next we create a static route so the router will pass all packets originating from our network to the remote router. This is usually the case when you connect to your isp.</p>
<div class="download">swiftpond(config)# <strong>ip route 0.0.0.0 0.0.0.0 139.130.34.43</strong>&nbsp;</div>
<p>With the above command we tell our router to create a default route where any packet -defined by the <strong>first 0.0.0.0</strong>- no matter what subnetmask -defined by the<strong> second 0.0.0.0</strong>- is to be sent to ip 139.130.34.43 which would be the router we are connecting to.</p>
<p>In the case where you were not configuring the router to connect to the Internet but to join a small WAN which connects a few offices, then you probably want to use a routing protocol:</p>
<div class="download">swiftpond(config)# <strong>router rip</strong> (Enables RIP routing protocol. After this command you enter the routing protocols configuration section -see below- where you can change timing parameters and other)
<div>swiftpond(config-router)#</div>
</div>
<div>At this prompt you can fine tune RIP or just leave it to the default setting which will work fine. The "exit" command takes you one step back:</div>
<div class="download">swiftpond(config-router)# <strong>exit</strong><br />
<div>swiftpond(config)#</div>
</div>
<p>Alternatively, you can use IGRP as a routing protocol, in which case you would have to enter the following:</p>
<div class="download">swiftpond(config)# <strong>router igrp 1</strong> (The "1" defines the Autonomous system number)</div>
<div>Again, the "exit" command will take you back one step:</div>
<div class="download">swiftpond(config-router)# <strong><strong><strong>exit</strong><br /></strong></strong>
<div>swiftpond(config)#</div>
</div>
<p>After that, we need to create a dialer list which our WAN interface BRI (ISDN) will use to make a call to our ISP.</p>
<div class="download">swiftpond(config)# <strong>dialer-list 1 protocol ip permit</strong> (Now we are telling the router to create a dialer list and bind it to group 1. The "protocol ip permit" tells the router to initiate a call for an ip packet)</div>
<p>We'll give you a quick example to make sure you understand the reason we put this command:</p>
<p>If you launched your web browser, it would send an http request to the server you have set as a homepage e.g www.firewall.cx. This request which your computer is going to send, is encapsulated in an ip packet that will cause your router to initiate a connection, as it is now configured to do so.</p>
<p>The dialup interface for Cisco routers is broken into 2 parts: a Dialer-list and a Dialer-group.</p>
<p>The Dialer-list defines the rules for placing a call. Later on when you configure the WAN interface, you bind that Dialer-list to the interface by using the <strong>Dialer-group</strong> command (shown later on).</p>
<h2>Configuring Interfaces</h2>
<p style="text-align: justify;">In our example we said we have a router with one Ethernet and one basic ISDN interface (max of 128Kbit). We are going to go through the process of configuring the interfaces. We will start with the Ethernet Interface.</p>
<p style="text-align: justify;">In order to configure the interface, we need to be in <strong>Global Configuration Mode</strong>, so we need to type first "<strong>enable</strong>" in order to get into <strong>Privileged Mode</strong> and then "<strong>configure terminal</strong>" to get into the appropriate <strong>Global Configuration Mode</strong> (as explained above). Now we need to select the interface we want to configure, in this case the first ethernet interface (E0) so we type "interface e0".</p>
<p style="text-align: justify;">This picture shows clearly all the steps:</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/cisco-mode-priv-3.gif" alt="cisco-mode-priv-3" width="537" height="169" title="Cisco Router Interface Configuration" /></p>
<p style="text-align: justify;">Any commands entered here will affect the first ethernet interface only. So we start with the IP address. It's important to understand that this IP address would be visible to both networks to which the router is connected. If we were connecting to the Internet then everyone would be able to see this IP. Futhermore, the IP address would also be the default gateway for our firewall or machine which would physically connect directly to the router.</p>
<p style="text-align: justify;">The following commands will configure the ethernet interface's IP address:</p>
<div class="download" style="text-align: justify;">(config-if)#<strong> ip address 192.168.0.1 255.255.255.0</strong></div>
<p style="text-align: justify;">or</p>
<div class="download" style="text-align: justify;">(config-if)# i<strong>p address 139.130.4.5 255.255.255.0 secondary</strong></div>
<p style="text-align: justify;">Now that we have given e0 its IP address, we need to give the ISDN interface its IP as well, so we need to move to the correct interface by typing the following:</p>
<div class="download">(config-if)# <strong>exit</strong> (this exits from the e0 interface configuration)<strong><strong><br /></strong></strong>
<div>(config-if)# <strong>interface bri0</strong> (this command enters the configuration for the first ISDN interface)</div>
<div>(config-if)# <strong>ip address 10.0.0.2 255.255.255.224</strong> (this command sets the IP address for BRI 0 which is also known as the WAN IP address)</div>
</div>
<p style="text-align: justify;">Now when it comes to configuring WAN interfaces, you need more than just an IP address (LAN interfaces such as E0 are a lot easier to configure). You need to set the encapsulation type, the authentication protocol the router will use to authenticate to the remote router, the phone number it will need to dial and a few more:</p>
<div class="download" style="text-align: justify;">(config-if)#<strong> encapsulation ppp</strong> (This command sets the packet's encapsulation to ppp which is 100% compatible with all routers no matter what brand)
<div style="text-align: justify;">(config-if)# <strong>dialer string 0294883452</strong> (This command tells the router which phone number it needs to dial in order to establish a connection with our remote router e.g your ISP)</div>
<div style="text-align: justify;">&nbsp;</div>
<div style="text-align: justify;">(config-if)#<strong> dialer group 1</strong> (This command tells the router to use the dialer list 1 (configured previously) to initiate a connection)</div>
<div style="text-align: justify;">(config-if)# <strong>idle-timeout 2000000</strong> (This command is optional and allows us to set an idle timeout so if the router is idle for so many seconds, it will disconnect. A value of 2 million seconds means the router will never disconnect)</div>
<div style="text-align: justify;">&nbsp;</div>
<div style="text-align: justify;">(config-if)# <strong>isdn switch-type basic-net3</strong> (This command tells the router the type of ISDN interface we are using. Each country has its own type, so you need to consult your Cisco manual to figure out which type you need to put here)</div>
<div style="text-align: justify;">&nbsp;</div>
<div style="text-align: justify;">(config-if)#<strong> dialer load-threshold 125 outbound</strong> (This command is optional and allows us to specify a threshold upon which it will place another call. The value it takes is from 1 to 255. A value of 125 means bring up the second B channel if either the inbound or outbound traffic load is 50%.</div>
</div>
<p style="text-align: justify;">That pretty much does it for our ISDN (WAN) interface. All you need to do now is to <strong>SAVE</strong> the configuration!</p>
<p style="text-align: left;">We hope it wasn't too bad for you, since there is a quite a bit of information on this page. We encourage you to read through it again until you understand what is going on, then you will find it a breeze to configure a Cisco router yourself!</p>
<p><br /><br /></p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Mon, 13 Jun 2011 06:29:31 +1000</pubDate>
		</item>
		<item>
			<title>Cisco Router  'User Exec' Mode</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-ue-mode.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-ue-mode.html</guid>
			<description><![CDATA[<h4 style="text-align: justify;">Introduction</h4>
<p style="text-align: justify;" align="left">Let's see what it looks like to be in <strong>User-Exec mode</strong> on a Cisco router. Below, we have telneted into our lab router and are in <span style="color: #9999ff;">User Exec Mode</span>:</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/cisco-mode-ue-1.gif" alt="cisco-mode-ue-1" width="419" height="228" style="display: block; margin-left: auto; margin-right: auto;" /></p>
<p>The easiest way to keep track of the mode you're in is by looking at the prompt. The "<strong>&gt;</strong>" means we are in <strong>User Exec Mode</strong>. From this mode, we are able to get information like the version of <strong>IOS</strong>, contents of the <strong>Flash memory</strong> and a few others.</p>
<p style="text-align: justify;">Now, let's check out the available commands in this mode. This is done by using the "<strong>?</strong>" command and hitting enter:</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/cisco-mode-ue-2.gif" alt="cisco-mode-ue-2" width="438" height="419" style="display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: justify;">Wow, see all those commands available? And just to think that this is considered a small portion of the total commands available when in <strong>Privileged Mode</strong>! Keep in mind that when you're in the console and configuring your router, you can use some short cuts to save you typing full command lines. Some of these are :</p>
<p style="text-align: justify;"><strong>Tab</strong>: By typing the first few letters of a command and then hitting the <strong>TAB </strong>key, it will automatically complete the rest of the command. Where there is more than one command starting with the same characters, when you hit <strong>TAB</strong> all those commands will be displayed. In the picture above, if i were to type "<strong>lo</strong>" and hit <strong>TAB</strong>, we would get a listing of "<strong>lock</strong>, <strong>login </strong>and <strong>logout</strong>" because all 3 commands start with "<strong>lo</strong>".</p>
<p style="text-align: justify;"><strong>?</strong>: The question mark symbol "?" forces the router to print a list of all available commands. A lot of the commands have various parameters or interfaces which you can combine. In this case, by typing the main command e.g "<strong>show</strong>" and then putting the "?" you will get a list of the subcommands. This picture shows this clearly:</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/cisco-mode-ue-3.gif" alt="cisco-mode-ue-3" width="535" height="321" style="display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: justify;">Below are a number of shortcut keys used to make the configuration experience as simple as possible. While these shortcuts might not seem very useful, but they are! When it comes to typing long commands for a complex configuration, these shortcuts can save you a lot of time:</p>
<p><strong>CTRL-A</strong>: Positions the cursor at the beginning of the line.</p>
<p><strong>CTRL-E</strong>: Positions the cursor at the end of the line.</p>
<p><strong>CTRL-D</strong>: Deletes a character.</p>
<p><strong>CTRL-W</strong>: Deletes a whole word.</p>
<p><strong>CTRL-B</strong>: Moves cursor back by one step.</p>
<p><strong>CTRL-F</strong>: Moves cursor forward by one step.</p>
<p>One of the most used commands in this mode is the "<strong>Show</strong>" command. This will allow you to gather a lot of information about the router. Here I have executed the "<strong>Show version</strong>" command, which displays various information about the router:</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/cisco-mode-ue-4.gif" alt="cisco-mode-ue-4" width="562" height="380" style="display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: justify;" align="left">&nbsp;</p>
<p>The "<strong>Show Interface</strong> &lt;<strong>interface</strong>&gt; " command shows us information on a particular interface. This includes the IP address, encapsulation type, speed, status of the physical and logical aspect of the interface and various statistics. When issuing the command, you need to replace the &lt;<strong>interface</strong>&gt; with the actual interface you want to look at. For example, <strong>ethernet 0</strong>, which indicates the first ethernet interface :</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/cisco-mode-ue-5.gif" alt="cisco-mode-ue-5" width="550" height="329" style="display: block; margin-left: auto; margin-right: auto;" /></p>
<p>Some other generic commands you can use are the show "<strong>running-config</strong>" and show "<strong>startup-config</strong>". These commands show you the configuration of your router.</p>
<p>The <strong>running-config</strong> refers to the running configuration, which is basically the configuration of the router loaded into its memory at that time.</p>
<p><strong>Startup-config</strong> refers to the configuration file stored in the NVRAM. This, upon bootup of the router, gets loaded into the router's RAM and then becomes the <strong>running-config</strong>!</p>
<p>So you can see that <strong>User Exec Mode</strong> is used mostly to view information on the router, rather than configuring anything. Just keep in mind that we are touching the surface here and not getting into any details.</p>
<p>This completes the <strong>User Exec Mode</strong> section. If you like, you can go back and continue to the <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-pri-mode.html" target="_blank" title="Privileged Mode"><strong>Privileged Mode</strong> </a>section.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Mon, 13 Jun 2011 06:18:18 +1000</pubDate>
		</item>
		<item>
			<title>Cisco Router Modes</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-modes.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-modes.html</guid>
			<description><![CDATA[<p style="text-align: justify;">One of the greatest perhaps features of Cisco routers is that most commands used in the IOS software they run on, are identical across multiple platforms. For example, commands for configuring a gigabit ethernet interface on a Cisco 2821 are exactly the same when configuring a gigabit ethernet interface on a Cisco 3945. This feature makes working with pretty much any Cisco model, a extremely comfortable and pleasant experience.</p>
<p style="text-align: justify;">While examples provided in this article are identical to pretty much any IOS version, we are taking version 12.4.x as the basic version. Our examples in the pages that follow (covering Cisco router modes) make use of a Cisco router with an ISDN interface. The ISDN Interface is configured to make a dialup connection to an ISP.</p>
<p style="text-align: justify;">Because this article serves as an introduction, we decided to keep things as simple as possible, while our more advanced articles cover a lot more complex configurations and scenarios that will satisfy all advanced engineers.</p>
<p style="text-align: justify;">Now, when you power up a Cisco router, it will first run a POST test to ensure all hardware is ok, and then look into the Flash to load the IOS. Once the IOS is loaded, it will then check the NVRAM for any configuration file. Since this is a new router, it won't find any, so the router will go into "setup mode".</p>
<h2>Setup Mode</h2>
<p style="text-align: justify;">The setup mode is a step-by-step process which helps you configure basic aspects of the router. When using this setup mode, you actually have 2 options:</p>
<p>1) <strong>Basic Managment Setup</strong>, which configures only enough connectivity for managment to the system.</p>
<p style="text-align: justify;">2) <strong>Extended Setup</strong>, which allows you to configure some global parameters and interfaces.</p>
<p style="text-align: justify;">It should be noted that when you are prompted to enter a value at the console prompt, whatever is between the square brackets [ ] is considered to be a default value. In other words, if you hit enter without entering anything, the value in those brackets will be set for the specific question.</p>
<p style="text-align: justify;">I'll try to keep this as simple and straightforward as possible.</p>
<p style="text-align: justify;">Cisco routers have different configuration modes (depending on the router model), and by this I mean there are different modes in which different aspects of the router can be configured.</p>
<p style="text-align: justify;">These are :</p>
<p style="text-align: justify;">1) <strong>User Exec Mode</strong> (<strong>&gt;</strong>)</p>
<p style="text-align: justify;">2) <strong>Privileged Mode</strong> (<strong>#</strong>) which has as a subset, the Global Configuration mode -</p>
<p style="text-align: justify;">To be able to get into either User Exec or Privileged mode, you will most likely need a password. This password is set during the initial configuration of the router or later on. Once in Privileged Mode, you can then enter Global Configuration Mode (password not needed to enter this mode) to then futher configure interfaces, routing protocols, access lists and more.</p>
<p style="text-align: justify;">The picture below shows you a quick view of the modes. Notice the red arrow, it's pointing towards the <strong>Global Configuration Mode</strong> and <strong>Privileged mode</strong> meaning that some of the specific configuration modes can be entered from <strong>Global Configuration Mode</strong> and other from <strong>Privileged</strong> mode:</p>
<p><img src="https://www.firewall.cx/images/stories/cisco-router-modes-1.gif" alt="cisco-router-modes-1" width="532" height="457" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco Router Modes" /></p>
<p style="text-align: justify;">We've dedicated a separate page for each user mode, to avoid squezing all the information into one long page and make it easier to read.</p>
<p style="text-align: justify;">You may choose one of the following modes:</p>
<p>1) <strong>User Exec Mode</strong> (<strong>&gt;</strong>) - <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-ue-mode.html" target="_blank" title="Cisco Router User Exec Mode">Click to select</a></p>
<p>2) <strong>Privileged Mode</strong> (<strong>#</strong>) which has as a subset, the <strong>Global Configuration mode</strong> - <a href="https://www.firewall.cx/cisco/cisco-routers/cisco-router-pri-mode.html" target="_blank" title="Cisco Router Privileged Mode">Click to select</a></p>
<p>&nbsp;</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Mon, 13 Jun 2011 05:56:26 +1000</pubDate>
		</item>
		<item>
			<title>Cisco Router Basics</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/cisco-router-basics.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/cisco-router-basics.html</guid>
			<description><![CDATA[<p>This article will focus on Cisco's routers which can be found in almost any organization due to their popularity and market penetration. <br /><br />Cisco has a number of different routers, amongst them are the popular 880 series, 2900 series and 3900 series. <br /><br />Below are a pictures few of the routers mentioned (880 &amp; 2900 series):<br /><img src="https://www.firewall.cx/images/stories/cisco-router-basics-1.jpg" alt="cisco-router-basics-1" width="191" height="60" /><img src="https://www.firewall.cx/images/stories/cisco-router-basics-2.jpg" alt="cisco-router-basics-2" width="247" height="68" /></p>
<p>All the above equipment runs special software called the Cisco Internetwork Operating System or IOS. This is the kernel of Cisco routers and most switches. Cisco has created what they call Cisco Fusion, which is supposed to make all Cisco devices run the same operating system.</p>
<p>We are going to begin with the basic components which make up a Cisco router (and switches) and I will be explaining what they are used for, so grab that tea or coffee and let's get going !</p>
<p style="text-align: justify;">The basic components of any Cisco router are :</p>
<ul class="checkbox">
<li>Interfaces</li>
<li>The Processor (CPU)</li>
<li>Internetwork Operating System (IOS)</li>
<li>RXBoot Image</li>
<li>RAM</li>
<li>NVRAM</li>
<li>ROM</li>
<li>Flash memory</li>
<li>Configuration Register</li>
</ul>
<p>We'll cover each of the above components and explain their purpose, function and importance.</p>
<h2>Interfaces</h2>
<p style="text-align: justify;">These allow us to use the router ! The interfaces are the various serial ports or ethernet ports which we use to connect the router to our LAN. There are a number of different interfaces but we are going to hit the basic stuff only.</p>
<p style="text-align: justify;">Here are some of the names Cisco has given some of the interfaces: E0 (first Ethernet interface), E1 (second Ethernet interface). S0 (first Serial interface), S1 (second Serial interface), BRI 0 (first B channel for Basic ISDN) and BRI 1 (second B channel for Basic ISDN).</p>
<p style="text-align: justify;">In the picture below you can see the back view of a Cisco router, you can clearly see the various interfaces it has:(we are only looking at ISDN routers)</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/cisco766.jpg" alt="cisco766" width="459" height="181" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco Router &amp; ISDN Interfaces" /></p>
<p style="text-align: justify;">You can see that it even has phone sockets ! Yes, that's normal since you have to connect a digital phone to an ISDN line and since this is an ISDN router, it has this option with the router. I should, however, explain that you don't normally get routers with ISDN S/T and ISDN U interfaces together. Any ISDN line requires a Network Terminator (NT) installed at the customer's premises and you connect your equipment after this terminator. An ISDN S/T interface doesn't have the NT device built in, so you need an NT device in order to use the router. On the other hand, an ISDN U interface has the NT device built in to the router.</p>
<p style="text-align: justify;">Check the picture below to see how to connect the router using the different ISDN interfaces:</p>
<p style="text-align: justify;" align="center"><img src="https://www.firewall.cx/images/stories/cisco-router-basics-3.jpg" alt="cisco-router-basics-3" width="259" height="152" /><img src="https://www.firewall.cx/images/stories/cisco-router-basics-4.jpg" alt="cisco-router-basics-4" width="246" height="157" /></p>
<p style="text-align: justify;">&nbsp;</p>
<p style="text-align: justify;">Apart from the ISDN interfaces, we also have an Ethernet interface that connects to a device in your LAN, usually a hub or a computer. If connecting to a Hub uplink port, then you set the small switch to "Hub", but if connecting to a PC, you need to set it to "Node". This switch will simply convert the cable from a straight through (hub) to a x-over (Node):</p>
<p style="text-align: justify;" align="center"><img src="https://www.firewall.cx/images/stories/cisco-router-basics-5.jpg" alt="cisco-router-basics-5" width="244" height="167" title="Connecting Cisco Router to LAN Network" /><img src="https://www.firewall.cx/images/stories/cisco-router-basics-6.jpg" alt="cisco-router-basics-6" width="248" height="186" title="Cisco Router Power Connection - UPS" /></p>
<p style="text-align: justify;">The Config or Console port is a Female DB9 connector which you connect, using a special cable, to your computers serial port and it allows you to directly configure the router.</p>
<h2>The Processor (CPU)</h2>
<p style="text-align: justify;">All Cisco routers have a main processor that takes care of the main functions of the router. The CPU generates interrupts (IRQ) in order to communicate with the other electronic components in the router. The Cisco routers utilise Motorola RISC processors. Usually the CPU utilisation on a normal router wouldn't exceed 20%.</p>
<h2 style="text-align: justify;">The IOS</h2>
<p style="text-align: justify;">The IOS is the main operating system on which the router runs. The IOS is loaded upon the router's bootup. It usually is around 2 to 5MB in size, but can be a lot larger depending on the router series. The IOS is currently on version 12, and Cisco periodically releases minor versions every couple of months e.g 12.1 , 12.3 etc. to fix small bugs and also add extra functionality.</p>
<p style="text-align: justify;">The IOS gives the router its various capabilities and can also be updated or downloaded from the router for backup purposes. On the 1600 series and above, you get the IOS on a PCMCIA Flash card. This Flash card then plugs into a slot located at the back of the router and the router loads the IOS "image" (as they call it). Usually this image of the operating system is compressed so the router must decompress the image in its memory in order to use it.</p>
<p style="text-align: justify;">The IOS is one of the most critical parts of the router, without it the router is pretty much useless. Just keep in mind that it is not necessary to have a flash card (as described above with the 1600 series router) in order to load the IOS. You can actually configure most Cisco routers to load the image off a network tftp server or from another router which might hold multiple IOS images for different routers, in which case it will have a large capacity Flash card to store these images.</p>
<h2 style="text-align: justify;">The RXBoot Image</h2>
<p style="text-align: justify;">The RXBoot image (also known as Bootloader) is nothing more than a "cut-down" version of the IOS located in the router's ROM (Read Only Memory). If you had no Flash card to load the IOS from, you can configure the router to load the RXBoot image, which would give you the ability to perform minor maintenance operations and bring various interfaces up or down.</p>
<h2>The RAM</h2>
<p style="text-align: justify;">The RAM, or Random Access Memory, is where the router loads the IOS and the configuration file. It works exactly the same way as your computer's memory, where the operating system loads along with all the various programs. The amount of RAM your router needs is subject to the size of the IOS image and configuration file you have. To give you an indication of the amounts of RAM we are talking about, in most cases, smaller routers (up to the 1600 series) are happy with 12 to 16 MB while the bigger routers with larger IOS images would need around 32 to 64 MB of memory. Routing tables are also stored in the system's RAM so if you have large and complex routing tables, you will obviously need more RAM !</p>
<p style="text-align: justify;">When I tried to upgrade the RAM on a Cisco 1600 router, I unscrewed the case and opened it and was amazed to find a 72 pin SIMM slot where you needed to attach the extra RAM. For those who don't know what a 72 pin SIMM is, it's basically the type of RAM the older Pentium socket 7 CPUs took, back in '95. This type of memory was replaced by today's standard 168 pin DIMMs or SDRAM.</p>
<h2 style="text-align: justify;">The NVRAM (Non-Volatile RAM)</h2>
<p style="text-align: justify;">The NVRAM is a special memory place where the router holds its configuration. When you configure a router and then save the configuration, it is stored in the NVRAM. This memory is not big at all when compared with the system's RAM. On a Cisco 1600 series, it is only 8 KB while on bigger routers, like the 2600 series, it is 32 KB. Normally, when a router starts up, after it loads the IOS image it will look into the NVRAM and load the configuration file in order to configure the router. The NVRAM is not erased when the router is reloaded or even switched off.</p>
<h2 style="text-align: justify;">ROM (Read Only Memory)</h2>
<p style="text-align: justify;">The ROM is used to start and maintain the router. It contains some code, like the Bootstrap and POST, which helps the router do some basic tests and bootup when it's powered on or reloaded. You cannot alter any of the code in this memory as it has been set from the factory and is Read Only.</p>
<h2>Flash Memory</h2>
<p>The Flash memory is that card I spoke about in the IOS section. All it is, is an EEPROM (Electrical Eraseable Programmable Read Only Memory) card. It fits into a special slot normally located at the back of the router and contains nothing more than the IOS image(s). You can write to it or delete its contents from the router's console. Usually it comes in sizes of 4MB for the smaller routers (1600 series) and goes up from there depending on the router model.</p>
<h2 style="text-align: justify;">Configuration Register</h2>
<p style="text-align: justify;">Keeping things simple, the Configuration Register determines if the router is going to boot the IOS image from its Flash, tftp server or just load the RXBoot image. This register is a 16 Bit register, in other words has 16 zeros or ones. A sample of it in Hex would be the following: <strong>0x2102</strong> and in binary is: <strong>0010 0001 0000 0010</strong>.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Mon, 13 Jun 2011 04:25:15 +1000</pubDate>
		</item>
		<item>
			<title>Introduction To Routers</title>
			<link>https://www.firewall.cx/cisco/cisco-routers/introduction-routers.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/cisco/cisco-routers/introduction-routers.html</guid>
			<description><![CDATA[<p style="text-align: justify;">Welcome to the Routers section. Here we will analyse routers quite some depth; what they do and how they work. We must point out that knowlege on the OSI model is recommended, plus understanding of how data is sent across the network medium. If you find the information a bit too confusing or don't quite understand it, we suggest you go back to the networking section and do some reading on the OSI model and Protocols.</p>
<h2>Routers Purpose and Function</h2>
<p style="text-align: justify;">Routers are very common today in every network area, this is mainly because every network these days connect to some other network, whether it's the Internet or some other remote site. Routers get their name from what they do.... which is route data from one network to another.</p>
<p style="text-align: justify;">For example, if you had a company which had an office in Sydney and another one in Melbourne, then to connect the two you would use a leased line to which you would connect a router at each end. Any traffic which needs to travel from one site to another will be routed via the routers, while all the other unecessary traffic is filtered (blocked), thus saving you valuable bandwidth and money.</p>
<p style="text-align: justify;">There are two type of routers: 1) <strong>Hardware routers</strong> 2) <strong>Software routers</strong>.</p>
<p style="text-align: justify;">So what's the difference ?</p>
<p style="text-align: justify;">When people talk about routers, they usually don't use the terms "hardware" or "software" router but we are, for the purpose of distinguishing between the two.</p>
<p style="text-align: justify;"><strong>Hardware routers</strong> are dedicated hardware that run special software created by their vendors to give them the routing capabilities, plus a whole lot more functions. Hardware routers a most common amongst companies as they are faster and more reliable. In the earlier days, hardware routers would start from a couple of hundred dollars, however their prices today are extremely low for cheaper-brand models.</p>
<p style="text-align: justify;">The picture below shows a new-generation cisco 2900 series router that offers a lot more than simple routing capabilities:</p>
<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/cisco-routers-intro-1.jpg" alt="cisco-routers-intro-1" width="335" height="104" style="display: block; margin-left: auto; margin-right: auto;" title="Cisco ISR Router" /></p>
<p style="text-align: justify;"><strong>Software routers</strong> perform similar tasks as the above hardware routers (route data), but they don't come in small flashy boxes. A software router could be an Windows , Linux or Novell NetWare server. All network servers have built-in routing capabilities.</p>
<p style="text-align: justify;">Most people use them for Internet gateways and firewalls but there is one big difference between the hardware and software routers. You cannot (in most cases) simply replace the hardware router with a software router.Why? Simply because the hardware router has the necessary hardware built-in to allow it to connect to the special WAN link (frame relay, ISDN, ATM etc), where your software router (e.g a NT server) would have a few network cards one of which connects to the LAN and the other goes to the WAN via the hardware router.</p>
<p style="text-align: justify;">We've seen a few cards in the market which allow you to connect an ISDN line directly into them. With these special cards, which retail from $500 to $5000 depending on their capacity, you don't need the hardware router. But as you can understand, it's a much cheaper solution to buy a hardware router. Plus, the hardware routers are far more advanced and faster than the software routers since they don't have to worry about anything else but routing data, and the special electronic components they have in them are developed with this in mind.</p>
<p style="text-align: justify;">The picture below illustrates a router's place in the Local Area Network (LAN):</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/cisco-routers-intro-2.gif" alt="cisco-routers-intro-2" width="456" height="227" style="display: block; margin-left: auto; margin-right: auto;" title="Router in a Network" /></p>
<p style="text-align: justify;">In the example shown, the workstations see the router as their "gateway". This means that any machine on this LAN that wants to send a packet (data) to the Internet or anywhere outside its Local Area Network (LAN) will send the packet via the gateway. The router (gateway) will know where it needs to send it from there on so it can arrive at its destination.</p>
<p style="text-align: justify;">This explains the reason you need to add an Internet Protocol (IP) number for a gateway, when you have a LAN at home or in the office, in your TCP/IP network properties on your windows workstation.</p>
<p style="text-align: justify;">The above figure shows only one example of how routers connect so the LAN gets Internet access. Let's have a look how 2 offices would use routers to connect them.</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/cisco-routers-intro-3.gif" alt="cisco-routers-intro-3" width="624" height="227" style="display: block; margin-left: auto; margin-right: auto;" title="Two Routers in a LAN Network" /></p>
<p style="text-align: justify;">The routers in the above picture connect using a particular WAN protocol, e.g ISDN.</p>
<p style="text-align: justify;">In reality, there would be a cable (provided by your service provider) which connects to the "WAN" interface of the router and from there the signal goes straight to your service provider's network and eventually ends up at the other router's WAN interface.</p>
<p style="text-align: justify;">Depending on the type of router you get, it will support one of the most commonly used WAN protocols: ISDN, Frame Relay, ATM, HDLC, PPP. These protocols are discused in the protocols section.</p>
<p style="text-align: justify;">It's important to note down and remember a few of the main features of a router:</p>
<ul style="text-align: justify;">
<li>Routers are Layer 3 devices</li>
<li>Routers will not propagate broadcasts, unless they are programmed to</li>
<li>Enterprise-class routers have their own operating system</li>
<li>
<div align="left">Routers use special protocols between them to exchange information about each other (not data)</div>
</li>
</ul>
<p>This concludes our brief introduction to routers. Next articles will deal with Cisco routers specifically as they are the most popular and preferred router devices in the world.</p>]]></description>
			<category>Cisco Routers</category>
			<pubDate>Mon, 13 Jun 2011 03:43:05 +1000</pubDate>
		</item>
	</channel>
</rss>
