本文档说明如何针对连接到异步 AUX 端口的外部调制解调器配置 Cisco 路由器并访问服务器。其中介绍了如何配置调制解调器以使其在连接时能够正常运行。文中还探讨了与控制台端口的连接,但仅限于概念层面,并未介绍实际安装操作。
注:本文档不是AS5200、AS5300、AS5800、Cisco 2600或Cisco 3600路由器上内部使用的Microcom或MICA调制解调器的参考。本文档也不适于作为同步调制解调器的参考,尽管其中具有某些相似性。本文档只是异步调制解调器的参考。虽然这里的很多信息可能适用于同步调制解调器,但在配置同步调制解调器时请不要以此为依据。
本文档没有任何特定的前提条件。
本文档中的信息基于以下软件和硬件版本。
Cisco IOS® 软件 9.21 版及更高版本
支持 V.34(或更高标准)的调制解调器
注意:本文档不介绍已达到寿命终止状态的平台,如ASM、MSM、CSM、STS-10或500-CS。
本文档中的信息都是基于特定实验室环境中的设备创建的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您在使用任何命令前已经了解其潜在影响。
有关文档约定的更多信息,请参考 Cisco 技术提示约定。
将调制解调器连接到路由器的第一步是安装硬件。这里所涉及的主要问题是使用哪些电缆以及为什么为调制解调器使用或不使用控制台端口。
需要注意到是,在配置调制解调器之前必须将其连接到路由器,这样才能验证它们之间的通信。如果电缆连接不正确,那么后续的过程将失败。
通常,外部调制解调器使用凹式数据通信设备(DCE)DB-25端口构建,用于连接到控制设备(如PC或路由器)。下表可帮助您选择用于在路由器和调制解调器之间建立连接的适当电缆。该表还包含了有关电缆要求以及 Cisco 路由器上可连接调制解调器的物理端口类型的信息。
路由器端口 | 位置示例 | 所需电缆 |
---|---|---|
DB-25 DTE | Cisco 4000、7000、7200 和 7500 上的凸头 DB-25 AUX。 | 直通DB-25F — DB25M RS-232电缆。 |
DB-25 DCE | Cisco 4000 及 7000 系列上的凹头 DB-25 控制台端口。 | 空调制解调器DB-25M — DB25M RS232电缆。两端均带CAB-25AS-MMOD适配器的反转RJ-45-RJ-45将工作。 |
DB-60 | 同步/异步接口。Cisco 1005、1600 系列及 2500 系列;Cisco 2600、3600 和 4000 上的网络模块。 | Cisco 专用电缆,CAB-232MT(=)。 |
RJ-45 | Cisco 2500 系列、2600、3600、AS5200 和 AS5300 上的 AUX 或 CON。 | 反转RJ-45 - RJ-45电缆,适配器标有“MODEM”(部件号CAB-25AS-MMOD)。 |
68 针 | Cisco 2509/2512;Cisco 2600 和 3600 上的网络模块。 | Cisco 部件 CAB-OCTAL-ASYNC(=)(接头带“MODEM”标记)和 CAB-OCTAL-MODEM(=)。 |
“智能串行” | 1720和2600上的广域网接口卡(WIC)。 | Cisco 部件 CAB-SS-232MT(=)。 |
注意:同步/异步接口需要物理层异步配置命令才能在异步模式下运行。
注意:Cisco 1005需要Cisco IOS软件的IP/ASYNC或IP/IPX/ASYNC功能集,以便允许其串行接口上的异步模式。
将调制解调器连接到路由器的控制台端口而不是 AUX 端口有诸多优点。然而,其缺点也同样明显。
可以远程恢复口令。不过此时可能仍然需要某人在现场切换路由器的开关。除此之外,其他方面与在路由器现场完全相同。
可以方便地将第二个调制解调器连接到没有异步端口的路由器。如果您需要访问路由器进行配置或管理,并使AUX端口可用于按需拨号路由(DDR),则这会非常有益。
某些路由器(例如,Cisco 1600 系列)没有 AUX 端口。如果要将调制解调器连接到路由器并保留串行端口可供其他连接使用,则控制台是唯一选项。
控制台端口不支持RS232调制解调器控制(数据集就绪/数据载波检测(DSR/DCD)、数据终端就绪(DTR))。 因此,当 EXEC 会话终止(注销)时,调制解调器连接不会自动断开。用户需要手动断开会话连接。
更严重的是,当调制解调器连接断开后,EXEC 会话并不会自动重置。这会造成一个安全漏洞,使得进入该调制解调器的后续呼叫能够在不输入口令的情况下访问控制台。如果在线路上设置一个很短的 exec-timeout 值,则可以缩小该漏洞。但是,如果安全问题很重要,则应使用能够提供口令提示的调制解调器。
与其他异步线路不同,控制台端口不支持硬件(允许发送/发送就绪 (CTS/RTS))流控制。Cisco 建议不要使用流控制。然而,如果出现数据超载,可以启用软件 (XON/XOFF) 流控制。
多数系统上的控制台端口只支持最高 9600 bps 的速度。
控制台端口缺乏反向 Telnet 功能。如果调制解调器丢失其存储的初始化字符串,则唯一的解决办法就是断开调制解调器与路由器的物理连接,然后将其连接到另一个设备(例如 AUX 端口或 PC)重新进行初始化。如果 AUX 端口上的调制解调器丢失其初始化字符串,则可以使用反向 Telnet 远程纠正问题。
不能为按需拨号路由使用控制台端口,因为它没有对应的异步接口。
注意:本文档的其余部分涉及非控制台连接。
请在配置或初始化调制解调器之前配置 TTY 线路,这一点很重要。其中有两个主要原因:
允许对调制解调器进行反向 Telnet 访问。
如果在调制解调器初始化之后更改线路速度,则在重新告知调制解调器以什么速度与路由器通信之前,调制解调器将不再与路由器通信。
通常,以下线路配置可获得最佳性能:
line "x" | TTY #。1、访问服务器上的 last_tty+1、Cisco 2600 系列和 3620 上的线路 65 以及 Cisco 3640 上的线路 129 是 TTY #. AUX 端口。 |
---|---|
speed "xxxxx" | 设置为调制解调器和端口均接受的最高速度。该值通常为 115200 波特。请参阅比特率信息。 |
stopbits 1 | 通过降低异步帧开销提高吞吐量(默认值为 stopbits 2)。 |
flowcontrol hardware | RTS/CTS 流控制。 |
modem inout | DCD (DSR) 丢失时断开连接。 连接关闭时循环 DTR。该命令还允许出站连接到调制解调器。 |
transport input all | telnet | 允许出站连接到此线路。需要此设置以允许对调制解调器进行反向 Telnet 访问。 |
该配置假设调制解调器始终以“speed”速度进行对话(这就是为什么必须要在调制解调器上锁定速度 (LOCK SPEED)),并且调制解调器的 CD 灯反映了载波的实际状态,同时当路由器断开 DTR 时调制解调器将挂断。尽可能避免用 autobaud 取代速度,因为这通常会导致吞吐量降低。
最大速度 | 支持平台和接口 |
---|---|
38400 | 多数 AUX 端口 |
115200 | Cisco 2600 和 3600 模块上的 Cisco 1005、1600 以及 2509 到 2512 AUX 端口,以及支持外部异步调制解调器的 WIC(例如 NM-16A、WIC-2A/S) |
注意:如果您是在AUX端口上路由,请注意每个字符都会生成处理器中断。通过使用较低的 AUX 端口速度可以解决 CPU 使用率异常偏高的情况。
Cisco 建议使用 modem autoconfigure type <modemcap_name> 命令(在 Cisco IOS 软件 11.1 版中引入的)配置连接到异步线路的调制解调器。如果使用早于 11.1 版的 Cisco IOS 软件版本,可以使用 script startup 和 script reset 通过对话脚本配置调制解调器。
对于多数应用,可以按照下面所列的详细步骤配置当前的主流调制解调器:
重置为出厂默认设置(如果可能,使用硬件流控制模板)。
使用硬件 (RTS/CTS) 流控制。
使用常规调制解调器控制(DTR 断开时挂断;载波断开时断开 DCD)。
启用(但非必需)错误控制(LAP-M [V.42] 和 MNP)。
启用(但非必需)数据压缩 (V.42bis)。
启用调制解调器支持的所有调制标准。
将 DTE 速度锁定为调制解调器和异步线路均支持的最高速率。
需要时启用自动应答。在自动应答模式下,应忽略转义序列 (+++)。
有关调制解调器使用的命令集的详细信息,请参阅供应商提供的文档或访问 www.56k.com 页面以查看该文档的链接列表。
Cisco IOS 软件为各种内部和外部调制解调器维护了一组内置 Modemcap。以下输出显示的是 Cisco IOS 软件 11.3(9)T 版的一个 Modemcap 示例:
router#show modemcap default codex_3260 usr_courier usr_sportster hayes_optima global_village viva telebit_t3000 microcom_hdms microcom_server nec_v34 nec_v110 nec_piafs cisco_v110 mica
如果觉得其中某个内置 Modemcap 是合适的,可以使用 modem autoconfigure type <modem_name> 或 modem autoconfigure discovery 命令:
async-1#terminal monitor async-1#debug confmodem Modem Configuration Database debugging is on async-1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. async-1(config)#line 1 async-1(config-line)#modem autoconfigure discovery async-1(config-line)# *Mar 3 03:02:19.535: TTY1: detection speed (38400) response ---OK--- *Mar 3 03:02:24.727: TTY1: Modem type is default *Mar 3 03:02:24.731: TTY1: Modem command: --AT&F&C1&D2SO=1H0-- *Mar 3 03:02:25.259: TTY1: Modem configuration succeeded *Mar 3 03:02:25.259: TTY1: Detected modem speed 38400 *Mar 3 03:02:25.259: TTY1: Done with modem configuration
注意:内置Modemcap mica由&F组成。可以使用它将许多调制解调器重置为出厂默认设置。
注意:思科不保证内置Modemcaps适用于非思科调制解调器的适用性或当前性。
您也可以定义自己的 Modemcap 并使用 modem autoconfigure type 命令:
async-1#terminal monitor async-1#debug confmodem Modem Configuration Database debugging is on async-1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. async-1(config)#modemcap edit MyTest misc &FSO=1 async-1(config)#line 1 async-1(config-line)#modem autoconfigure type MyTest async-1(config-line)# *Mar 3 03:06:30.931: TTY1: detection speed (38400) response ---OK--- *Mar 3 03:06:30.963: TTY1: Modem command: --AT&FSO=1-- *Mar 3 03:06:31.483: TTY1: Modem configuration succeeded *Mar 3 03:06:31.487: TTY1: Detected modem speed 38400 *Mar 3 03:06:31.487: TTY1: Done with modem configuration
使用以下全局配置命令定义自己的 Modemcap:
modemcap edit <modemcap_name> miscellaneous <initialization string>
使用以下命令将该 Modemcap 应用于线路配置:
modem autoconfigure type <modemcap_name>
这里有一些很有用的特定生产商的调制解调器命令。
注意:在modemcap edit命令中输入的初始化字符串不带前面的AT,也不带终止&W。
注意:这些命令中的modemcap_name不应与show modemcap命令列出的预定义条目之一相同。
注意:初始化字符串应以重置为默认值的命令开头(通常为&F或&F1)。
注:要使此方法正常工作,必须为调制解调器配置回声和响应代码以打开。调制解调器出厂时通常已设置了这些值。不过,您可能需要对调制解调器进行手动反向 Telnet 访问并发出命令以启用 echo 和 response。执行此操作的常用命令是ATE1Q0。请检查调制解调器文档。
使用以下全局配置命令配置一个对话脚本以用于调制解调器的配置:
chat-script <script-name> AT OK "initialization string" OK
可以使用以下命令为单个线路调用对话脚本:
start-chat <script-name><line-number>
也可以自动调用对话脚本。将以下命令添加到线路配置中:
script startup <script-name> script reset <script-name>
每次出现以下情况时都会调用对话脚本:系统重新加载,线路在会话终止时重置,或手动清除线路。
可以使用 debug chat 命令验证对话脚本是否正常运行。
注:要使用此方法,必须在启用回声和响应代码的情况下配置调制解调器。调制解调器出厂时通常已设置了这些值。不过,您可能需要对调制解调器进行手动反向 Telnet 访问并发出命令以启用 echo 和 response。执行此操作的常用命令是ATE1Q0。请检查调制解调器文档。
发出以下命令建立反向 Telnet 连接:
telnet x.x.x.x 2yyy or [2000+yyy]
x.x.x.x 代表 Cisco 路由器上任何 up/up 接口的 IP 地址(例如以太网或环回接口),yyy 是要连接的线路编号。如果配置了 TTY 线路,则可以从网络上能够对 x.x.x.x 接口进行 ping 操作的任何位置发出 telnet 命令。
任何路由器的AUX端口是最后一个异步线路号+ 1。您可以使用show line或show line aux 0 命令查看这是哪个行号。
如果连接被拒绝,则通常意味着该端口已有一个连接,或者该端口上运行有 EXEC(提示符)。其原因可能是调制解调器未能在呼叫断开之后停止 CD。这会导致在断开连接之后仍然保留 EXEC。要强制线路返回空闲状态,可以从控制台清除线路,然后重试。如果仍然失败,请确保为该线路设置了 modem inout 和 transport input all |该行的telnet命令。还要确保调制解调器的设置不会覆盖 DTR(例如,USR 调制解调器的 DIP 开关设置就会覆盖 DTR)。 如果没有调制解调器控制(9.21 之前的 AUX 端口就是如此),请确保在建立反向连接之前为线路设置 no exec 命令。还可以尝试使用外部终端配置调制解调器。如果都行不通,那么最后可以断开调制解调器,清除线路,建立 Telnet 连接,然后再连接调制解调器。这可以防止配置不当的调制解调器拒绝线路访问。
请始终以 AT 开头向调制解调器发出初始化命令,并以所希望的调制解调器与 Cisco 路由器之间的通信速度发出这些命令。这可以确保调制解调器始终以预期速度进行通信,而不管任何传入的调制解调器连接的速度如何(如果将调制解调器设置为锁定在 DTE 速度,这是必需的)。
如果您的拨号 EXEC 连接表现为停止响应,请输入 ^U(清除线路)和 ^Q (XON),然后多次按 Return 键。
拨入后,如果键入 quit 但调制解调器并未挂断,则可能是因为没有进行 DTR 检测,未在 Cisco 路由器上适当配置调制解调器控制,或者是因为接线不正确。
如果拨入后发现自己位于别人的会话中(即处于启用或配置提示下),则可能是因为调制解调器在断开连接时未停止 CD,或是您未在 Cisco 路由器上配置调制解调器控制。
如果向拨号调制解调器发出 +++ 并后跟一个 ATO 命令,结果发现连接未响应,则表明应答调制解调器在应答时尝试对 +++ 进行解释。这是应答调制解调器的一个 Bug,很多调制解调器都存在此问题。可能有一个解决此问题的开关,但具体情况视调制解调器而不同。
如果在线路配置中启用了 autoselect,则需要使用一个回车以进入 EXEC。
如果决定进行硬件 (RTS/CTS) 流控制(Cisco 强烈建议进行硬件流控制),请确保在路由器/访问服务器的线路 (DTE) 和调制解调器 (DCE) 上启用它。 如果其中一个启用了而另一个未启用,则会导致数据丢失。
如果您有MDCE连接器,请通过将引脚6移动到引脚8将其转换为MMOD连接器。这是因为大多数调制解调器使用CD,而不是DSR来指示是否有载体。如果不是使用 CD,则可以对某些调制解调器进行编程以通过 DSR 提供载波信息。
下面提供了某些常用调制解调器的建议初始化字符串,但请注意,Cisco 并不保证它们的适用性或最新性。如有疑问,请参阅调制解调器供应商的文档或咨询技术支持。
调制解调器品牌 | 初始化字符串 | 备注 |
---|---|---|
3Com/USRobotics | &F1S0=1 | &F1 硬件流控制出厂默认设置。除了初始化字符串之外, 3Com/USR 调制解调器还要求适当设置 DIP 开关。开关 3 和 8 必须关闭,所有其他开关必须打开。 |
AT&T/Paradyne | &FS0=1&C1&D3\Q3\N7%C1 | |
Best Data Smart One | &FS0=1&C1&D3 | |
Diamond/Supra | &FS0=1 | |
Global Village | &FS0=1&C1&D3\Q3\J0\N3%C1 | |
Hayes Optima | &FS0=1&Q9&C1&D3 | 注意:请勿使用内置hayes_optima modemcap。它会设置 &Q6,从而禁用错误控制。 |
Microcom | &FS0=1&C1&D3\Q3\J0\N6%C1 | 注:此信息不适用于AS5200、Cisco 2600或Cisco 3600平台上的内部调制解调器。此信息适用于独立的 Microcom 调制解调器。 |
Motorola ModemSurfr | &FS0=1&C1&D3\J | |
Motorola/Codex | &FS0=1&C1&D3*FL3*SC1*SM3*DC1 | |
多技术 | &FS0=1&C4&D3$SB115200 | 提示: 对于 Multitech 调制解调器:必须使用 $SB 命令明确声明 DTE 速度。将其设置为您所配置的任何线路速度。否则将导致速度不匹配。 |