解决电信访问国外慢的方法

| | 标签: | 8 Comments

应要求写这篇 blog,虽然标题是“电信”,但也适用联通/移动/各类 ISP。

从今年下半年开始,上海电信等国内 ISP 访问国外网站就很慢,Yculer 也遇到同样的问题,过去只是个别网站需要开代理访问,现在是绝大部分国外网站半天都加载不了网页,严重影响工作。

解决方法说来并不复杂,你需要一台在国内的 VPS、一台在境外的 VPS,通过国内 VPS 中转境外 VPS 上架设的代理,换言之用国内“跳板”绕开你本地网络的出国瓶颈。

具体实现的方法有很多,比如 socat / HAProxy 等等。Yculer 偏向于 tcptunnel,一个用 c 语言写的 TCP 隧道程序(端口转发),性能稳定,占用资源少,支持 buffer、fork和长连接。

1. 安装 tcptunnel:

2. 假设国内 vps 的端口为 1080,境外 vps 的 ip 地址为 106.187.96.1,端口为 1081,运行 tcptunnel:

这样你访问国内 vps 的 1080 端口时,所有的 tcp 流量都会转发到 106.187.96.1 的 1081 端口。

后面的内容应该不需要指点了吧,在 106.187.96.1 的 1081 端口上架设你习惯使用的代理,然后通过国内 vps 的 1080 端口连接它。

上一下对比,无中转加速的情况:

速度实在太慢,Yculer 表示“无力吐糟”,以下是中转后的速度:

基本可以跑满最大带宽 100 Mbps。

特别提醒:

1. Socat、HAProxy 甚至 iptables 都可以实现类似的功能,这里没有“黑科技”,最终决定性能的还是网络质量。

2. 文章中使用的网络资源由 QingcloudKrypt Linode 提供。

3. Yculer 也提供现成的中转,欢迎 Email 我们 yculer@fastmail.com提交工单。

分类:未分类

8 comments

  1. alex 八月 21st, 2015 at 下午 12:56

    请问这个需要什么操作系统,我刚才在阿里云按照以上方法,安装不了。

  2. 歪酷人 八月 21st, 2015 at 下午 1:32

    linux都可以

  3. tttt 十月 12th, 2015 at 下午 1:58

    请问,国内跳板的带宽决定国外的服务速度吧?
    比如国外是G口,国内如果想要达到满速也需要G口?

  4. 夺命奇犽 十一月 13th, 2015 at 下午 5:05

    不太懂“云主机”和“CDN”加速是什么意思,求解释。
    如果是玩游戏或者上油管和维特,该用什么

  5. kevin 一月 5th, 2016 at 上午 10:33

    这个端口可以填写一个范围么?

  6. 歪酷人 一月 7th, 2016 at 上午 10:27

    不可以,你可以运行多个tcptunel,或者用haproxy

  7. 歪酷人 一月 7th, 2016 at 上午 10:27

    云主机和cdn都是服务网站的,网络加速请使用ss代理。

  8. 歪酷人 一月 7th, 2016 at 上午 10:28

    当然咯,国内一般不提供G口,有100mbps就很可以了。

发表评论