监控同一域名下多台主机的网络情况,并调用 dnspod-api 自动切换 DNS 解析到网络较好的主机
买 SS 服务时都会提供多个不同地区的主机,我们需要找到网络最好的一个主机,而且当该主机网络变差时还希望能自动切换。
我的方案:
1. 配置 SS Server 为我自己的域名 ss.example.com
2. 通过 DNSwitcher 找到当前网络环境下最好的 SS 主机, 并自动将 ss.example.com CNAME 到该主机
当然啦~ 其他类似场景也可以使用该工具
定时对多台主机进行 ping 测试,找到网络最好的主机,并自动切换解析到该主机(目前仅支持自动切换使用 dnspod 管理的域名)
默认 30分钟进行一次网络检查,并参考10条历史数据对网络质量进行评分(简单的权重计算)
1
LazyZhu 2015-01-20 16:41:30 +08:00
其实带宽大小也应该作为权重
如果JP丢包10%以下,带宽100MB; 而HK丢包0%,带宽1MB,你选哪个? |
2
walleL OP @LazyZhu 嗯,现在只是简单的通过 ping 测试来判断
带宽情况可能我们无法准确得知,不过可以通过下载文件进行网络质量的评估。这个等有需要的时候再做吧 。目前我的情况用 ping 检测就可以了 |
3
nicai000 2015-01-20 17:01:54 +08:00 2
求你们了, 正经说话, 别撸啊撸的
|
4
Seikinmeid 2015-01-20 17:11:05 +08:00
@nicai000 摸摸头
|
5
wzxjohn 2015-01-20 18:20:30 +08:00 via iPhone
其实吧。。。在你解析过一次IP以后,解析结果会缓存在本地,所以看不太出你这么做有何意义。。。
|
7
bigtan 2015-01-20 19:35:34 +08:00
本地网络禁止ping如何破
|
10
xiozf 2015-01-20 20:21:23 +08:00
"目前仅支持自动切换使用 dnspod 管理的域名"这个限制好大啊。
改动一下,注册个动态域名,检测到速度最佳的主机后,将IP用动态域名提供商提供的API更新给动态域名是不是更通用一点?如果不愿意将IP暴露给动态域名提供商,楼上说的改HOSTS也不错。 |
11
walleL OP @xiozf 网络测试方式(ping/download)和解析更新机制(dnspod/ddns/hosts) 都可以有多种, 现在我实现的只是 ping + dnspod
|
12
chijiao 2015-01-21 16:22:10 +08:00
个人感觉没啥意义,依靠ping检测快慢,貌似很不准确的说, 这个没什么实际意义
|