注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

阁楼星空

透過天窗——仰望星空——遙望未來

 
 
 

日志

 
 

Ros动态IP自动刷新tunnelbroker.net 绑定IP的脚本  

2015-05-08 17:07:49|  分类: Routeros |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
好久没有用IPv6,最近因为火墙的问题,重新使用IPv6,由于国内ISP在这方面缓慢的进度,依然只能使用6to4通道方式,tunnelbroker.net的服务相当不错,可以分配一个64或者48前缀的ipv6地址块,速度也很好,唯一的问题是需要在服务商tunnelbroker.net那里绑定v4的ip地址,如果是固定ip用户倒是好说,但是类似PPPoe拨号这样的动态ip用户如果每次拨号都去改实在太麻烦了,所以想是否可以利用脚本自动进行刷新,网上的很多脚本经测试均有问题,无法实现,最后参照tunnelbroker.net网站给出的地址格式修改另一位大神的脚本后完美实现。
本脚本需要注意的问题:
  1. 脚本中出现的密码可以和登陆密码不一致,在tunnelbroker.net的通道设置中有个Advanced高级选项,其中的Update Key就是脚本更新时用到的密码,当然如果不设置也可以用登陆密码。
  2. 由于Ros不支持https模式,所以这里使用了http模式,如果以后版本的ros支持https模式的话建议更改。
  3. 这里只是刷新ip的脚本,需要设定6to4通道的脚本请直接去tunnelbroker.net,可以直接生成。


脚本如下:

#Auto update IP4to6 client ip address

#Script By Vincent Qiu 20121213, edit by bayiantianshi 20150508


#http[s]://[TB_USER:TB_PASS@]tunnelbroker.net/nic/update?[username=TB_USER&password=TB_PASS&]hostname=<TUNNEL_ID|tunnelTUNNEL_ID.tunnelbroker.net|TB_USER-TUNNEL_LABEL.tserv#.LOC#.ipv6.he.net>[&myip=IPV4]

:delay 3
:local heuser "username"
:local hepass "password"
:local hetunnelid "
Tunnel ID"
:local debug true
:local outputfile ("HE-" . $hetunnelid . ".txt")
:local localPPPOEAddress [/ip address get [/ip address find interface=pppoe-out1] address]

:set localPPPOEAddress [:pick $localPPPOEAddress 0 [:find $localPPPOEAddress "/"]]

:if (debug) do={:log warning ("PPPOE Address:".$localPPPOEAddress)}
:local localInterfaceSitLocalIP [/interface 6to4 get [/interface 6to4 find name=sit1] lo]

:if (debug) do={:log warning ("Sit local Address:".$localInterfaceSitLocalIP)}

:if ($localPPPOEAddress != $localInterfaceSitLocalIP) do={:log warning ("IP address changed, updated from ".$localInterfaceSitLocalIP." to ".$localPPPOEAddress)

/interface 6to4 set sit1 local-address=$localPPPOEAddress

:delay 3

/tool fetch mode=http url=("http://$heuser:$hepass@tunnelbroker.net/nic/update?username=$heuser&password=$hepass&hostname=$hetunnelid&myip=$localPPPOEAddress") dst-path=$outputfile
:delay 2
:log info ([/file get ($outputfile) contents])
/file remove ($outputfile)}

  评论这张
 
阅读(187)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018