|
This chapter describes how to configure your router for dial-on-demand routing (DDR) and dial backup. For a complete description of the commands mentioned in this chapter, refer to the "Dial-on-Demand Routing Commands" chapter of the Router Products Command Reference publication. For historical background and a technical overview of DDR, see the Internetworking Technology Overview publication.
Dial backup provides protection against WAN downtime by allowing you to configure a backup serial line circuit-switched connection. Dial backup software keeps the secondary line inactive (DTR inactive) until one of the following conditions is met:
The secondary line and these conditions are defined using the backup interface, backup load, and backup delay interface configuration commands.
When the software detects a lost Carrier Detect signal from the primary line device or finds that the line protocol is down, it activates DTR on the secondary line. At that time, the DCE must be set to dial the remote site. When the connection is made, the routing protocol defined for the serial line will take over the task of transmitting traffic over the dialup line.
Dial-on demand routing (DDR) provides network connections across the Public Switched Telephone Network (PSTN). Traditionally, networks have been interconnected using dedicated lines for WAN connections. With DDR, you can use modems, ISDN terminal adapters (TAs), or integrated ISDN capabilities to establish low-volume, periodic network connections over public circuit-switched networks.
Synchronous and asynchronous interfaces can be configured for DDR connections to one or more destination networks. When a packet is received for a remote network, the router uses dialing commands to send the phone number of the destination network to a modem. The modem (DCE device) then dials the destination DCE device and establishes a connection.
Figure 1-1 illustrates a typical DDR interconnection configuration.
On the router, DDR places calls using the following two methods:
A chat script is a string of text that defines the login "conversation" that occurs between two systems. It consists of expect-send pairs that define the string that the local system expects to receive from the remote system and what the local system should send as a reply.
On asynchronous lines, our routers support chat scripts used to send commands for modem dialing and logging on to remote systems. To dial a call on an asynchronous line, a chat script must be defined. If multiple chat scripts are defined, regular expressions are used for powerful pattern matching to select between many scripts. See Appendix C, "Regular Expressions," in the Router Products Command Reference for information about regular expressions.
Our routers support connections from the synchronous serial interface to any DCE device that supports V.25bis. These devices include ISDN TAs for ISDN B-channel connections. V.25bis is a CCITT recommendation for initiating calls using in-band signaling. Depending on the type of modem or CSU/DSU you are using, CCITT V.25bis options might be supported.
The V.25bis specification describes two modes of establishing or receiving calls: the direct call mode and the addressed call mode. Routers support connections using the addressed call mode and synchronous, bit-oriented operation. The addressed call mode allows control signals and commands to be sent over the DCE data interface to establish and terminate calls. These commands are packaged in High-Level Data Link Control (HDLC) synchronous data frames.
Devices used by the router for dialing out must support certain hardware signals in addition to V.25bis. When the router drops DTR, the device must disconnect any calls that are currently connected. When the device connects to the remote end, Data Carrier Detect (DCD) must be automatically asserted.
Table 1-1 lists V.25bis options. The V.25bis options are supported in the dial string (telephone number) only if you have enabled DDR using the dialer in-band command. These options are not supported in the dial string for native ISDN BRI interfaces. The functions of these options are nation-specific, and they might have different implementations in your country. Refer to your modem or ISDN TA manual for a list of supported options.
Option | Description |
---|---|
: | Wait tone. |
< | Pause.
Usage and duration of this parameter vary by country. |
= | Separator 3.
For national use. |
> | Separator 4.
For national use. |
P | Dialing to be continued in pulse mode.
Optionally accepted parameter. |
T | Tone. (Dialing to be continued in Dual Tone Multifrequency, DTMF mode) Optionally accepted parameter. |
& | Flash. (The flash duration varies by country.)
Optionally accepted parameter. |
DDR supports a variety of security and access control methods including the following:
You must first decide whether you want to back up when the primary line goes down, when traffic load on the primary line exceeds the defined threshold, or both. The tasks you perform depend on your decision. Perform one or more of the following tasks to configure dial backup:
To configure dial backup, set a secondary serial interface as a backup to a primary serial interface. An external data communications equipment (DCE) device, such as a modem attached to a circuit-switched service, must be connected to the secondary serial interface. The external device must be capable of responding to a DTR signal (DTR active) by auto-dialing a connection to a preconfigured remote site. To select a backup line, perform the following task in interface configuration mode:
Task | Command |
---|---|
Select a backup line. | backup interface interface type |
The interface specified in the backup interface command can only back up one interface. For examples of selecting a backup line, see "Example of Dial Backup using the Aux Port" and "Example of Dial Backup using DDR and ISDN" later in this chapter.
You can configure dial backup to activate the secondary line based on the traffic load on the primary line. The software monitors the traffic load and computes a five-minute moving average. If this average exceeds the value you set for the line, the secondary line is activated and, depending upon how the line is configured, some or all of the traffic will flow onto the secondary dialup line.
To define how much traffic should be handled at one time on an interface, perform the following task in interface configuration mode:
Task | Command |
---|---|
Define the traffic load threshold as a percentage of the primary line's available bandwidth. | backup load {enable-threshold | never} {disable-load | never} |
You can configure a value that defines how much time should elapse before a secondary line status changes after a primary line status has changed. This means that you can define two delays:
To define these delays, perform the following task in interface configuration mode:
Task | Command |
---|---|
Define backup line delays. | backup load {enable-threshold | never} {disable-load | never} |
For an example, of how to define backup line delays, see "Example of Dial Backup using the AUX Port" and "Example of Dial Backup using DDR and ISDN" later in this chapter.
Before you configure the asynchronous interface on the auxiliary port to support DDR, configure the line as follows:
One of the following three tasks is required to configure your router for dial-on-demand routing:
The following are optional tasks to customize, enhance, and monitor DDR:
The following sections describe these tasks. See the "DDR Configuration Examples" section later in this chapter for an idea of how to configure DDR on your network.
The following tasks are required to configure a single interface, multiple interfaces, or dialer rotary groups to place calls:
Step 1 Create chat script(s) (for asynchronous interfaces only)
Step 2 Specify a chat script for a line (asynchronous)
Step 3 Configure to call a single site or multiple sites
A chat script must be defined for dialing out on asynchronous lines, specifically the asynchronous interface on the auxiliary port. Chat scripts are used to send commands for modem dialing and logging on to remote systems.
To create a chat script, perform the following task in global configuration mode:
Task | Command |
---|---|
Create a script that will place a call on a modem and/or log on to a remote system. | chat-script script-name expect send... |
It is recommended that one chat script (a "modem" chat script) be written for placing a call and another chat script (a "system" or "login" chat script) be written to log onto remote systems, where required.
For an example of how to use chat scripts, see "Example of Using Chat Scripts" later in this chapter.
A suggested chat script naming convention is as follows:
vendor-type-modulationIn other words, the syntax of the chat-script command becomes the following:
chat-script vendor-type-modulation expect send...For example, if you have a Telebit t3000 modem that uses V.32bis modulation, you would name your chat script as follows:
telebit-t3000-v32bis
The chat-script command could become the following:
router(config)# chat-script telebit-t3000-v32bis ABORT ERROR ABORT BUSY ABORT
"NO ANSWER" "" "AT H" OK "AT DT \T" DIALING \c TIMEOUT 30 CONNECT \c
Adhering to this naming convention allows you to specify a range of chat scripts using partial chat script names with regular expressions. This is particularly useful for dialer rotary groups and is explained further in the "Configure an Interface to Receive Calls" section later in this chapter.
After a chat script has been defined, it must be applied to a line or an interface before it will be used. To specify a chat script for a line, perform the following task in line configuration mode:
Task | Command |
---|---|
Specify a modem script for a line. | modem chat-script regexp |
A maximum of one modem chat-script command can be configured per line. The chat script naming convention described in the previous section allows you to specify a chat script by the type of modem attached to that line as follows:
modem chat-script modem-type*UNIX-style regular expressions are used to match patterns and select between many scripts. This will be useful if you specify modem scripts on an interface that is used to dial multiple destinations. Dialing multiple destinations is described in the "Calls to Multiple Sites" section later in this chapter. Regular expressions are described in Appendix C, "Regular Expressions," in the Router Products Command Reference publication.
The modem chat script becomes the default chat script for an interface. This means that it becomes the default chat script for the dialer string and dialer map commands presented in this section.
Perform the following tasks to configure an interface for calling a single site:
Step 1 Enable DDR on the interface.
Step 2 Specify the dial string (synchronous interfaces)
Or, specify chat scripts and dial strings (asynchronous interfaces).
To call a single site, you must enable DDR using the dialer-in-band command. Dialers specified by this command use chat scripts on asynchronous interfaces and V.25bis on synchronous interfaces. If using V.25bis,you can optionally specify parity. The 1984 version of the V.25bis specification states that characters must have odd parity. However, the default is no parity. To enable DDR, perform the following task in interface configuration mode:
Task | Command |
---|---|
Enable DDR on a serial interface. Set parity on synchronous serial interfaces only. | dialer in-band [no-parity | odd-parity] |
If you want to call only one remote system per interface, the dialer string command is useful. You do not need to use the dialer map command for authentication. Dialers pass the string you have defined to the external DCE. ISDN devices call the number specified in the string.
To specify the string (telephone number) to be called on serial interfaces (asynchronous or synchronous), perform the following task in interface configuration mode:
Task | Command |
---|---|
Specify a string of numbers to dial. | dialer string dial-string[:isdn-subaddress |
To place a call to a single site on an asynchronous line for which a modem script has not been assigned and/or a system script must be specified, perform the following task in interface configuration mode:
Task | Command |
---|---|
Specify chat scripts and a dial string. | dialer map protocol next-hop-address [modem-script modem-regexp] [system-script system-regexp] dial-string |
Use the dialer-map command to specify a chat script if no modem script is specified for the line and/or an additional (system) chat script is required to log onto the remote system.
You do not need to specify a system script if:
You can configure your router to call multiple sites from a single line, from multiple lines, or from a dialer rotary group.
To configure your router to call multiple sites on a single line or on multiple lines, perform the following tasks:
Step 1 Enable DDR on the interface.
Step 2 Define multiple dialing destinations on the interface.
Or, specify a string of numbers to dial.
To enable DDR on an interface, perform the following task in interface configuration mode:
Task | Command |
---|---|
Enable DDR on a serial interface. Set parity on synchronous serial interfaces only. | dialer in-band [no-parity | odd-parity] |
To define dialing destinations, perform one of the following tasks:
If you adhered to the chat script naming convention described earlier in this chapter, use the form [modem-script *modulation-type] in the dialer map command, as in as in ".*-v32bis." This allows you to specify the modulation type that is best for the system you are calling, and allows the modem type for the line to be specified by the modem chat-script command.
The expression "." is a wildcard character that matches any character, and the expression "*" indicates that the preceding character can be duplicated multiple times. For more information about regular expressions, see Appendix C, "Pattern Matching", in the Router Products Command Reference publication.
If there is a modem script specified in the interface subcommand (dialer map) and a modem script specified in the line configuration command (modem chat-script), the first chat script that matches both will be used. If no script matches both, an error message is logged and the connection is not established. If there is no modem chat script specified for the line, the first chat script (chat-script global configuration command) that matches the modem script regular expression will be used. If there is a system script specified in the interface subcommand, the first chat script to match the regular expression will be used.
Configure a dialer map command for each remote destination for that interface.
To configure your router to place multiple calls using a dialer rotary group, perform the following tasks:
Step 1 Define a rotary group.
Step 2 Enable DDR on the rotary interface.
Step 3 Define multiple dialing destinations for the rotary group.
Step 4 Assign physical interfaces to the rotary group.
Dialer rotary groups allow you to apply a single interface configuration to a set of physical interfaces. Dialer rotary groups are useful in environments that have multiple callers and calling destinations. Configure a dialer interface unless you are only using a single line for dialing out or have a single line dedicated to each destination.
A dialer rotary group is defined by specifying a "dialer interface." The dialer interface is not a physical interface; it is an entity that allows you to propagate an interface configuration to multiple interfaces. After the dialer interface is defined by a number, interface parameters are configured for the dialer interface. Finally, physical interfaces are assigned to the dialer rotary group. Physical interfaces inherit the interface dialer configuration parameters.
After an interface configuration is propagated to a set of physical interfaces, those interfaces can be used to place calls using standard DDR criteria. When many destinations are configured, any of the physical interfaces in a rotary group can be used for outgoing calls. When traffic arrives, an interface from the rotary group is dialed. When more traffic for a different host arrives, another interface is dialed. Using the dialer interface allows you to specify one set of dialer maps that can apply to multiple physical lines.
You can define 0 to as many as nine dialer interfaces. Follow the steps in the following task list for each dialer rotary group.
To define a rotary group, perform the following task in global configuration mode:
Task | Command |
---|---|
Define a rotary group. | interface dialer number |
To enable DDR for the dialer rotary group, perform the following task in interface configuration mode:
Task | Command |
---|---|
Enable DDR on a serial interface. Set parity on synchronous serial interfaces only. | dialer in-band [no-parity | odd-parity] |
To define multiple dialing destinations for the dialer rotary group, perform one of the following tasks in interface configuration mode:
To assign a physical interface to a dialer rotary group, perform the following task in interface configuration mode:
Task | Command |
---|---|
Include the specified physical interface in a dialer rotary group in interface configuration mode. | dialer rotary-group number |
Interfaces in a dialer rotary group do not have individual addresses; when the interface is being used for dialing, it inherits the parameters configured for the dialer interface. However, if the individual interface is configured with an address and it is subsequently used to establish a connection from the user EXEC level, the individual interface address again applies.
You cannot assign ISDN BRI interfaces to a rotary group. By default, ISDN interfaces are a rotary group of Channel B1 and Channel B2.
Figure 1-2 illustrates how dialer interfaces work. In this example configuration, serial interfaces 1, 2, and 3 are assigned to dialer rotary group 1. This means that these three interfaces take on the parameters configured for dialer interface 1. For example, when it is being used for dialing, the IP address of serial interface 2 is the same as the address of the dialer interface, 131.108.1.1.
You can configure an interface or dialer rotary group to receive calls from a single site or from multiple sites. To configure a single line or multiple lines to receive calls from single or multiple sites, simply enable DDR. To receive calls from multiple sites on a dialer rotary group, configure the dialer rotary group to authenticate the caller.
Perform one of the following tasks to configure an interface to receive calls:
To receive a call from a single site, you must enable DDR using the dialer-in-band command. Dialers specified by this command use chat scripts for asynchronous interfaces and V.25bis on synchronous interfaces. Parity is not needed to enable DDR to receive calls only. To enable DDR, perform the following task in interface configuration mode:
Task | Command |
---|---|
Enable DDR on a serial interface. | dialer in-band [no-parity | odd-parity] |
You cannot set up an ISDN interface to receive calls from a single site.
You can configure your router to receive calls from multiple sites on a single line, on multiple lines, or on a dialer rotary group.
No special configuration is required to receive calls on individual lines.
The following are the steps to configure your router to receive calls on a dialer rotary group:
Step 1 Assign a rotary group leader.
Step 2 Enable DDR on the rotary interface.
Step 3 Enable CHAP.
Step 4 Configure CHAP authentication.
Step 5 Specify a physical interface.
Step 6 Assign physical interfaces to dialer rotary groups.
Dialer rotary groups allow you to apply a single interface configuration to a set of physical interfaces. Dialer rotary groups are useful in environments that have multiple callers and calling destinations. Configure a dialer interface unless you are only using a single line for dialing out.
A dialer rotary group is defined by specifying a "dialer interface." The dialer interface is not a physical interface; it is an entity that allows you to propagate an interface configuration to multiple interfaces. After the dialer interface is defined by a number, interface parameters are configured for the dialer interface. Finally, physical interfaces are assigned to the dialer rotary group. Physical interfaces inherit the interface dialer configuration parameters.
After an interface configuration is propagated to a set of physical interfaces, those interfaces can be used to place calls using standard DDR criteria. When many destinations are configured, any of the physical interfaces in a rotary group can be used for outgoing calls. When traffic arrives, an interface from the rotary group is dialed. When more traffic for a different host arrives, another interface is dialed. Using the dialer interface allows you to specify one set of dialer maps that can apply to multiple physical lines.
You can define 0 to as many as nine dialer interfaces. For each dialer rotary group, perform the following task in global configuration mode:
Task | Command |
---|---|
Define a rotary group. | interface dialer number |
To receive a call from multiple sites, you must enable DDR using the dialer-in-band command. Dialers specified by this command use chat scripts for asynchronous interfaces and V.25bis on synchronous interfaces. Parity is not needed to enable DDR to receive calls only. To enable DDR, perform the following task in interface configuration mode:
Task | Command |
---|---|
Enable DDR on a serial interface. | dialer in-band [no parity | odd parity] |
Point-to-Point Protocol (PPP) with Challenge Handshake Authentication Protocol (CHAP) authentication is often used to inform the central site about which remote routers are connected to it.
With this authentication information, if another packet is received for a destination to which the router is already connected, an additional call will not be placed. However, if using rotaries, the packet will be sent out the correct port.
CHAP is specified in RFC 1333. CHAP is supported on synchronous and asynchronous serial interfaces. Using CHAP authentication, each router identifies itself by a name, which informs the other router what routers are currently connected to it. This identification process prevents a router from placing a call to another router if it is already connected to that router and prevents unauthorized access. See the "Configuring Interfaces" chapter for more information about CHAP.
When CHAP is enabled, a remote device (a PC, workstation, or router) attempting to connect to the local router is requested, or challenged, to respond. The challenge consists of a random number and the host name of the local router. This challenge is transmitted to the remote device. The required response is an encrypted version of a secret password, or secret, plus a random value and the name of the remote device.
The remote device finds the secret by looking up the host name that was received in the challenge. When the local router receives the challenge response, it verifies the response by looking up the name of the remote device given in the response. The secret passwords must be identical on the remote device and the local router. These names and secret passwords are configured using the username command.
By transmitting this response, the secret is never transmitted, preventing other devices from stealing it and gaining illegal access to the system. Without the proper response, the remote device cannot connect to the local router.
CHAP transactions occur only at the time a link is established. The local router does not issue a challenge during the rest of the call. (The local router can, however, respond to such requests from other devices during a call.)
To use CHAP, you must perform the following tasks:
To enable PPP encapsulation, perform the following task in interface configuration mode:
Task | Command |
---|---|
Enable PPP on an interface. | encapsulation ppp |
To enable CHAP on an interface configured for PPP encapsulation, perform the following task in interface configuration mode:
Task | Command |
---|---|
Enable CHAP on an interface. | ppp authentication chap |
After you have enabled CHAP, the local router requires authentication from remote devices that are calling in. If the remote device does not support CHAP, no traffic will be passed to that device.
To specify the password to be used in CHAP caller identification, perform the following task in global configuration mode:
Task | Command |
---|---|
Configure authentication | username name password secret |
Add a name entry for each remote system from which the local router requires authentication.
The host name of each site calling in to the local router needs to be mapped to its address. To map a next hop to a host name, perform the following task in interface configuration mode:
Task | Command |
---|---|
Configure a serial interface to map host names to next hop addresses (for rotary groups only). | dialer map protocol next-hop-address name hostname |
To assign a physical interface to a dialer rotary group, perform the following task in interface configuration mode:
Task | Command |
---|---|
Include the specified physical interface in a dialer rotary group. | dialer rotary-group number |
Interfaces in a dialer rotary group do not have individual addresses; when the interface is being used for dialing, it inherits the parameters configured for the dialer interface. However, if the individual interface is configured with an address and it is subsequently used to establish a connection from the user EXEC level, the individual interface address again applies.
Perform one of the following tasks to configure an interface to place and receive calls:
You can configure an interface or dialer rotary group to both place and receive calls. If the interface is calling and being called by a single site, simply enable DDR and specify a dialer string. For calling and receiving calls from multiple sites, an interface or dialer rotary group must be configured to authenticate callers and to map next hop addresses to phone numbers or dial strings.
To configure your router to place calls to and receive calls from a single site, perform the following tasks in interface configuration mode:
Step 1 Enable DDR.
Step 2 Specify the phone number to dial.
When a dialer string is configured on an interface and CHAP is not, any incoming call is assumed to be from the configured dialer string.
To call and receive a call from a single site, you must enable DDR using the dialer-in-band command. Dialers specified by this command use chat scripts on asynchronous interfaces and V.25bis on synchronous interfaces. If using V.25bis, you can optionally specify parity. The 1984 version of the V.25bis specification states that characters must have odd parity. However, the default is no parity. To enable DDR, perform the following task in interface configuration mode:
Task | Command |
---|---|
Enable DDR on a serial interface. Set parity on synchronous serial interfaces only. | dialer in-band [no-parity | odd-parity] |
To specify a dial-string destination for an interface, perform the following task in interface configuration mode:
Task | Command |
---|---|
Specify a string of numbers to dial. | dialer string dial-string |
To configure a single line, multiple lines, or a rotary group to place calls to and receive calls from multiple sites, perform the following tasks in interface configuration mode:
Step 1 Enable DDR.
Step 2 Specify a phone number to dial.
Step 3 Map next hop to host name and phone number.
To call and receive calls from multiple sites, you must enable DDR using the dialer-in-band command. Dialers specified by this command use chat scripts on asynchronous interfaces and V.25bis on synchronous interfaces. If using V.25bis, you can optionally specify parity. The 1984 version of the V.25bis specification states that characters must have odd parity. However, the default is no parity. To enable DDR, perform the following task in interface configuration mode:
Task | Command |
---|---|
Enable DDR on a serial interface. Set parity on synchronous serial interfaces only. | dialer in-band [no-parity | odd-parity] |
To specify one destination dial string per interface, perform the following task in interface configuration mode:
Task | Command |
---|---|
Specify a string of numbers to dial (to configure one phone number on multiple lines only). | dialer string dial-string |
Calls from the multiple sites will need to be authenticated. Authentication can be done through CHAP. To enable CHAP on an interface and authenticate sites that are calling in, perform the following tasks in interface configuration mode:
Task | Command |
---|---|
Configure an interface for PPP encapsulation. | encapsulation ppp |
Enable CHAP.1 | ppp authentication chap |
Map next hop to host name and phone number. | dialer map protocol next-hop-address [modem-script modem-regexp] [system-script system-regexp] name hostname dial-string |
See the previous section for an explanation of assigning chat scripts to an interface or dialer rotary group.
Figure 1-3 shows a configuration in which the central site is calling and receiving calls from multiple sites. In this configuration, multiple sites are calling in to a central site, and the central site is calling out to the remote sites.
On DDR links for IPX, the link may come up often even when all client sessions are idle because of watchdog/keepalive packets coming from the server to all the clients approximately every five minutes. A local router with the DDR link can be configured to idle out the link and still make the server believe the clients are active by responding to the watchdog packets on behalf of the clients. To do so, perform the following tasks in interface configuration mode:
Step 1 Enable DDR.
Step 2 Disable IPX fast switching.
Step 3 Enable watchdog spoofing.
You must enable DDR using the dialer-in-band command. Dialers specified by this command use chat scripts on asynchronous interfaces and V.25bis on synchronous interfaces. If using V.25bis, you can optionally specify parity. The 1984 version of the V.25bis specification states that characters must have odd parity. However, the default is no parity. To enable DDR, perform the following task in interface configuration mode:
Task | Command |
---|---|
Enable DDR | dialer in-band [no parity | odd-parity] |
You must also disable IPX fast switching using the no ipx route cache command. To disable fast switching, perform the following task in interface configuration mode:
Task | Command |
---|---|
Disable fast switching for IPX | no ipx route-cache |
After enabling DDR and disabling IPX fast switching for the interface, you can enable watchdog spoofing using ipx watchdog-spoof command. To do so, perform the following task in interface configuration mode:
Task | Command |
---|---|
Enable watchdog spoofing | ipx watch-dog spoof |
Perform the following tasks as necessary to customize DDR in your network:
To specify the amount of time a line will stay idle before it is disconnected, perform the following task in interface configuration mode:
Task | Command |
---|---|
Set line idle time. | dialer idle-timeout number-of-seconds |
Use the command described next to set the line idle time on a line for which there is contention. This command applies to both inbound and outbound calls.
The fast idle timer is activated if there is contention for a line. In other words, if a line is in use and a packet for a different next hop address is received, and the busy line is required to send the competing packet, the dialer fast idle timer is activated.
If the line has been idle for the configured amount of time, the current call is disconnected immediately and the new call is placed.
If the line has not yet been idle as long as the fast idle timer, the packet is dropped because there is no way to get through to the destination. (After the packet is dropped, the fast idle timer remains active and the current call is disconnected as soon as it has been idle for as long as the fast idle timeout).
If, in the meantime, there is another packet transmitted to the currently connected destination, and it is classified as interesting, the fast idle timer will be restarted.
Specify the amount of time a line for which there is contention will stay idle before the line is disconnected and the competing call is placed. Perform the following task in interface configuration mode:
Task | Command |
---|---|
Set idle time for high traffic lines. | dialer fast-idle number-of-seconds |
This command applies to both inbound and outbound calls.
To set the length of time an interface stays down before it is available to dial again after a line is disconnected or fails, perform the following task in interface configuration mode:
Task | Command |
---|---|
Set the interface downtime. | dialer enable-timeout number-of-seconds |
This command applies to both inbound and outbound calls.
To set how long to wait for the telephone service (carrier), perform the following task in interface configuration mode:
Task | Command |
---|---|
Set how long to wait for the carrier to come up when a call is placed. | dialer wait-for-carrier-time number-of-seconds |
For asynchronous interfaces, this command sets the total time to wait for a call to connect. This time is set to allow for running the chat script.
Access lists are central to the operation of DDR. In general, access lists are used as the screening criteria for determining when to initiate DDR calls. All packets are tested against the dialer access list. Packets that match a permit entry are deemed interesting or packets of interest. Packets that do not match a permit entry or that do match a deny entry are deemed uninteresting. When a packet is found to be interesting, either the idle timer is reset (if the line is active) or a connection is attempted (assuming the line available but not active). If a tested packet is deemed uninteresting, it will be forwarded if it is intended for a destination known to be on a specific interface and the link is active. However, such a packet will not initiate a DDR call and will not reset the idle timer.
Before you perform the tasks outlined in this section, see the "Configuring IP" chapter for information about defining IP access lists and the "Configuring Novell IPX" chapter for information about defining IPX access lists. Define access lists if you want to control access on DDR interfaces by access lists rather than protocols.
Step 1 Associate a protocol or access list with the dialer access group.
Step 2 Set a dialer access group number
You can permit or deny access to an entire protocol or you can specify an access list for more refined control. Perform one of the following tasks in global configuration mode:
Acceptable access list numbers are IP standard and extended access list numbers, Novell IPX standard, extended, and SAP access list numbers, and bridge type codes. Packets matching permit conditions are deemed interesting. Packets matching deny conditions or not matching any dialer list statements are deemed uninteresting.
An interface can be associated only with a single dialer access group; multiple dialer access group assignments are not allowed.To specify the dialer access group to which you want to assign an access list, perform the following task in interface configuration mode:
Task | Command |
---|---|
Specify the number of the dialer access group to which the specific interface belongs. | dialer-group group-number |
You can configure a dialer rotary group to place additional calls to a single destination if the load for the interface exceeds a specified weighted value. Parallel router links are established based on traffic load. An unlimited number of parallel links can be established to one location.
To configure the load threshold, perform the following task in interface configuration mode:
Task | Command |
---|---|
Configure the dialer rotary group to place additional calls to a single destination. | dialer load-threshold load |
Perform the following tasks in privileged EXEC mode to monitor DDR connections:
For information displayed by the show dialer command, refer to the "Dial-on-Demand Commands" chapter of the Router Products Command Reference publication. For information displayed by the show ipx interface and show ipx traffic commands, refer to the "Novell IPX Commands" chapter of the Router Products Command Reference publication. For information displayed by the show interfaces bri 0 command, refer to the "Interfaces Commands" chapter of the Router Products Command Reference publication.
The examples provided in this section show various DDR configurations as follows:
The following is an example for dial backup using the auxiliary port (async1):
interface serial 0
ip address 1.2.3.4 255.255.255.0
backup interface async1
backup delay 10 10
!
interface async 1
ip address 1.2.3.5 255.255.255.0
dialer in-band
dialer string 5551212
dialer-group 1
async dynamic routing
!
Dialer-list 1 protocol ip permit
!
chat-script foo "" "atdt 5551212" TIMEOUT 60 "CONNECT"
!
line aux 0
mode chat-script foo
modem inout
speed 9600
The following is an example for dial backup using DDR and ISDN:
interface serial 0
ip address 1.2.3.4 255.255.255.0
backup interface bri0
backup delay 0 0
!
interface bri 0
ip address 1.2.3.5 255.255.255.0
dialer in-band
dialer string 5551212
dialer-group 1
async dynamic routing
!
dialer-list 1 protocol ip permit
The following example illustrates how DDR can be used on an asynchronous interface in an IP environment. The same configuration could be used on an asynchronous serial interface by changing "interface serial 1" to specify an asynchronous interface (for example, "interface async 0").
interface serial 1
ip address 131.108.126.1 255.255.255.0
dialer in-band
! The next command sets the dialer idle time-out to 10 minutes
dialer idle-timeout 600
! The next command inserts the phone number
dialer string 555-1234
! The next command gives the modem enough time to recognize that
! DTR has dropped so the modem disconnects the call
pulse-time 1
! The next command adds this interface to the dialer access group defined with
! the dialer-list command
dialer-group 1
!
! The first access list statement, below, specifies that IGRP updates are not
! interesting packets. The second access-list statement specifies that all
! other IP traffic such as Ping, Telnet, or any other IP packet are interesting
! packets. The dialer-list command then creates dialer access group 1 and
! states that access list 101 is to be used to classify packets as interesting
! or uninteresting. The ip route commands
! specify that there is a route to network 131.108.29.0 and to network
! 131.108.1.0 via 131.108.126.2. This means that several destination networks
! are available through a router that is dialed from interface async 1.
!
access-list 101 deny igrp 0.0.0.0 255.255.255.255 255.255.255.255 0.0.0.0
access-list 101 permit ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255
dialer-list 1 list 101
ip route 131.108.29.0 131.108.126.2
ip route 131.108.1.0 131.108.126.2
With many modems, the pulse-time command must be used so that DTR is dropped for sufficient time to allow the modem to disconnect.
The redistribute static command can be used to advertise static route information for DDR applications. See the redistribute static ip command, described in the "IP Routing Protocols Commands" chapter of the Router Products Command Reference publication. Without this command, static routes to the hosts or network that the router can access with DDR will not be advertised to other routers with which the router is communicating. This can block communication because some routes will not be known.
The following example illustrates how DDR can be used in an IPX environment to allow the local router with the DDR link to idle out the link and still make the server believe the clients are active by responding to the watchdog packets on behalf of the clients. The same configuration could be used on an asynchronous serial interface by changing "interface ser 1" to specify an asynchronous interface (for example, "interface async 0").
bottomright(config)# int ser 1
bottomright(config-if)# dialer in-band
bottomright(config)# no ipx route cache
bottomright(config-if)# ipx watchdog-spoof
The following example demonstrates how to specify multiple destination dial strings (phone numbers):
interface serial 1
ip address 131.108.126.1 255.255.255.0
dialer in-band
dialer wait-for-carrier-time 100
pulse-time 1
dialer-group 1
dialer map ip 131.108.126.10 555-8899
dialer map ip 131.108.126.15 555-5555
!
access-list 101 deny igrp 0.0.0.0 255.255.255.255 255.255.255.255 0.0.0.0
access-list 101 permit ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255
dialer-list 1 LIST 101
As before, a pulse time is assigned, and a dialer access group specified.
The first dialer map command specifies that the number 555-8899 is to be dialed for IP packets with a next-hop-address of 131.108.126.10. The second dialer map then specifies that the number 555-5555 will be called when an IP packet with a next-hop-address of 131.108.126.15 is detected.
The following configuration places interfaces serial 1 and 2 into dialer rotary group 1, defined by the interface dialer 1 command.
! PPP encapsulation is enabled for interface dialer 1.
interface dialer 1
encapsulation ppp
dialer in-band
ip address 131.108.2.1 255.255.255.0
ip address 131.126.2.1 255.255.255.0 secondary
! The first dialer map command allows remote site YYY and the
! central site to call each other. The second dialer map command, with no
! dialer string, allows remote site ZZZ to call the central site but
! the central site can not call remote site ZZZ (no phone number).
dialer map ip 131.108.2.5 name YYY 1415553434
dialer map ip 131.126.2.55 name ZZZ
! The DTR pulse signals for three seconds on the interfaces in dialer
! group 1. This holds the DTR low so the modem can recognize that DTR has been
! dropped.
pulse-time 3
! Interfaces serial 1 and 2 are placed in dialer rotary group 1. All of
! the interface configuration commands (the encapsulation and dialer map commands shown
! earlier in this example) applied to interface dialer 1 apply
! to these interfaces.
interface serial 1
dialer rotary-group 1
interface serial 2
dialer rotary-group 1
Assume that your configuration is as shown in Figure 1-4 and your router receives a packet with a next hop address of 1.1.1.1:
If the interface on your router is configured to call a single site with phone number 5555555, it will send the packet to that site, assuming that the next hop address 1.1.1.1 indicates the same remote device as phone number 5555555. The dialer string command is used to specify the string (telephone number) to be called.
interface serial 1
dialer in-band
dialer string 5555555
If the interface is configured to dial multiple sites, the interface or dialer rotary group must be configured so that the correct phone number, 5555555, is mapped to the address 1.1.1.1. If this mapping is not configured, the interface or dialer rotary group would not know what phone number to call to deliver the packet to its correct destination, which is the address 1.1.1.1. In this way, a packet with a destination of 2.2.2.2 will not be sent to 5555555. The dialer map command is used to map next-hop addresses to phone numbers.
interface serial 1
dialer in-band
dialer map ip 1.1.1.1 5555555
dialer map ip 2.2.2.2 6666666
Figure 1-5 shows the following configuration:
chat-script dial ABORT ERROR "" "AT Z" OK "ATDT \T" TIMEOUT 30 CONNECT \c
chat-script login ABORT invalid TIMEOUT 15 name: billw word: wewpass ">"
"slip default"
interface async 10
dialer in-band
dialer map ip 10.55.0.1 modem-script dial system-script
login 96837890
In the following example chat script, " " means expect anything and \r means send a return.
" " \r "name:" "myname" "ord":" "mypassword" ">" "slip default"
The following example shows a configuration in which, when there is traffic, a random line will be used. The dialer code will try to find a script that matches both the modem script ".*-v32" and the system script "cisco." If there is no match for both the modem script and the system script, you will see a "no matching chat script found" message.
interface dialer 1
! v.32 rotaries are in rotary 1
dialer rotary-group 1
! Use v.32 generic script
dialer map ip 1.0.0.1 modem-script .*-v32 system-script cisco 1234
The following example shows line chat scripts being specified for lines connected to Telebit and
US Robotics modems.
! Some lines have telebit modems
line 1 6
modem chat-script telebit.*
! Some lines have US robotics modems
line 7 12
modem chat-script usr.*
The following example shows a dialing chat script and a login chat script. The dialer in-band command enables DDR on asynchronous interface 10 and the dialer map command dials 96837890 after finding the specified dialing and the login scripts.
chat-script dial ABORT ERROR "" "AT Z" OK "ATDT \T" TIMEOUT 30 CONNECT \c
chat-script login ABORT invalid TIMEOUT 15 name: billw word: wewpass ">"
"slip default"
interface async 10
dialer in-band
dialer map ip 10.55.0.1 modem-script dial system-script login 96837890
When a packet is received for 10.55.0.1, the first thing that happens is that the modem script is implemented. Table 1-2 shows the functions that are implemented with each expect-send pair in the modem script called "dial."
Expect and Send Pairs | Execution |
---|---|
ABORT ERROR | End the script execution if the text "ERROR" is found. You can have as many active abort entries as you like. |
" " "AT Z" | Without expecting anything, send an "AT Z" command to the modem. Note the use of quotes to allow a space in the send string. |
OK "ATDT \T | Wait to see "OK." Send "ATDT 96837890." |
TIMEOUT 30 | Wait up to 30 seconds for next expect string. |
CONNECT \c | Expect "connect," but do not send anything. Note that \c is effectively nothing. " " would have been nothing followed by a carriage return. |
After the modem script is successfully executed, the login script is executed. Table 1-3 shows the functions that are executed with each expect-send pair in the system script "login."
Expect and Send Pairs | Implementation |
---|---|
ABORT invalid | End the script execution if the message "invalid username or password" is displayed. |
TIMEOUT 15 | Wait up to 15 seconds. |
name: billw | Look for "name:" and send "billw." Using just "name:" will help avoid any capitalization issues. |
word: wewpass | Wait for "word:" and send the password. |
">" "slip default" | Wait for the ts prompt and put the line into slip mode with its default address. |
The following example shows the use of chat scripts, implemented with the system-script and modem-script options of the dialer map command.
If there is traffic for IP address 1.2.3.4, the router will dial the 91800 number using the usrobotics-v32 script, matching the regular expression in the modem chat script. Then the router will run the unix-slip chat script as the system script to log in.
If there is traffic for 4.3.2.1, the router will dial 8899 using usrobotics-v32, matching both the modem script and modem chat script regular expressions. The router will then log in using the cisco-compressed script.
!
! script for dialing a usr v.32 modem:
chat-script usrobotics-v32 ABORT ERROR "" "AT Z" OK "ATDT \T" TIMEOUT 30
CONNECT \c
!
! Script for logging into a unix system and starting up slip:
chat-script unix-slip ABORT invalid TIMEOUT 15 name: billw word: wewpass ">"
"slip default"
!
! Script for logging into a cisco comm server and starting up TCP header
! compression
chat-script cisco-compressed...
!
Line 15
modem chat-script usrobotics-*
!
Interface async 15
dialer map ip 1.2.3.4 system-script unix-slip 918005551212
dialer map ip 4.3.2.1 modem-script *-v32 system-script cisco-compressed 8899
The following example shows a configuration in which several aspects of DDR are used to provide DDR capabilities between local and remote routers. The following features are shown in this example:
See the "Interfaces Commands" chapter in the Router Products Command Reference publication for a description of the pulse-time command.
! Enable PPP encapsulation and CHAP on interface dialer 1.
interface dialer 1
ip address 131.108.2.1 255.255.255.0
ip address 131.126.4.1 255.255.255.0 secondary
encapsulation ppp
ppp authentication chap
! Specify dial-on-demand routing supported on a line and
! assign a set of access-list expressions.
dialer in-band
dialer group 1
! The first dialer map command indicates that calls between the remote site
! YYY and the central site will be placed at either end. The second dialer
! map command, with no dialer string, indicates that remote site ZZZ will call
! the central site but the central site will not call out.
dialer map ip 131.108.2.5 name YYY 1415553434
dialer map ip 131.126.4.5 name ZZZ
! The DTR pulse holds the DTR low for three seconds, so the modem can recognize
! that DTR has been dropped.
pulse-time 3
! Place asynchronous serial interfaces 1 and 2 in dialer rotary group 1. The
! interface subcommands applied to dialer rotary group 1 (for example,
! PPP encapsulation and CHAP) apply to these interfaces.
interface async 1
dialer rotary-group 1
interface async 2
dialer rotary-group 1
! CHAP passwords are specified for remote servers.
username YYY password theirsystem
username ZZZ password thatsystem
Figure 1-6 shows a configuration in which remote routers YYY and ZZZ and local router XXX are using dial-on-demand routing, as configured in the previous example. In this configuration, remote routers YYY and ZZZ can call router XXX. Router XXX has dialer string information only for router YYY and cannot call router ZZZ.
|