年前为了让家人愉快的用手机看在线电影,拉了一条移动12M的光宽带,因为之前用的是联通4M,所在区域联通又没光纤,一家子到晚上就卡得。。。。
说正题了,因为移动线路下有台电脑需要远程VNC,因此DDNS是必须的,在设置好3322的DDNS后发现更新得到的IP是浙江、广东或广西等地联通或电信的IP,可通过百度“IP”这关键字获取的是实际的IP,期间换用DD-WRT和TOMATO固件的路由均是这问题。后来折腾了一天才发现,3322那更新链接里自动获取的IP是错误的,但通过http://ip.3322.org获取的IP是正确的,这可能是移动网络内部NAT转发或者其他原因导致(我这拨号后获取的是公网IP,非内网哦!),这问题在以前使用电信和联通ADSL宽带时都没碰到过。因为Padavan的3322DDNS都通过脚本来实现,自己尝试着看了原来的一些脚本并做了一些修改后解决了这问题,解决方法如下:
首先在“高级设置-》自定义设置-》脚本-》自定义脚本0功能详细配置:adbyby、ShadowSocks、DDNS、迅雷等功能详细设置”中找到“# DDNS(删除#/tmp/sh_ddns.sh前面的#即可启动命令)”这一段,在这段后加入:
1 2 3 4 5 6 |
# 获得外网地址 getDDNSIP(){ local inter="http://ip.3322.org" wget --quiet --output-document=- $inter } ddnsIP=$(getDDNSIP) |
然后将“/tmp/sh_ddns.sh /tmp/3322ddns.log ……… &”这一整行换成:
1 |
/tmp/sh_ddns.sh /tmp/3322ddns.log "http://用户名:密码@members.3322.org/dyndns/update?hostname=域名&myip=${ddnsIP}" & |
应用本页面设置后点“注销”旁边的“电源开关”图标进行软重启后即可。
由于水平有限,解决的方法或所写代码还有待提高,也请大家能多多指教,谢谢大家了!