取消
显示结果 
搜索替代 
您的意思是: 
cancel
公告

December 2020

4186
查看次数
10
有帮助
6
回复
Highlighted
Beginner

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

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

感谢您的提问!:):)稍后会有小伙伴为您解答的!:):)
Highlighted
Collaborator

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

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

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

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

基本成功。
利用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。
Highlighted
Beginner

思路代码
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脚本,稍后奉上。
不能显示该小部件。