取消
显示结果 
搜索替代 
您的意思是: 
cancel
5966
查看次数
10
有帮助
6
回复

思科路由器pppoe拨号公网IP问题

gaojing1
Level 1
Level 1
路由器为cisco 891F,运营商为江苏移动。
江苏移动pppoe拨号提供公网和私有2种IP地址。
cisco ios是否支持脚本对pppoe获得的2种IP地址进行监控和操作。
如果获得的是10、100、172开头的私有IP地址,就重新拨号,直到获取到公网IP地址为止。
谢谢。
前期经过咨询,好像思科有eem可以支持,但是不知道怎么下手。
谢谢,请指教。
6 条回复6

one-time
Level 13
Level 13
感谢您的提问!:):)稍后会有小伙伴为您解答的!:):)

Mansur
Spotlight
Spotlight
不太懂eem,
pppoe拨号成功log里面只显示接口up,不像DHCP能显示获取的ip,还真不知道怎么匹配事件……

gaojing1
Level 1
Level 1
自己研究了1个下午,思路基本是这样。
编写tcl语句,然后利用dial端口的拨号up日志,进行简单的地址判断,而进行相关操作。
晚上实际测试后反馈结果。

suzhouxiaoniu
Spotlight
Spotlight
gaojing 发表于 2016-12-8 14:07 back.gif
自己研究了1个下午,思路基本是这样。
编写tcl语句,然后利用dial端口的拨号up日志,进行简单的地址判断, ...

如果可以,希望能分享经验:handshake

gaojing1
Level 1
Level 1
基本成功。
利用eem时间促发tcl脚本,简单判断实现了自动重新拨号直至获取公网IP。
但是判断还不够好,最好的应该是直接遇到如下运营商可能提供的私有IP地址段就重播。
10.0.0.0--10.255.255.255
172.16.0.0--172.31.255.255
100.64.0.0--100.127.255.255
目前只是简单的利用ip地址的前面是10还是100来简单操作,因为我这边的cmcc只会出这2中私有IP。

gaojing1
Level 1
Level 1
思路代码
set address [exec "show ip interface b gi0/0 | include GigabitEthernet0/0"]
set address [lrange $address 1 1]
set A [string range $address 0 [expr [string first "." $address]-1] ]
switch $A {
"100" {
exec "clear pppoe all"
}
"10" {
exec "clear pppoe all"
}
default {
puts "nothing to do!"
}
}
实际运行的tcl脚本,稍后奉上。
快捷链接