hcb 发表于 2007-12-10 12:15:59

原创:求动态IP的ADSL网关的脚本

原理:我用过电信和网通的动态IP的ADSL,自己也用ROS做个PPPOE服务,发现网关都是远端的IP地址,即PPPOE服务器上的地址,当ADSL拨上的时候,会分配到两个IP地址,一个是本机的地址,一个是服务器上的地址

根据这一原理就可以得到网关的IP, 当然如果不是这种模式,则需要用另外的方法

A,知道ADSL名称的情况下求网关
#设置被检测的ADSL接口名称
:set ADSL-NAME "CNC-ADSL"
#-----
:set id
:if($id!="") do={
:set wg
:log info ($ADSL-NAME . "的网关是" . $wg)
}\
else={
:log error ("找不到" . $ADSL-NAME . "的网关,该设备不存在或没启用")
}



B求系统中所有ADSL的网关IP
#---取全部的ADSL接口----
:set ADSL
:if($ADSL!="") do={
:foreach i in=$ADSL do={
    :set ADSL-NAME
    :set id
    :if($id!="") do={
      :set wg
      :log info ($ADSL-NAME . "的网关是" . $wg)
      }
#   小经验:else不能嵌套,外层有了一个else这里就不能有了,要用一个条件相反的if,个人认为是ROS的缺陷
    :if(id="") do={
      :log error ($ADSL-NAME . "没启用")
      }
    }
}\
else={
:log error "没有找到ADSL设备"
}

若有不妥,欢迎指正
页: [1]
查看完整版本: 原创:求动态IP的ADSL网关的脚本