1.网络结构图
这个案例有两个路由器,其中接入互联网的路由器,支持自动翻墙。这样的效果是,只要接入该路由器的设备都可以自动翻墙。
2.更新ip错误的问题
qnap nas在更新动态域名的ip的时候,显示的是翻墙服务器的ip。
3.原因分析
在/etc/init.d/目录下有一个脚本叫get_external_ip.sh,用来获取本地网络的外网ip地址。
获取外网ip地址的原理其实很简单,就是去访问一个网页,该网页显示一下客户端的ip地址。
由于该脚本默认是访问http://checkip.dyndns.org这个站点,同时由于这个站点在国外,所以很自然地通过翻墙服务去访问该站点,这就导致了显示翻墙服务器的ip地址。
4.解决方案-自己做一个显示ip地址的网站
自己做了一个显示ip地址的网页:http://ip.nihao001.com
同时修改get_external_ip.sh脚本,把默认的访问网址改为ip.nihao001.com,如下图:
大佬,可以教我如何修改这个脚本吗?我基础比较差……尝试把原始的检查网址添加到白名单也没有作用……
已经修改成功了。
你好,更想学习一下http://ip.nihao001.com本身是怎么实现的
大概想到了一个思路,不过如果有参考就更好了,嘿嘿
Done.
但暂时还是本地服务,如果是把服务架到Internet上去,猜测要用nginx的forward IP之类的?
朋友,我写了一篇简单的文章,你可以看一下。
http://www.nihao001.com/archives/2105.html
您好,我的系统版本是4.3.6.0985 进去之后get_external_ip.sh里面的文件是这样的:
#!/bin/bash
# Script for getting an external WAN IP
# get external IP from qcloud API
WAN_IP=`/usr/local/bin/qcloud_cli -x 13 -e`
[ -z “$WAN_IP” ] && exit 1
echo $WAN_IP
exit 0
请教一下如何修改。
我也碰到这种情况,不知道怎么解析