共计 5067 个字符,预计需要花费 13 分钟才能阅读完成。
很多人都知道通过 网站 (ipip.net) 或者软件可以路由追踪来测试 IP 的路由情况和质量,但是这只是去程路由,大部分人都把注意力放在了去程路由上面,很少人关注和测试 VPS 链接国内的 回程路由。
不管你的 VPS 是做 Shadowsocks 还是建站,你关注的应该是 回程 > 去程,因为不管是建站还是 Shadowsocks,大部分情况下都是 VPS 把数据传回给你,速度受回程路由质量等影响,除非你经常用 Shadowsocks 上传文件或者向网站里上传文件,否则你应该更关注回程而不是去程。
浏览器访问 谷歌网站
Shadowsocks 客户端 通知 Shadowsocks 服务端
Shadowsocks 服务端 获取 谷歌网站数据
Shadowsocks 服务端(VPS)通过上行把 谷歌网站数据 传回给 Shadowsocks 客户端
浏览器显示 收到的 谷歌网站数据
# 除非你是上传文件,否则大部分情况下,都是 VPS 把文件传回给你,经过的是回程路由。
就算你的去程 CN2 多么多么叼,回车绕道丢包都 GG,当然不代表去程无所谓,而是关注点应该放在回程上。
当然如果你是 Shadowsocks 玩游戏,那么去程回程都要考虑。
测试 VPS 的去程可以使用在线网页或者本地软件:在线网页(ipip.net)。
前提条件:
首先你要测试 VPS 链接你本地的回程路由的话,你需要有外网 IP,不过现在大部分运营商都是内网 NAT 转的伪外网 IP,无法 Ping 和路由追踪。
当然不是外网 IP 也不要急,你可以去 这里,选择一个和你接近的地区,然后路由追踪任意一个 IP,比如 8.8.8.8
,然后你就会在 第一个或第二个 IP 中看到这个 路由追踪节点的服务器 IP 了,你试一下能不能 Ping 通,如果可以那就可以拿来测试回程路由。
TraceRoute
Linux 有一个基础的路由追踪软件:traceroute,下面的另外两个软件依赖这个软件。
可以通过包管理器安装:
# CentOS 系统:yum update && yum install traceroute -y
# Debian/Ubuntu 系统:apt-get update && apt-get install traceroute -y
然后就可以通过 traceroute x.x.x.x
来路由追踪了。
默认是测试 3 次的,所以有时候会显示很乱,你可以加上 -q 1
,比如 traceroute -q 1 x.x.x.x
。
这个参数指的是只测试一次,当然之所以测试 3 次就为因为可能会丢包等情况,三次可以比较准确。
使用效果:
root@doub.io:~/# traceroute -q 1 14.215.116.1
traceroute to 14.215.116.1 (14.215.116.1), 30 hops max, 60 byte packets
1 *
2 192.254.84.149 (192.254.84.149) 1.830 ms
3 te-0-1-0-2.cr1.lax2.us.zenlayer.net (192.254.81.141) 3.740 ms
4 218.30.48.173 (218.30.48.173) 1.374 ms
5 59.43.182.102 (59.43.182.102) 160.245 ms
6 59.43.182.102 (59.43.182.102) 158.658 ms
7 202.97.91.217 (202.97.91.217) 158.070 ms
8 202.97.91.217 (202.97.91.217) 157.866 ms
9 183.61.221.61 (183.61.221.61) 157.841 ms
10 183.56.128.14 (183.56.128.14) 158.043 ms
11 183.56.128.14 (183.56.128.14) 158.236 ms
12 14.215.116.1 (14.215.116.1) 155.918 ms
当然,这个只会显示简单的路由追踪信息。
如果你想要在每个路由信息后面加上对应的地址信息,那么你就需要使用其他的路由追踪软件:
nali-ipip、BestTrace(ipip.net 开发),这两个使用的都是 ipip.net 的 IP 地址库。
Nali-ipip
这个是基于 nali 原版项目上改进的,把纯真 IP 库改为了 IPIP 的 IP 库,目前国内最准的民用 IP 库可能就是 ipip.net 了。
这个软件需要调用上面说的基础路由追踪软件:traceroute,所以你需要安装这个。Github 项目地址
# CentOS 系统:yum update && yum install -y traceroute git gcc make
# Debian/Ubuntu 系统:apt-get update && apt-get install -y traceroute git gcc build-essential make
下载文件并编译安装:
git clone https://github.com/dzxx36gyy/nali-ipip.git
cd nali-ipip
# 进入目录并 执行编译程序,放心很快 几秒就好了。./configure && make && make install
然后就可以通过 nali-traceroute x.x.x.x
来路由追踪了。
默认是测试 3 次的,所以有时候会显示很乱,你可以加上 -q 1
,比如 nali-traceroute -q 1 x.x.x.x
。
这个参数指的是只测试一次,当然之所以测试 3 次就为因为可能会丢包等情况,三次可以比较准确。
使用示例:
root@doub.io:~/# nali-traceroute -q 1 14.215.116.1
traceroute to 14.215.116.1 [中国 广东 广州] (14.215.116.1 [中国 广东 广州]), 30 hops max, 60 byte packets
1 *
2 te-2-0-4.cr2.lax2.us.zenlayer.net (192.254.84.141 [美国 美国]) 1.370 ms
3 te-0-1-0-0.cr1.lax2.us.zenlayer.net (192.254.81.137 [美国 美国]) 1.365 ms
4 te-0-3-0-0.cr1.lax2.us.zenlayer.net (192.254.81.5 [美国 美国]) 2.790 ms
5 59.43.182.102 [中国 广东 广州] (59.43.182.102 [中国 广东 广州]) 152.550 ms
6 *
7 202.97.34.93 [中国 广东 广州] (202.97.34.93 [中国 广东 广州]) 152.785 ms
8 202.97.33.201 [中国 广东 广州] (202.97.33.201 [中国 广东 广州]) 151.772 ms
9 183.59.12.197 [中国 广东 广州] (183.59.12.197 [中国 广东 广州]) 162.344 ms
10 183.59.12.197 [中国 广东 广州] (183.59.12.197 [中国 广东 广州]) 153.908 ms
11 183.56.128.14 [中国 广东 广州] (183.56.128.14 [中国 广东 广州]) 157.017 ms
12 14.215.116.1 [中国 广东 广州] (14.215.116.1 [中国 广东 广州]) 158.869 ms
BestTrace
BestTrace 是由 ipip.net 官方(不确定)开发的,同样也需要安装基础路由追踪软件:traceroute,这个软件不需要编译安装,是用 Go 语言编译好的程序。软件官网
# CentOS 系统:yum update && yum install traceroute -y
# Debian/Ubuntu 系统:apt-get update && apt-get install traceroute -y
mkdir besttrace && cd besttrace
wget -N --no-check-certificate https://yun.doubibackup.com/Software/BestTrace/BestTrace-Linux.tar.gz
# 下载文件,解压 并进入目录 赋予执行权限
tar -xzf BestTrace-Linux.tar.gz && chmod +x *
然后就可以通过 ./besttrace x.x.x.x
来路由追踪了。
默认是测试 3 次的,所以有时候会显示很乱,你可以加上 -q 1
,比如 ./besttrace -q 1 x.x.x.x
。
这个参数指的是只测试一次,当然之所以测试 3 次就为因为可能会丢包等情况,三次可以比较准确。
使用示例:
root@doub.io:~/bash/besttrace# ./besttrace -q 1 14.215.116.1
traceroute to 14.215.116.1 (14.215.116.1), 30 hops max, 60 byte packets
1 *
2 192.254.84.153 0.72 ms AS21859 美国 加利福尼亚州 洛杉矶 zenlayer.com
3 te-0-0-0-2.cr1.lax3.us.zenlayer.net (192.254.81.69) 3.17 ms AS21859 美国 加利福尼亚州 洛杉矶 zenlayer.com
4 te-0-3-0-0.cr1.lax2.us.zenlayer.net (192.254.81.5) 3.25 ms AS21859 美国 加利福尼亚州 洛杉矶 zenlayer.com
5 218.30.48.173 1.29 ms AS4134 美国 加利福尼亚州 洛杉矶 CHINATELECOM
6 59.43.182.102 152.68 ms * 中国 广东 广州 电信
7 59.43.244.138 182.57 ms * 中国 广东 广州 电信
8 202.97.91.209 148.06 ms * 中国 广东 广州 电信
9 202.97.33.229 150.07 ms AS4134 中国 广东 广州 电信
10 183.59.13.161 157.65 ms AS58543 中国 广东 广州 电信
11 183.56.128.10 155.98 ms AS58543 中国 广东 广州 电信
12 14.215.116.1 150.62 ms AS58543 中国 广东 广州 电信
相似的路由追踪软件还很多,我也不一一列举了,各软件都有优缺点,自己看着用。
BestTrace 路由追踪,必须进入文件目录 或 加上文件目录(比如 bash /root/besttrace/besttrace x.x.x.x
)才能使用。
MTR
如果你需要监控 VPS 回程路由 一段时间的实时情况(比如各节点延迟、丢包),那么你可能需要的是 MTR。
# CentOS 系统:yum update && yum install mtr -y
# Debian/Ubuntu 系统:apt-get update && apt-get install mtr -y
然后就可以通过 mtr x.x.x.x
来路由追踪了。
不过上面这个命令 是动态显示的,一直持续下去,除非手动终止。
如果你需要只发送 100 个数据包(测试 100 次),那么你可以这样写: mtr -c 100 --report x.x.x.x
这个命令不会动态显示,只会在发送 100 个数据包后,直接显示最终结果。
使用示例:
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. ???
2. 192.254.84.153 0.0% 61 1.1 8.8 0.6 164.0 26.1
3. te-0-0-0-2.cr1.lax3.us.zenlayer.net 0.0% 60 4.7 5.9 0.8 97.9 13.4
4. te-0-3-0-0.cr1.lax2.us.zenlayer.net 0.0% 60 1.1 6.4 0.9 125.9 16.4
5. 218.30.48.173 0.0% 60 1.3 4.0 1.0 88.8 12.2
6. 59.43.182.102 0.0% 60 152.7 158.2 152.6 256.0 17.3
7. 59.43.244.138 76.3% 60 144.8 145.7 144.8 155.1 2.7
8. 202.97.91.209 0.0% 60 146.7 147.9 145.3 169.2 3.3
9. 202.97.33.229 0.0% 60 149.3 148.8 145.7 158.4 2.3
10. 183.59.13.161 0.0% 60 157.3 156.7 153.3 186.8 4.6
11. 183.56.128.10 0.0% 60 155.2 158.7 154.3 253.8 14.0
12. 14.215.116.1 1.7% 60 151.0 153.8 147.0 321.0 22.6
转自 https://doubibackup.com/2s2oynd4-2.html