Table Of Contents
Cisco 1710 Security Router Configuration
Before You Configure Your Network
Configuring a Virtual Private Dialup Network
Configuring IP Security
Disabling Hardware Encryption
Configuring the Dialer Interface
Configuring the Ethernet Interfaces
Configuring Dynamic Host Configuration Protocol
Configuration Example
Manual Binding Configuration Example
Configuring Network Address Translation
Configuration Example
Configuring Firewalls
Access Lists
Configuration Examples
Inspection Rules
Complete Sample Configuration
Cisco 1710 Security Router Configuration
Network Access Router Configuration
Cisco 1710 Security Router Configuration
This chapter presents basic configuration procedures for features of the Cisco 1710 Security router. For a full description of these features and their configurations, please refer to Cisco IOS Software Configuration: Cisco IOS Release 12.2.
This chapter contains the following sections:
•
Before You Configure Your Network
•
Configuring a Virtual Private Dialup Network
•
Configuring IP Security
•
Configuring the Dialer Interface
•
Configuring the Ethernet Interfaces
•
Configuring Dynamic Host Configuration Protocol
•
Configuring Network Address Translation
•
Configuring Firewalls
•
Complete Sample Configuration
Before You Configure Your Network
Before you configure your network, you must do the following:
•
Arrange for a digital subscriber line (DSL) or cable connection with your corporate network or service provider.
•
If you are setting up an Internet connection, gather the following information:
–
Client name that is assigned as your login name
–
Authentication type
–
Password for accessing your Internet service provider (ISP) account
–
Domain Name System (DNS) server IP address and default gateways
•
If you are setting up a connection to a corporate network, you and its network administrator must generate and share the following information for the interfaces of the routers connected to xDSL or cable modems:
–
Authentication type
–
Client name for accessing the router
–
Password for accessing the router
•
If you are setting up Internet Protocol (IP) routing, generate the addressing scheme for your IP network.
Configuring a Virtual Private Dialup Network
Complete the following tasks to configure a virtual private dialup network (VPDN). Start in global configuration mode.
| |
Command
|
Task
|
Step 1
|
vpdn enable
|
Enable VPDN.
|
Step 2
|
no vpdn logging
|
Disable VPDN logging.
|
Step 3
|
vpdn-group tag
|
Configure a VPDN group.
|
Step 4
|
request-dialin
|
Specify the dialing direction.
|
Step 5
|
protocol pppoe
|
Specify the tunneling protocol as PPPoE.
|
Step 6
|
end
|
Exit router configuration mode.
|
Configuring IP Security
IP Security (IPSec) is a framework of open standards for ensuring secure private communications over IP networks. Based on standards developed by the Internet Engineering Task Force (IETF), IPSec ensures confidentiality, integrity, and authenticity of data communications across a public IP network. Cisco's realization of IPSec implements the Data Encryption Standard (DES) and triple DES (3DES).
Refer to the Cisco IOS Security Configuration Guide, Release 12.1, for more detailed information on IPSec.
Perform the following tasks to configure IPSec. Start in global configuration mode.
| |
Command
|
Task
|
Step 1
|
crypto isakmp policy 10
|
Define an Internet Key Exchange (IKE) policy, and assign the policy a priority. This command places the router in IKE policy configuration mode.
|
Step 2
|
hash algorithm
|
Specify the hash algorithm for the policy.
|
Step 3
|
encryption encryption
|
Specify the encryption for the policy.
|
Step 4
|
authentication pre-share
|
Specify pre-share key as the authentication method.
|
Step 5
|
exit
|
Exit IKE policy configuration mode.
|
Step 6
|
crypto isakmp key name address ip-address
|
Configure a pre-share key and static IP address for each VPN client.
|
Step 7
|
crypto ipsec transform-set name esp-encryption esp-hash algorithm-hmac
|
Define a combination of security associations to occur during IPSec negotiations.
|
Step 8
|
crypto mib ipsec flowmib history tunnel size size
|
Set the size of the tunnel history table.
|
Step 9
|
crypto mib ipsec flowmib history failure size size
|
Set the size of the failure history table.
|
Step 10
|
crypto map name local-address Ethernet 0
|
Specify and name an identifying interface to be used by the crypto map for IPSec traffic
|
Step 11
|
crypto map name seq-num ipsec-isakmp
|
Create a crypto map entry in IPSec ISAKMP mode, and enter crypto map configuration mode.
|
Step 12
|
set peer ip-address
|
Identify the remote IPSec peer.
|
Step 13
|
set transform-set name
|
Specify the transform set to be used.
|
Step 14
|
set pfs [group1|group2]
|
Specify use of the perfect forward secrecy (pfs) option in IPSec. The variation group1 is default.
|
Step 15
|
match address access-list-id
|
Specify an extended access list for the crypto map entry.
|
Step 16
|
exit
|
Exit crypto map configuration mode.
|
Disabling Hardware Encryption
The Cisco 1710 Security router is equipped with a Virtual Private Network (VPN) module that provides hardware 3DES encryption by default. It is possible to disable the VPN module and use Cisco IOS software encryption/decryption instead.
The command which disables the VPN module is as follows:
no crypto engine accelerator
The command is executed in configuration mode. An example of its use is as follows:
c1710(config)#no crypto engine accelerator
Warning! all current connections will be torn down.
Do you want to continue? [yes/no]: yes
Crypto accelerator in slot 0 disabled
switching to IPsec crypto engine
After this command is executed, it is necessary to perform the following procedures to bring up all encryption tunnels appropriately.
Step 1
On all involved routers, shut down the interfaces that have crypto maps applied to them.
Step 2
Enter the following commands on each of the involved routers.
Command
|
Task
|
clear crypto sa
|
Clears the security associations applied to the router.
|
clear crypto isakmp
|
Clears the active IKE connections to the router.
|
show crypto engine connections active
|
Lists the active connections. In this scenario, it verifies that no connections are active. It may be necessary to repeat these commands until no connections are listed.
|
Step 3
Bring up the interfaces on all involved routers that were shut down in Step 1.
To re-enable the VPN module, use the following command:
crypto engine accelerator
An example of its use is as follows:
c1710(config)#crypto engine accelerator
Warning! all current connections will be torn down.
Do you want to continue? [yes|no]:yes
switching to crypto accelerator.
The following is a useful command that shows statistical information about the VPN module:
show crypto engine accelerator statistic
An example of its use is as follows:
c1710#show crypto engine accelerator statistic
C1700_EM:
ds: 0x81784BA4 idb:0x81780560
Statistics for Virtual Private Network (VPN) Module:
0 packets in 0 packets out
0 paks/sec in 0 paks/sec out
0 Kbits/sec in 0 Kbits/sec out
rx_no_endp: 0 rx_hi_discards: 0 fw_failure: 0
invalid_sa: 0 invalid_flow: 0 cgx_errors 0
fw_qs_filled: 0 fw_resource_lock:0 lotx_full_err: 0
null_ip_error: 0 pad_size_error: 0 out_bound_dh_acc: 0
esp_auth_fail: 0 ah_auth_failure: 0 crypto_pad_error: 0
ah_prot_absent: 0 ah_seq_failure: 0 ah_spi_failure: 0
esp_prot_absent:0 esp_seq_fail: 0 esp_spi_failure: 0
obound_sa_acc: 0 invalid_sa: 0 out_bound_sa_flow: 0
invalid_dh: 0 bad_keygroup: 0 out_of_memory: 0
no_sh_secret: 0 no_skeys: 0 invalid_cmd: 0
dsp_coproc_err: 0 comp_unsupported:0 pak_too_big: 0
pak_mp_length_spec_fault: 0
tx_lo_queue_size_max 0 cmd_unimplemented: 0
159405 seconds since last clear of counters
Interrupts: Notify = 0, Reflected = 0, Spurious = 0
cgx_cmd_pending:0 packet_loop_max: 0 packet_loop_limit: 512
This command can also be used as follows to verify that the VPN module is disabled:
c1710#show crypto engine accelerator statistic
There is no crypto accelerator.
Configuring the Dialer Interface
Complete the following tasks to configure the dialer interface. Start in global configuration mode.
| |
Command
|
Task
|
Step 1
|
interface dialer 0
|
Enter Dialer 0 interface configuration.
|
Step 2
|
ip address ip-address subnet-mask
|
Set the IP address and subnet mask for the Dialer 0 interface.
|
Step 3
|
ip mtu 1492
|
Set the size of the IP maximum transmission unit (MTU).
|
Step 4
|
encapsulation ppp
|
Set the encapsulation type to PPP.
|
Step 5
|
dialer pool 1
|
Specify the dialer pool to be used.
|
Step 6
|
dialer-group 1
|
Assign this interface to a dialer list.
|
Step 7
|
ppp authentication chap
|
Optional. Set the PPP authentication method to Challenge Handshake Authentication Protocol (CHAP).
|
Step 8
|
exit
|
Exit Dialer 0 interface configuration.
|
Configuring the Ethernet Interfaces
Configure the Ethernet interfaces by performing the following tasks. Begin in the global configuration mode.
| |
Command
|
Task
|
Step 1
|
interface Ethernet 0
|
Configure the Ethernet interface.
|
Step 2
|
ip address ip-address subnet-mask
|
Set the IP address and subnet mask for the Ethernet 0 interface.
|
Step 3
|
ip nat outside
|
Optional. Establish the Ethernet interface as the outside interface.
|
Step 4
|
exit
|
Exit Ethernet 0 interface configuration.
|
Step 5
|
crypto map name
|
Apply crypto map to the Ethernet interface.
|
Step 6
|
interface FastEthernet 0
|
Configure the Fast Ethernet interface.
|
Step 7
|
ip address ip-address subnet-mask
|
Set the IP address and subnet mask for the Fast Ethernet interface.
|
Step 8
|
ip nat inside
|
Optional. Establish the Fast Ethernet interface as the inside interface.
|
Step 9
|
pppoe enable
|
Optional. Enable PPPoE as protocol.
|
Step 10
|
pppoe-client dial-pool-number 1
|
Optional. Create the PPPoE dial pool.
|
Step 11
|
exit
|
Exit Fast Ethernet 0 interface configuration.
|
Configuring Dynamic Host Configuration Protocol
The Dynamic Host Configuration Protocol (DHCP) is used to enable hosts (DHCP clients) on an IP network to obtain their configurations from a server (DHCP server). This reduces the work necessary to administer an IP network. The most significant configuration option the client receives from the server is its IP address.
Perform the following tasks to configure DHCP. Begin in global configuration mode.
| |
Command
|
Task
|
Step 1
|
ip dhcp excluded-address low-ip-address high-ip-address
|
Prevent DHCP from assigning one or more IP addresses to potential clients.
|
Step 2
|
ip dhcp pool name
|
Enter DHCP configuration mode, and create a pool of IP addresses that can be assigned to DHCP clients.
|
Step 3
|
network address subnet-mask
|
Specify a range of IP addresses that can be assigned to the DHCP clients.
|
Step 4
|
default-router ip-address
|
Specify the default router.
|
Step 5
|
domain-name domain name
|
Specify the domain name.
|
Step 6
|
dns-server ip-address
|
Specify the DNS server.
|
Step 7
|
netbios-name-server ip-address
|
Specify the NetBIOS name server.
|
Step 8
|
netbios-node-type node-type
|
Specify the NetBIOS node type.
|
Step 9
|
lease days lease infinite
|
Specify the duration of the lease.
|
Configuration Example
In the following example, three DHCP address pools are created: one in network 172.16.0.0, one in subnetwork 172.16.1.0, and one in subnetwork 172.16.2.0. Attributes from network 172.16.0.0, such as the domain name, DNS server, NetBIOS name server, and NetBIOS node type, are inherited in subnetworks 172.16.1.0 and 172.16.2.0. In each pool, clients are granted 30-day leases and all addresses in each subnetwork, except the excluded addresses, are available to the DHCP server for assigning to clients.
ip dhcp database ftp://user:password@172.16.4.253/router-dhcp
write-delay 120
ip dhcp excluded-address 172.16.1.100 172.16.1.103
ip dhcp excluded-address 172.16.2.100 172.16.2.103
dns-server 172.16.1.102 172.16.2.102
netbios-name-server 172.16.1.103 172.16.2.103
default-router 172.16.1.100 172.16.1.101
default-router 172.16.2.100 172.16.2.101
Manual Binding Configuration Example
The following example creates a manual binding for a client named Mars.cisco.com. The MAC address of the client is 02c7.f800.0422 and the IP address of the client is 172.16.2.254.
hardware-address 02c7.f800.0422 ieee802
Because attributes are inherited, the previous configuration is equivalent to the following:
host 172.16.2.254 mask 255.255.255.0
hardware-address 02c7.f800.0422 ieee802
default-router 172.16.2.100 172.16.2.101
dns-server 172.16.1.102 172.16.2.102
netbios-name-server 172.16.1.103 172.16.2.103
Configuring Network Address Translation
Network Address Translation (NAT) translates IP addresses within private "internal" networks to "legal" IP addresses for transport over public "external" networks (such as the Internet). Incoming traffic is translated back for delivery within the inside network. Thus, NAT allows an organization with unregistered "private" addresses to connect to the Internet by translating those addresses into globally registered IP addresses.
Ethernet interfaces are configured as "NAT inside" or "NAT outside" as shown in the previous section "Configuring the Ethernet Interfaces." Once the interfaces are configured, the following steps can be performed to establish the NAT configuration within the router.
| |
Command
|
Task
|
Step 1
|
ip nat pool name start-ip end-ip {netmask netmask | prefix-length prefix-length}
|
Create a pool of global IP addresses for NAT.
|
Step 2
|
access-list access-list-number permit source [source-wildcard]
|
Define a standard access list permitting addresses that need translation.
|
Step 3
|
ip nat inside source list access-list-number pool name [overload]
|
Enable dynamic translation of addresses permitted by access list. Overload allows the use of one global address, from the pool, for many local addresses.
|
Step 4
|
ip nat outside source static global-ip local-ip
|
Enable static translation of a specified outside source address. This command is optional.
|
Configuration Example
In this example, we want NAT to allow certain devices on the inside to originate communication with devices on the outside by translating their internal addresses to valid outside addresses or a pool of addresses. The pool in this example is defined as the range of addresses 172.16.10.1 through 172.16.10.63.
In order to accomplish this translation, we need to use dynamic NAT. With dynamic NAT, the translation table in the router is initially empty and gets populated once traffic that needs to be translated passes through the router. (This is opposed to static NAT, in which a translation is statically configured and is placed in the translation table without the need for any traffic.)
In this example, we can configure NAT to translate each inside device address to a unique valid outside address, or to translate each inside device address to the same valid outside address. The second method is known as overloading. An example of how to configure each method is given here.
To begin, configure the Fast Ethernet interface with an IP address and as a "NAT inside" interface.
ip address 10.10.10.1 255.255.255.0
Then configure the Ethernet interface with an IP address and as a "NAT outside" interface.
ip address 172.16.10.64 255.255.255.0
To handle the case in which each inside address is translated to its own unique outside address, define a NAT pool named "no-overload" with a range of addresses from 172.16.10.0 to 172.16.10.63
ip nat pool no-overload 172.16.10.0 172.16.10.63 prefix 24
Define access list 7 to permit packets with source addresses ranging from 10.10.10.0 through 10.10.10.31 and from 10.10.20.0 through 10.10.20.31.
access-list 7 permit 10.10.10.0 0.0.0.31
access-list 7 permit 10.10.20.0 0.0.0.31
Then indicate that any packet received on the inside interface, as permitted by access list 7, will have its source address translated to an address from the NAT pool "no-overload."
ip nat inside source list 7 pool no-overload
Alternatively, to handle the case where all inside addresses are translated to a single outside address, define a NAT pool named "ovrld," which has a range of a single IP address: 172.16.10.1.
ip nat pool ovrld 172.16.10.1 172.16.10.1 prefix 24
Then indicate that any packet received on the inside interface, as permitted by access list 7, will have its source address translated to the address from the NAT pool "ovrld." Translations will be overloaded, which will allow multiple inside devices to be translated to the same outside IP address.
ip nat inside source list 7 pool ovrld overload
The keyword overload used in this command allows NAT to translate multiple inside devices to the single address in the pool.
Another variation of this command is ip nat inside source list 7 interface Ethernet 0 overload, which configures NAT to overload on the address that is assigned to the Ethernet 0 interface.
Configuring Firewalls
Basic traffic filtering is limited to configured access list implementations that examine packets at the network layer, or at most, the transport layer, permitting or denying the passage of each packet through the firewall. However, the use of inspection rules in Context-based Access Control (CBAC) allows creation and use of dynamic temporary access lists. These dynamic lists allow temporary openings in the configured access lists at firewall interfaces. These openings are created when traffic for a specified user session exits the internal network through the firewall. The openings allow returning traffic for the specified session (that would normally be blocked) back through the firewall.
Refer to the Cisco IOS Security Configuration Guide, Release 12.1, for more detailed information on traffic filtering and firewalls.
Access Lists
Access lists are configured as standard or extended. A standard access list either permits or denies passage of packets from a designated source. An extended access list allows designation of both the destination and the source, and it allows designation of individual protocols to be permitted or denied passage. An access list is a series of commands with a common tag to bind them together. The tag is either a number or a name.
Standard numbered access list commands take the following form:
access-list {1-99} {permit|deny} source-addr [source-mask]
Extended numbered access list commands take the following form:
access-list {100-199} {permit|deny} protocol source-addr [source-mask] destination-addr [destination-mask]
Named access list commands take the form:
ip access-list {standard|extended} name
A standard named access list command must be followed by subcommands in this form:
deny {source|source-wildcard|any}
An extended named access list command must be followed by a subcommand in this form:
{permit|deny} protocol {source-addr[source-mask]|any} {destination-addr [destination-mask]|any}
A sequence of access list commands bound together with a common name or number is referred to as an access group. An access group is enabled for an interface during interface configuration with the command
ip access-group number|name [in|out]
where in|out refers to the direction of travel of the packets being filtered.
When a sequence of access list commands is used, three things must be kept in mind:
•
The order of commands in the sequence is important. A packet will be operated on by the first command. If there is no match (neither a permit nor a deny occurs), the next command operates on the packet, and so on.
•
All matching parameters must be true before a command permits or denies access to a packet.
•
There is an implicit "deny all" at the end of the sequence.
Configuration Examples
The following examples illustrate the configuration of standard numbered access lists and extended numbered access lists.
Configuring Standard Numbered Access Lists
In the following example, access list 2, a standard numbered access list, is defined to operate on the router, permitting or denying passage of packets associated with network 36.0.0.0. This network is a Class A network whose second octet specifies a subnet; that is, its subnet mask is 255.255.0.0. The third and fourth octets of a network 36.0.0.0 address specify a particular host. Using access list 2, the router would accept one address on subnet 48 and reject all others on that subnet. The last line of the list shows that the router would accept addresses on all other network 36.0.0.0 subnets.
access-list 2 permit 36.48.0.3
access-list 2 deny 36.48.0.0 0.0.255.255
access-list 2 permit 36.0.0.0 0.255.255.255
Note that all other accesses are implicitly denied.
The following commands tie the access group to a specific interface on the router, and specify that incoming packets are to be permitted or denied passage:
Configuring Extended Numbered Access Lists
In the following example, access list 102, an extended numbered access list, is defined. The first command permits any incoming TCP messages with destination ports greater than 1023. The second command permits incoming TCP messages to the SMTP port of host 128.88.1.2. The third command permits incoming ICMP messages for error feedback.
access-list 102 permit tcp 0.0.0.0 255.255.255.255 128.88.0.0 0.0.255.255 gt 1023
access-list 102 permit tcp 0.0.0.0 255.255.255.255 128.88.1.2 0.0.0.0 eq 25
access-list 102 permit icmp 0.0.0.0 255.255.255.255 128.88.0.0 255.255.255.255
The following commands tie the access group to a specific interface on the router and specify that incoming packets are to be permitted or denied passage:
Inspection Rules
Specify which protocols to examine by using the ip inspect name command. When inspection detects that the specified protocol is passing through the firewall, a dynamic access list is created to allow the passage of return traffic. The timeout parameter specifies the length of time the dynamic access list will remain active without return traffic passing through the router. When a timeout is reached, the dynamic access list is removed, and subsequent packets (possibly even valid ones) are not permitted.
For each protocol you want to inspect, enter a line in global configuration mode using the following syntax:
ip inspect name inspection-name protocol timeout seconds
Use the same inspection-name in multiple statements to group them into one set of rules. This set of rules can be activated elsewhere in the configuration by using the ip inspect inspection-name in|out command when configuring an interface at the firewall.
Complete Sample Configuration
An example configuration is presented here, in which a Cisco 1710 Security router is a PPPoE client connected through a modem to an external network access router. The router might be located in a branch office with the network access router located at the corporate site. One alternate scenario could be that the router is in a small or medium business, and the network access router belongs to a service provider. In each case, the network access router provides a dial-in data service with secure tunnels to the business or branch office for mobile users.
This example presents a full configuration of the Cisco 1710 Security router, along with a complementary configuration of IPSec on the network access router.
In this example, both the Cisco 1710 Security router and the network access router have inside and outside interfaces. The outside interfaces have global IP addresses while the inside interfaces have local IP addresses. These addresses are as follows:
•
Cisco 1710 Security router outside interface: 24.119.216.150 255.255.255.0
•
Cisco 1710 Security router inside interface: 192.168.1.0 255.255.255.0
•
Network access router outside interface: 16.0.0.2 255.0.0.0
•
Network access router inside interface: 172.28.0.1 255.255.0.0
The outside interface of the router in this example is the Ethernet port, while the inside interface is the Fast Ethernet port.
Figure 2-1 illustrates the topology of this example.
Figure 2-1 Configuration Example
Cisco 1710 Security Router Configuration
The following commands configure the router so that it provides a secure connection to the network access router.
ip name-server 24.1.64.33
ip name-server 24.1.64.34
ip dhcp excluded-address 192.168.1.1 192.168.1.5
network 192.168.1.0 255.255.255.0
default-router 192.168.1.1
ip inspect name fw_all ftp
ip inspect name fw_all http java-list 10
ip inspect name fw_all rcmd
ip inspect name fw_all rpc program-number 100000
ip inspect name fw_all smtp
ip inspect name fw_all tftp
ip inspect name fw_all realaudio
ip inspect name fw_all streamworks
ip inspect name fw_all vdolive
ip inspect name fw_all cuseeme
ip inspect name fw_all h323
ip inspect name fw_all tcp
ip inspect name fw_all udp
ip audit po max-events 100
crypto isakmp key 12abcjhrweit345 address 16.0.0.2
crypto ipsec transform-set proposal1 esp-3des esp-sha-hmac ah-sha-hmac
crypto map tag local-address Ethernet0
crypto map tag 10 ipsec-isakmp
set security-association level per-host
set transform-set proposal1
ip address 192.168.1.1 255.255.255.0
ip address 24.19.216.150 255.255.255.0
pppoe-client dial-pool-number 1
dialer-list 1 protocol ip permit
access-list 100 permit 192.168.1.0 0.255.255.255
ip nat inside source list homenet interface Ethernet0 overload
ip nat outside source static 24.19.216.129 192.168.1.5
ip access-list extended homenet
permit ip 192.168.1.0 0.255.255.255 any
access-list 102 deny tcp any any
access-list 102 permit esp any any
access-list 102 permit ahp any any
access-list 102 permit udp any eq isakmp any eq isakmp
access-list 102 deny udp any any
access-list 102 permit ip any any
access-list 102 permit icmp any any
Network Access Router Configuration
The following commands configure the network access router so that it provides a secure connection to the Cisco 1710 Security router.
crypto isakmp key 12abcjhrweit345 address 24.19.216.150
crypto ipsec transform-set proposal1 esp-3des esp-sha-hmac ah-sha-hmac
crypto map mymap1 local-address FastEthernet0/1
crypto map tag 10 ipsec-isakmp
set security-association level per-host
set transform-set proposal1
access-list 100 permit 172.28.0.0 0.0.255.255
interface FastEthernet0/1
ip address 16.0.0.2 255.0.0.0
interface FastEthernet0/0
ip address 172.28.0.1 255.255.0.0