架设透明代理实现 HTTP/HTTPS 流量转发的最高效方案是什么?

2017-11-07 20:47:24 +08:00
 billion

我现在有 10 台内网服务器,他们不能直接访问外网。

有一台公网服务器,可以访问外网。这 11 台服务器内网互通。

希望让公网服务器做代理,把 10 台内网服务器的所有 HTTP/HTTPS 请求,apt-get 请求,git 请求,pip 请求等等所有网络请求全部通过公网服务器转发出去。

请问这种需求,最高效的方案是什么?我是用 mitmproxy 来做转发,发现链接一多效率就极其底下,而且容易崩溃。

11153 次点击
所在节点    问与答
45 条回复
liyvhg
2017-11-08 08:38:45 +08:00
我们公司几台这么做的:
公网那台架个 pptp server,内网的拨上去(设置好开机自动拨号就行)。
yingfengi
2017-11-08 08:55:45 +08:00
出口架一台墙做网关啊
billion
2017-11-08 09:00:25 +08:00
@yingfengi 架墙?
0ZXYDDu796nVCFxq
2017-11-08 09:02:40 +08:00
1. 公网机器安装代理软件,比如 squid,然后其它 10 台配置代理,用 export http_proxy https_proxy 即可
2. 公网机器配置成网关,其它 10 台把网关改为公网的内网 IP

建议方案 1
billion
2017-11-08 09:03:46 +08:00
@liyvhg 因为还有一个 upstream 上游代理。如果这样做,岂不是公网需要全局走代理了?能不能设置只有来自内网的请求经过公网服务器再走上游代理,公网自己产生的流量不经过上游代理?
liyvhg
2017-11-08 09:05:40 +08:00
@billion 加 iptables 转发规则就可以了
JasperYanky
2017-11-08 09:08:36 +08:00
tinyproxy 最简单吧
xdz
2017-11-08 09:10:26 +08:00
如果用透明代理转发 https,会有证书问题。
kuaner
2017-11-08 09:22:28 +08:00
不需要代理软件呀,就是内网主机通过路由器上网嘛,vpc 里面都是这么干的
sujin190
2017-11-08 09:28:14 +08:00
直接把内网的默认网关改到那台机器去呗,让后有公网 ip 的机器再开 nat 就行了啊
billion
2017-11-08 10:26:15 +08:00
@xdz 那应该怎么办?
ryd994
2017-11-08 10:31:31 +08:00
不止是 nat 转发,还要配置 ip_forwarding=1
billion
2017-11-08 10:31:45 +08:00
@liyvhg 没有 iptables。。。
billion
2017-11-08 10:40:11 +08:00
@gstqc 目前正是用的方法 1,但是发现 tinyproxy 对 https 支持不好。正在尝试 squid
wwqgtxx
2017-11-08 10:59:53 +08:00
@billion 你就不能装一个 iptables 么……………………
pqee
2017-11-08 11:16:49 +08:00
都让开,我来现身说法:

TCP 代理用 Nginx 最好,同理 HTTP HTTPS SSH 等基于 TCP 的协议全部支持。


不过楼主这种情况,建议还是上 SLB 吧,没几个钱。
akira
2017-11-08 11:28:52 +08:00
@pqee 审题审题, 需求理解有偏差啊
yingfengi
2017-11-08 12:36:59 +08:00
@billion 防火墙啊,路由模式部署在出口,下面服务器直接一个局域网就好了啊
yingfengi
2017-11-08 12:37:57 +08:00
额。。。vps 啊,,,我以为公司的服务器。。。
pq
2017-11-08 12:39:03 +08:00
socks 5 proxy ?

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

https://tanronggui.xyz/t/404424

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

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

© 2021 V2EX