月下博客

Linux中使用 路由追踪 测试VPS回程路由(回程路由比去程更影响SS速度)

本文最后更新于 2018年10月29日 14:22 可能会因为没有更新而失效。如已失效或需要修正,请留言!

很多人都知道通过网站(ipip.net)或者软件可以路由追踪来测试 IP的路由情况和质量,但是这只是去程路由,大部分人都把注意力放在了去程路由上面,很少人关注和测试 VPS 链接国内的 回程路由。

不管你的VPS是做Shadowsocks还是建站,你关注的应该是 回程>去程,因为不管是建站还是Shadowsocks,大部分情况下都是VPS把数据传回给你,速度受回程路由质量等影响,除非你经常用Shadowsocks上传文件或者向网站里上传文件,否则你应该更关注回程而不是去程。

浏览器访问 谷歌网站
Shadowsocks客户端 通知 Shadowsocks服务端
Shadowsocks服务端 获取 谷歌网站数据
Shadowsocks服务端(VPS)通过上行把 谷歌网站数据 传回给 Shadowsocks客户端
浏览器显示 收到的 谷歌网站数据
# 除非你是上传文件,否则大部分情况下,都是VPS把文件传回给你,经过的是回程路由。

就算你的去程CN2多么多么叼,回车绕道丢包都GG,当然不代表去程无所谓,而是关注点应该放在回程上。

当然如果你是Shadowsocks玩游戏,那么去程回程都要考虑。

测试VPS的去程可以使用在线网页或者本地软件:在线网页(ipip.net)推荐一个可以在地图上显示TraceRoute(路由追踪)路径信息的软件

前提条件:

首先你要测试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次就为因为可能会丢包等情况,三次可以比较准确。

使用效果:

[email protected]:~/# 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次就为因为可能会丢包等情况,三次可以比较准确。

使用示例:

[email protected]:~/# 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次就为因为可能会丢包等情况,三次可以比较准确。

使用示例:

[email protected]:~/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

转载请超链接注明:月下博客 » Linux中使用 路由追踪 测试VPS回程路由(回程路由比去程更影响SS速度)
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!