环境介绍: *单位三桶油之一,下班后住宿舍,偏远地没有运营商信号。只能接受单位网络。
单位全国大内网,10.X.X.X,全国统一通过 10.10.10.10:8080 的 HTTP 代理出口上网。每次上网都需要在各类软件设置 http 代理(例如浏览器,qq,微信。)蛋疼的 IOS/ANDROID 全局就很麻烦了。
现在目前解决方法: 首先,单位内网服务器很多,建立了个 ikuai 服务器。 腾讯云(之前用阿里云),上建立了个 openvpn 服务。 ikuai 通过 http 代理拨腾讯云的 openvpn 服务器。 ikuai 开启 VPN 服务器接受各类终端拨号接入(也可以开 PPPOE,做网关,思路一样)
数据包这样走 终端----IKUAI----公司 HTTP 代理服务器----腾讯云 ECSOPENVPN 服务器----公司 HTTP 代理----IKUAI---终端
这样终端就实现全局“透明”代理,包括 iOS 可以上 qq,微信。不需要单独设置 HTTP 代理。如果把终端换成带 VPN 客户端的路由器的话就是真正透明代理了。
我想的是通过建立 ubuntu,能不能使用 ss-redir 之类的技术实现在 ubuntu 里面完成 HTTP 透明代理,再把这台 ubuntu 或者 centos 机子当网关。数据就这样走。 终端----IKUAI----ubuntu 机----公司 HTTP 代理服务器----ubuntu 机-----IKUAI---终端
这样带宽就不受腾讯 ECS 服务器 2M 限制了。 目前查了下有用的信息有 sstap,ss-redir,ssr。但苦于 HTTP 代理服务器不支持 udp 的转发,不知道思路。
大家有更好的方案吗
1
huangunic0rn 2018-03-20 18:21:38 +08:00 1
- 每次上网都需要在各类软件设置 http 代理 - 这个可以考虑用 PAC 解决,当然可能需要自己收集域名。
- ovpn 打开--tcp-nodelay 调节--link-mtu 会有一定效果 别的欢迎大佬补充 |
2
godlong OP @huangunic0rn 大佬,设置 mtu 之后会加大带宽?啥原理?带宽是腾讯限制的啊。。。。能不能解释下?谢谢
|
3
xiaodongus 2018-03-20 18:55:40 +08:00 via iPhone 1
每次上网都需要在各类软件设置 http 代理(例如浏览器,qq,微信。)蛋疼的 IOS/ANDROID 全局就很麻烦了。
不麻烦,很多 app 都支持的,比如 小火箭 https://i.loli.net/2018/03/20/5ab0e7e597867.png |
4
xihefeng 2018-03-20 19:02:01 +08:00 via iPhone 1
本地开 proxifier,配合 wifi 大师之类的开启 wifi,手机不用做任何设置,调整 proxifier 就行。
我记得当时还要装那个烂塞门铁克。。 我又想起那段黑暗的日子,还好已经离职,美滋滋 |
5
godlong OP @xiaodongus ios 暂时用这个。
但是很多游戏玩不了,小火箭,surge 之类也不是真正把 udp 转发。。好多游戏的 udp 包还是过不去,但是用 openvpn 就真正全局了。 谢谢回帖,期待有其他方案了! |
6
godlong OP @xihefeng 这个除了小米 wifi 其他真不行,而且也不是真正意义全局,dns 解析不了,53 端口到达不了 114.114.114.114 。
且共享网络不方便,不如 openvpn 再开个 ikuai 方便。 还是希望用网关,爱快。 |
7
huangya 2018-03-20 19:08:12 +08:00 1
>终端----IKUAI----ubuntu 机----公司 HTTP 代理服务器----ubuntu 机-----IKUAI---终端
你这样走的话,只能对那些支持 HTTP 代理的应用。不能针对任意的 TCP/UDP 应用。比如这个应用的服务器端口是 50000. > 终端----IKUAI----公司 HTTP 代理服务器----腾讯云 ECSOPENVPN 服务器----公司 HTTP 代理----IKUAI---终端 这种就没有上面的问题. 不知道 lz 家中有没有网络并且能搞到公网 IP.这样就不会受限于腾讯云。 |
8
xenme 2018-03-20 19:12:59 +08:00 via iPhone 1
如果单位没有封网站的话,去掉 ecs 就好。
如果有限制,唯一可以做的就是在外面找个跳板,买那种翻墙的在国内有服务器的或者翻回国内的,比较便宜 |
9
godlong OP @huangya 你的意思是家里公网 ip 开 openvpn 替代腾讯?
常开一台服务器吗?还是装一个带 ovpn 服务端的路由? 我现在不倾向于通过外网放一台 ovpn 服务器来解决,想在内网解决,这样稳定性,速度就不会受外网服务器影响了,不知道这样写大佬您能不能看明白,语文表达能力不好。 |
10
godlong OP |
11
pagxir 2018-03-20 19:16:37 +08:00 via Android 1
redsocks 可以实现 tcp 到 https 代理的转发,至于 udp 就只能用其他服务器。反正没啥难度,送分题
|
12
godlong OP @xenme 你说的去掉 ecs 就好是什么意思呢?去掉 ecs 后爱快就没法连接互联网了.爱快没有 http 代理出口的设置。
|
13
godlong OP @pagxir 大神你意思是 tcp 和 udp 分开走吗?
tcp 直接走 http 代理,udp 走外网腾讯服务器中转?思路很好,可是怎么实现呢?搜了一下没有教程呀,能说说吗?这样 udp 带宽少,腾讯 2M 的带宽应该稍微好点。谢谢 |
14
xenme 2018-03-20 19:22:36 +08:00 via iPhone 1
内网都可以 ikuai 了直接上 openwrt 或者 lede,然后透明代理到 10.10.10.10 ,终端网关指向 lede 即可。
|
15
pagxir 2018-03-20 19:23:20 +08:00 via Android
linux 本来就策略路由的,根据协议路由 /地址转换没啥问题。
|
16
huangya 2018-03-20 19:26:45 +08:00 via iPhone
@godlong 带 ovpn 的路由器或者路由器后面接一个功率很小的服务器 比如树莓派。树莓派上运行 ovpn
|
18
29EtwXn6t5wgM3fD 2018-03-20 19:46:31 +08:00 via iPhone
用 sstap 可以把 http 转成全局代理
|
19
29EtwXn6t5wgM3fD 2018-03-20 19:46:53 +08:00 via iPhone
转成 vpn
|
20
godlong OP @shengyu 这个试过了,windows 下用 sstap 把 http 转之后,可以打开 ip 网站,但是打不开域名网站,猜测是 DNS 的 udp 包没转成,因为 sstap 不支持 http 代理转发 udp 数据包。
而且 sstap 转之后,能把这个 windows 机子做成网关吗?您试过吗 |
21
sunulin 2018-03-20 20:55:05 +08:00 via iPhone
老毛子固件路由器了解下🙈
|
22
WordTian 2018-03-20 21:11:39 +08:00 1
目标:实现在终端上不用设置就直接全局代理。
首先是环境: 网关处是 HTTP 代理,就是只能识别 HTTP 的包。 然后是流程: 终端发出 TCP/UDP 数据包 内网得有台机器接收 TCP/UDP 数据包,并封装成 HTTP 包 把 HTTP 包传到网关处 外网得有台服务器把 HTTP 转回 TCP/UDP 外网的服务器再把 TCP/UDP 发出去 然后是实现: 没搞过,不瞎说,坐等大神 |
24
godlong OP @WordTian 你的思路是对的。这个就是我主贴说的 openvpn 法。但是外网那台服务器的带宽决定我内网的上网速度了。现在是我想撇开这个外网服务器。
因为 IOS 的 surge 可以把 HTTP 代理半全局(比如微信语音视频都可以,qq 语音视频也行),感觉是实现了 udp 的协议。 所以我想 linux 上通过 ss-dir/redsocks2 也实现 surge 那样的功能,然后转成网关 /服务器供内网终端上网。折腾了好久的 ss-dir 好像不成功,必须要配置 ss 服务器。我不是为了翻墙,我只是为了翻阅公司的代理服务器.... |
26
WordTian 2018-03-20 22:32:03 +08:00
|
27
godlong OP @WordTian 你说的对,可是我很好奇 surge 怎么实现的?感觉他把 tcp udp 全压进 http 代理里了。
ios 上用 surge 微信语音,视频都没问题。但是用系统自带的 http 代理设置只能发文字微信信息。 求解惑。 或者说,把我现在 ios 当网关我也能接受,我就是想在电脑上实现 ios 加 surge 效果,然后把那台电脑做成网关给 ikuai 软路由使用。 |
28
hw2411 2018-03-20 22:50:43 +08:00 via Android
是海油的吧,哈哈哈,proxifier 和 ss,想干啥都行吧
|
30
WordTian 2018-03-20 22:56:31 +08:00
@godlong 猜测 ios 在系统层面有个类似 iptables 的东西,能转发 IP 数据包。
类 unix 系统应该都行,windows 估计够呛 |
31
godlong OP @WordTian 所以我装了个 ubuntu 的虚拟机...但是不知道接下来怎么整,也安装了 ss-dir/redsocks2,不知道怎么个配置了
|
34
Loyalsoldier 2018-03-21 09:53:18 +08:00
|
35
godlong OP @Loyalsoldier 感觉这个 udp2raw 也是需要公网 server 端解包的啊~~
|
37
pagxir 2018-03-22 17:43:23 +08:00 via Android 1
话说你们公司的内网有 dns 服务器么,这个服务器可以解析外网的域名么。如果可以的话,其实 udp 转发可以以后再弄。
|
38
godlong OP @pagxir 内网的 DNS 服务器就是个笑话,只解析公司域名。我后来做了个 win2003 的 openvpn 到腾讯云,在这个 2003 上开了个 DNS 服务器。再搞了个 win2008 服务器装 sstap,DNS 域名解析由 2003 服务器完成,TCP 走 win2008,udp/ICMP 流量走 2003 服务器。感觉不是很稳定。还得再调,不是很完美。
|
39
defunct9 2018-04-14 14:51:17 +08:00 via iPhone 1
开 ssh,我上去试试。ubuntu 做成网关流量走 10.10.10.10:8080 没问题
|
42
cia84806698 2018-10-24 16:15:30 +08:00
注册一个账号回复一下
win10+sstap 完美解决 win7 不知什么原因无法使用 |