内容
前言
前提条件
需求
使用的组件
惯例
硬件配置
电缆连接问题
控制台端口问题
线路配置
比特率信息
调制解调器配置
Modemcap
和调制解调器自动配置
创建
Modemcap
创建对话脚本
反向
Telnet
警告
特定生产商的调制解调器的初始化命令
本文档说明如何针对连接到异步
AUX
端口的外部调制解调器配置
Cisco
路由器并访问服务器。
其中介绍了如何配置调制解调器以使其在连接时能够正常运行。
文中还探讨了与控制台端口的连接,但仅限于概念层面,并未介绍实际安装操作。
注意: 本文档不适于作为在
AS5200、AS5300、AS5800、Cisco
2600 或
Cisco
3600
路由器上内部使用的
Microcom
或 MICA
调制解调器的参考。
本文档也不适于作为同步调制解调器的参考,尽管其中具有某些相似性。
本文档只是异步调制解调器的参考。
虽然这里的很多信息可能适用于同步调制解调器,但在配置同步调制解调器时请不要以此为依据。
本文档没有任何特定的前提条件。
本文档中的信息基于以下软件和硬件版本。
注意: 本文档并不探讨已达生命周期终点的平台,例如
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 电缆。 反转RJ-45--RJ-45用在两端的CAB-25AS-MMOD适配器将工作。 |
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电缆用适配器指示了“调制解调器” (部件号CAB-25AS-MMOD)。 |
68 针 |
Cisco 2509/2512; Cisco 2600 和 3600 上的网络模块。 |
Cisco 部件 CAB-OCTAL-ASYNC(=)(接头带“MODEM”标记)和 CAB-OCTAL-MODEM(=)。 |
“智能串行” |
在1720和2600s的广域网接口卡。 |
Cisco 部件 CAB-SS-232MT(=)。 |
注意: 同步/异步接口要求使用物理层异步配置命令以便在异步模式下运行。
注意: Cisco
1005
要求使用
Cisco
IOS 软件的
IP/ASYNC
或
IP/IPX/ASYNC
功能组以便在其串行接口上实现异步模式。
将调制解调器连接到路由器的控制台端口而不是
AUX
端口有诸多优点。
然而,其缺点也同样明显。
将调制解调器连接到控制台端口的优点:
-
可以远程恢复口令。
不过此时可能仍然需要某人在现场切换路由器的开关。
除此之外,其他方面与在路由器现场完全相同。
-
可以方便地将第二个调制解调器连接到没有异步端口的路由器。
如果需要访问配置或管理的路由器和留下Aux端口空闲为按需拨号路由(DDR),这是有利的。
-
某些路由器(例如,Cisco
1600
系列)没有
AUX
端口。
如果希望将调制解调器连接到路由器并保留串行端口用于其他连接,则控制台是唯一选择。
将调制解调器连接到控制台端口的缺点:
-
控制台端口不支持RS232调制解调器控制(Data
Set
Ready/Data
Carrier
Detect
(DSR/DCD),数据终端就绪(DTR))。
因此,当
EXEC
会话终止(注销)时,调制解调器连接不会自动断开。
用户需要手动断开会话连接。
-
更严重的是,当调制解调器连接断开后,EXEC
会话并不会自动重置。
这会造成一个安全漏洞,使得进入该调制解调器的后续呼叫能够在不输入口令的情况下访问控制台。
如果在线路上设置一个很短的
exec-timeout
值,则可以缩小该漏洞。
但是,如果安全问题很重要,则应使用能够提供口令提示的调制解调器。
-
与其他异步线路不同,控制台端口不支持硬件(允许发送/发送就绪
(CTS/RTS))流控制。
Cisco
建议不要使用流控制。
然而,如果出现数据超载,可以启用软件
(XON/XOFF)
流控制。
-
多数系统上的控制台端口只支持最高
9600
bps
的速度。
-
控制台端口缺乏反向
Telnet
功能。
如果调制解调器丢失其存储的初始化字符串,则唯一的解决办法就是断开调制解调器与路由器的物理连接,然后将其连接到另一个设备(例如
AUX
端口或
PC)重新进行初始化。
如果
AUX
端口上的调制解调器丢失其初始化字符串,则可以使用反向
Telnet
远程纠正问题。
-
不能为按需拨号路由使用控制台端口,因为它没有对应的异步接口。
注意: 本文档的其余部分探讨了非控制台连接。
请在配置或初始化调制解调器之前配置
TTY
线路,这一点很重要。
其中有两个主要原因:
通常,以下线路配置可获得最佳性能:
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。
可以使用它将许多调制解调器重置为出厂默认设置。
注意: Cisco
并不保证这些
Modemcap
对非 Cisco
调制解调器的适用性或最新性。
您也可以定义自己的
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)。
注意: 要采用此方法,调制解调器的配置必须启用
echo
和
response
代码。
调制解调器出厂时通常已设置了这些值。
不过,您可能需要对调制解调器进行手动反向
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
命令验证对话脚本是否正常运行。
注意: 要采用此方法,调制解调器的配置必须启用
echo
和
response
代码。
调制解调器出厂时通常已设置了这些值。
不过,您可能需要对调制解调器进行手动反向
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 |
|
Multitech公司 |
&FS0=1&C4&D3$SB115200 |
提示: 对于 Multitech 调制解调器: 必须使用 $SB 命令明确声明 DTE 速度。 将其设置为您所配置的任何线路速度。 否则将导致速度不匹配。 |