单位 HTTP 代理环境,如何实现透明全局代理?(附上我现在用的方法,不完美,求更好方案)

2018-03-20 17:30:52 +08:00
 godlong

环境介绍: *单位三桶油之一,下班后住宿舍,偏远地没有运营商信号。只能接受单位网络。

单位全国大内网,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 客户端的路由器的话就是真正透明代理了。

======================================== 但问题是腾讯云的带宽费用太高,目前就 2M,所以造成网速太慢。

我想的是通过建立 ubuntu,能不能使用 ss-redir 之类的技术实现在 ubuntu 里面完成 HTTP 透明代理,再把这台 ubuntu 或者 centos 机子当网关。数据就这样走。 终端----IKUAI----ubuntu 机----公司 HTTP 代理服务器----ubuntu 机-----IKUAI---终端

这样带宽就不受腾讯 ECS 服务器 2M 限制了。 目前查了下有用的信息有 sstap,ss-redir,ssr。但苦于 HTTP 代理服务器不支持 udp 的转发,不知道思路。

大家有更好的方案吗

5829 次点击
所在节点    互联网
42 条回复
sunulin
2018-03-20 20:55:05 +08:00
老毛子固件路由器了解下🙈
WordTian
2018-03-20 21:11:39 +08:00
目标:实现在终端上不用设置就直接全局代理。

首先是环境:
网关处是 HTTP 代理,就是只能识别 HTTP 的包。

然后是流程:
终端发出 TCP/UDP 数据包
内网得有台机器接收 TCP/UDP 数据包,并封装成 HTTP 包
把 HTTP 包传到网关处
外网得有台服务器把 HTTP 转回 TCP/UDP
外网的服务器再把 TCP/UDP 发出去

然后是实现:
没搞过,不瞎说,坐等大神
yaoliyc
2018-03-20 21:40:18 +08:00
@godlong 好像有 DNS over TCP 之类的
godlong
2018-03-20 22:21:47 +08:00
@WordTian 你的思路是对的。这个就是我主贴说的 openvpn 法。但是外网那台服务器的带宽决定我内网的上网速度了。现在是我想撇开这个外网服务器。

因为 IOS 的 surge 可以把 HTTP 代理半全局(比如微信语音视频都可以,qq 语音视频也行),感觉是实现了 udp 的协议。

所以我想 linux 上通过 ss-dir/redsocks2 也实现 surge 那样的功能,然后转成网关 /服务器供内网终端上网。折腾了好久的 ss-dir 好像不成功,必须要配置 ss 服务器。我不是为了翻墙,我只是为了翻阅公司的代理服务器....
godlong
2018-03-20 22:24:01 +08:00
@xenme 谢谢推荐 LELE,正在下载,准备灌装到 VMWARE 里面测试下效果。谢谢。
WordTian
2018-03-20 22:32:03 +08:00
@godlong 从原理来看,你撇不开外网的那台机器的。
内网有包的封装过程,外边也必须有个机器解封解封,而且外边那台机器必须能被你的网关访问到。

一般来说外边那台机器肯定得有公网 IP 的 :(
不过你可以瞅瞅这个贴里的东西,说不定对你有用 /t/430202
godlong
2018-03-20 22:41:07 +08:00
@WordTian 你说的对,可是我很好奇 surge 怎么实现的?感觉他把 tcp udp 全压进 http 代理里了。
ios 上用 surge 微信语音,视频都没问题。但是用系统自带的 http 代理设置只能发文字微信信息。
求解惑。

或者说,把我现在 ios 当网关我也能接受,我就是想在电脑上实现 ios 加 surge 效果,然后把那台电脑做成网关给 ikuai 软路由使用。
hw2411
2018-03-20 22:50:43 +08:00
是海油的吧,哈哈哈,proxifier 和 ss,想干啥都行吧
godlong
2018-03-20 22:54:09 +08:00
@hw2411 握爪。我试过这个方案,不算科学。。。没法做网关
WordTian
2018-03-20 22:56:31 +08:00
@godlong 猜测 ios 在系统层面有个类似 iptables 的东西,能转发 IP 数据包。
类 unix 系统应该都行,windows 估计够呛
godlong
2018-03-20 23:03:54 +08:00
@WordTian 所以我装了个 ubuntu 的虚拟机...但是不知道接下来怎么整,也安装了 ss-dir/redsocks2,不知道怎么个配置了
WordTian
2018-03-20 23:09:46 +08:00
@godlong 慢慢折腾呗,生命在于折腾。。。
说实话,要不是因为墙,我现在对网络的理解也不会有这么深
godlong
2018-03-20 23:13:30 +08:00
@WordTian 可惜咱俩翻的墙不是一堵墙,哈哈,我是翻公司的墙。
Loyalsoldier
2018-03-21 09:53:18 +08:00
godlong
2018-03-21 16:30:09 +08:00
@Loyalsoldier 感觉这个 udp2raw 也是需要公网 server 端解包的啊~~
pagxir
2018-03-22 17:41:13 +08:00
@godlong 所以一帮没点网络知识的在这里啥推荐,好像狗屁膏药包治百病。
pagxir
2018-03-22 17:43:23 +08:00
话说你们公司的内网有 dns 服务器么,这个服务器可以解析外网的域名么。如果可以的话,其实 udp 转发可以以后再弄。
godlong
2018-03-22 18:14:37 +08:00
@pagxir 内网的 DNS 服务器就是个笑话,只解析公司域名。我后来做了个 win2003 的 openvpn 到腾讯云,在这个 2003 上开了个 DNS 服务器。再搞了个 win2008 服务器装 sstap,DNS 域名解析由 2003 服务器完成,TCP 走 win2008,udp/ICMP 流量走 2003 服务器。感觉不是很稳定。还得再调,不是很完美。
defunct9
2018-04-14 14:51:17 +08:00
开 ssh,我上去试试。ubuntu 做成网关流量走 10.10.10.10:8080 没问题
godlong
2018-06-15 15:55:07 +08:00
@defunct9 大侠有联系方式了?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/439794

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX