网络拨号备份是网络解决方案中的一种非常实用的方法,具有很高的性能价格比。主流路由器内IOS提供了一种脚本语言,可以根据不同的需求进行灵活的网络配置。这使我们可以用脚本语言解决特定情况下的特定问题,笔者利用脚本语言解决了拨号备份这个比较复杂的问题,并总结了一种通用的方法来解决此类问题,现在将这种方法介绍给大家, 以便共同交流。
问题的提出
笔者所在的单位设计了一个拨号备份的网络方案,所用的拨号客户端路由器为Cisco 1720和Motorola的3225、3265的调制解调器,中心的拨号服务器为Cisco 3640+,内置异步Modem。设计要求当DDN专线出现网络故障,需要传输数据时自动启动拨号备份,在180秒内没有数据传输时自动挂线。将设备正确连接,路由器和调制解调器进行常规配置后发现: 使用Usr_courier 型号的Modem 工作完全正常,而使用Motorola 3265的 Modem出现不拨号现象,使用Motorola 3225不但出现不拨号问题,而且应答来电。
原因分析
如何使客户端Motorola的3225、3265 的两种调制解调器与中心Cisco路由器内置的Modem协调工作?Cisco 路由器默认配置只支持下面的调制解调器型号: Codex_3260、Usr_courier、Usr_sportster等17个型号。其余的以Default类型对待,不与此标准兼容的调制解调器就不能正常工作。通过AT配置命令集的对比,发现Motorola的3225、3265 的两种调制解调器与Codex_3260或Default类型关键参数有部分差异,所以自动匹配的配置方法在这种情况下就不能正常工作。现在考虑采用一种比较灵活的方法来解决这个问题: 根据Modem AT配置命令集,在路由器内编写chat-script拨号脚本,使拨号的命令序列和Modem拨号控制命令序列完全匹配,从而解决此类Modem不兼容的问题。
解决方法
1. 编写客户端的脚本(以Cisco IOS 12.0版本为例)。
脚本内容为:
chat-script call “ ”“ATS54=03HS0=0&D3” OK “ATDT \T” TIMEOUT 60 “CONNECT” \d
这里“ATS54=03H”用来设置Modem 接收到 DTR变低后挂机;“S0=0”表示来电不应答;“&D3”表示流量控制方式为 hardware;“OK”意味着Modem响应命令序列后反馈“OK”; “ATDT \T”为拨叫端口内由dialer map设置的电话号码;“TIMEOUT 60”表示等待Modem拨号握手成功,超过60秒,则超时; “CONNECT”意味着等待的反馈信息内容为“CONNECT”; “\d”参数表示将命令方式转换为数据传输方式。
2. 挂线时用下面的脚本解决客户端调制解调器待机时不应答问题。
chat-script reset “”“ATS0=0” OK \d
也可以用:modemcap entry modem_3225:FD=&fs0=0
这里增加一种Modem: modem_3225。“FD=&f”表示恢复默认参数; “s0=0”表示将默认参数由应答方式改为不应答,这样做的目的是当挂线时,路由器发送的恢复出厂参数命令序列内自动携带了应答方式的设置。
3. 测试脚本。
语法:#start-chat 脚本名 端口类型 端口号
例如:
#termino monitor ;显示系统信息
#debug chat ;打开脚本调试
#start-chat reset tty 1
#start-chat call tty 1
4. 拨号客户端有关拨号的配置文档如下:
chat-script call “ ”“ATS54=03HS0=0&D3” OK “ATDT \T” TIMEOUT 60 “CONNECT” \d
modemcap entry modem_3225:FD=&fs0=0
chat-script reset “”“ATS0=0” OK \d
interface Serial0
physical-layer async
no ip address
no ip directed-broadcast
encapsulation ppp
dialer in-band
dialer rotary-group 0
!
interface Dialer0
ip address 192.16.251.25 255.255.255.0
no ip directed-broadcast
encapsulation ppp
ppp authentication chap
dialer in-band
dialer-idle timeout 180
dialer map ip 192.16.251.1 modem-script call 123456
dialer-group 1
hold-queue 10 out
ip route 0.0.0.0 0.0.0.0 192.16.241.1 100
ip route 0.0.0.0 0.0.0.0 192.16.251.1 150
access-list 101 deny ip any host 224.0.0.10
access-list 101 permit ip any any
dialer-list 1 protocol ip list 101
line 1
no exec
script startup reset
script reset reset /*或modem autoconfigure type modem_3225*/
transport input all
modem DTR-active
modem autoconfigure type modem_3225
transport input all
flowcontrol hardware
end
5. 拨号服务器端有关拨号的配置文档如下:
interface Group-Async0
ip address 80.16.251.1 255.255.255.0
no ip directed-broadcast
encapsulation ppp
ppp authentication chap
dialer in-band
async mode dedicated
group-range 65 69
ip route 192.0.1.0 255.255.255.0 192.16.241.2 100
ip route 192.0.1.0 255.255.255.0 192.16.251.2 150
line 65 69
modem InOut
modem autoconfigure discovery
transport input all
stopbits 1
flowcontrol hardware
以上路由器有关拨号的配置适用于使用脚本控制Modem的情况,对于不同的Modem需编写符合该Modem的拨号配置脚本。如:对于3265调制解调器,需输入下面的脚本:
chat-script call “”“AT*FL3&D3”OK “ATDT \T” TIMEOUT 60 “CONNECT” \d
其他不变。
在路由器内用脚本实现网络拨号
0
相关文章