科学上网两步走:遇到PPTP接龙的问题请教

500 views
Skip to first unread message

机械唯物主义 : linjunhalida

unread,
Jul 31, 2015, 12:53:35 AM7/31/15
to shlug
Hi 邮件群组大家好,

最近国内网络越来越烂了,科学上网越来越难,整理了一下状况:

- 因为各大运营商增加带宽,普通用户的国际出口带宽越来越少越来越不稳定

所以我觉得一个稳定的解决方案是这样的:

经过国内一台VPS提供稳定的国际出口带宽,安装pptp或者openvpn。
经过一台国外VPS提供翻墙,可以安装pptp,l2tp等各大外企常用VPN。

我申请了阿里的VPS,以及一台国外VPS,国外VPS工作正常,但是直连很不稳定,
阿里的VPS安装了pptp服务器和客户端,客户端连到国外VPS,创建interface PPP0,
我自己的机器连接到阿里的VPS上面,VPS上面生成了一个PPP1,

我可以在阿里VPS上面用以下语句,让自己机器通过阿里VPS访问网络,但是还是国内网络(eth1是阿里机器的公网出口)

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE && iptables-save

但是我不能通过以下语句,让自己机器通过阿里VPS再通过国外VPS访问国外网络:

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE && iptables-save

请问大家,应该执行什么方法?谢谢~

--

Coder, Gamer, Reader.

Zhang Cheng

unread,
Jul 31, 2015, 1:32:22 AM7/31/15
to sh...@googlegroups.com

2015-07-31 12:53 GMT+08:00 机械唯物主义 : linjunhalida <linjun...@gmail.com>:
我可以在阿里VPS上面用以下语句,让自己机器通过阿里VPS访问网络,但是还是国内网络(eth1是阿里机器的公网出口)

    iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE && iptables-save

但是我不能通过以下语句,让自己机器通过阿里VPS再通过国外VPS访问国外网络:

    iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE && iptables-save

请问大家,应该执行什么方法?谢谢~

​这两句话只是说,在**转发**数据从这两个口出去时要做NAT,但是并不能决定一个数据会被从哪个口转发出去。你还需要设置路由​,来决定让数据如何走。

如果你没有对路由做过任何配置,猜测你现在的路由配置大致长这样(ip route 命令的输出):

default via x.x.x.x dev eth1   # 默认路由
x.x.x.x/x dev eth1 ...         # 每个网卡所在的局域网路由
x.x.x.x/x dev ppp0 ...         # 同上

​如果要实现到国内走eth1出去,到国外走ppp0出去,路由表大致长这样:

default via x.x.x.x dev ppp0
$china-ip-net1/x via xxx dev eth1
$china-ip-net2/x via xxx dev eth1
...
$china-ip-netX/x via xxx dev eth1​
​# 局域网路由​

​这里,china-ip-networks 可以从 chnroutes 这个项目获取,也可以从 apnic 上下载ip分配表自行解析。

当然,为了更好的、更方便的管理,建议配合使用策略路由(ip rule),建立多个路由表,根据策略路由来选择每个数据流走哪个路由表。不嫌弃的话可以看一下这篇文章:https://onebitbug.me/2014/06/03/building-a-gateway-route/ (我发现里面有许多小的错误,懒得去更新了)​。




--
Cheng,
Best Regards

机械唯物主义 : linjunhalida

unread,
Jul 31, 2015, 3:21:30 AM7/31/15
to shlug
我又想到一个简单的方法,就是国内vps开通一个代理,然后出国流量都走ppp0。
不过这样就不能全局翻墙了,一些命令行工具需要翻墙就比较麻烦。
> --
> -- You received this message because you are subscribed to the Google Groups
> Shanghai Linux User Group group. To post to this group, send email to
> sh...@googlegroups.com. To unsubscribe from this group, send email to
> shlug+un...@googlegroups.com. For more options, visit this group at
> https://groups.google.com/d/forum/shlug?hl=zh-CN
> ---
> 您收到此邮件是因为您订阅了Google网上论坛上的“Shanghai Linux User Group”群组。
> 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到shlug+un...@googlegroups.com
> 要查看更多选项,请访问https://groups.google.com/d/optout



--

Coder, Gamer, Reader.

Shell Xu

unread,
Jul 31, 2015, 5:58:58 AM7/31/15
to shlug
这个模式早就有人搞了。主要问题是两个。
1. 你的vps是否有稳定的国际出口。主要是内外的链路稳定程度。这个还好办。
2. 由于在境内有vps,因此要抓的时候是抓人的,而不是block ip。一抓一个准。所以只能自用,不能商业化。

至于你的问题,本质上是个路由问题,和我09年在openwrt上搞的问题一样。主流三种解法。
1. 两个iface放到一个网桥里。不过很抱歉,pptp是p2p隧道,所以没有二层数据给你过网桥。
2. 手工配置路由。让左侧网络将右侧的网络号发送到网关上,右侧网络将左侧的网络号发送到网关上。当然,如果更复杂的话,多半要上路由协议。
3. nat两遍不就完了,还费嘛事呢。

2015-07-31 12:53 GMT+08:00 机械唯物主义 : linjunhalida <linjun...@gmail.com>:

--

Coder, Gamer, Reader.

--
-- You received this message because you are subscribed to the Google Groups Shanghai Linux User Group group. To post to this group, send email to sh...@googlegroups.com. To unsubscribe from this group, send email to shlug+un...@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/shlug?hl=zh-CN
---
您收到此邮件是因为您订阅了 Google 网上论坛的“Shanghai Linux User Group”群组。

要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到shlug+un...@googlegroups.com
要查看更多选项,请访问 https://groups.google.com/d/optout



--
彼節者有間,而刀刃者無厚;以無厚入有間,恢恢乎其於游刃必有餘地矣。
blog: http://shell909090.org/blog/

Qf Yang

unread,
Jul 31, 2015, 8:11:54 AM7/31/15
to shlug

今天下午折腾ss中继,linode东京,通过国内联通BGP机房服务器做中转,测试速度很好。

GitHub上ss项目wiki有中继方案,iptables nat实现的。
小心踩坑:CentOS 下iptables的 forward有条默认规则,拒绝转发。

背景:近几个月上海电信国际线路丢包严重,包括cnn,apple,ms等巨头网站。但联通线路质量还比较稳定。


Shell Xu <shell...@gmail.com>于2015年7月31日周五 下午5:58写道:
您收到此邮件是因为您订阅了Google网上论坛上的“Shanghai Linux User Group”群组。

机械唯物主义 : linjunhalida

unread,
Aug 1, 2015, 3:49:02 AM8/1/15
to shlug
2015-07-31 17:58 GMT+08:00 Shell Xu <shell...@gmail.com>:
> 3. nat两遍不就完了,还费嘛事呢。


恩,现在的解决方案更新了,用微林的云涟,openvpn连上,但是不设置导所有流量。
然后设置路由,国外vps走openvpn创建的网关,
然后开启一个ssh代理。



--

Coder, Gamer, Reader.

机械唯物主义 : linjunhalida

unread,
Aug 1, 2015, 3:52:39 AM8/1/15
to shlug
2015-07-31 20:11 GMT+08:00 Qf Yang <fen...@gmail.com>:
> 今天下午折腾ss中继,linode东京,通过国内联通BGP机房服务器做中转,测试速度很好。


是这种方法?

https://github.com/shadowsocks/shadowsocks/wiki/Setup-a-Shadowsocks-relay

国内联通BGP机房服务器是什么价格呀?

--

Coder, Gamer, Reader.

Qf Yang

unread,
Aug 1, 2015, 5:00:53 AM8/1/15
to shlug

是这链接。

联通机房托管的实体服务器,不是VPS。


机械唯物主义 : linjunhalida <linjun...@gmail.com>于2015年8月1日周六 下午3:52写道:
Reply all
Reply to author
Forward
0 new messages