在 pfSense 中将 HTTP 透明地代理到 Ubuntu 机器上由 SSH 提供的 SOCKS 服务器

在 pfSense 中将 HTTP 透明地代理到 Ubuntu 机器上由 SSH 提供的 SOCKS 服务器

我正在尝试通过 SSH 在由 pfSense 路由器提供服务的 LAN 中透明地代理 HTTP 请求。

到目前为止,我尝试在该网络之外设置一个 Ubuntu 盒子,并将所有向外的 HTTP 转发到外部 Ubuntu 盒子上的 redsocks,后者转发到 RedSOCKS,然后指向由 SSH 连接提供的 SOCKS 服务器,该服务器也位于网络之外。这不起作用,我不知道为什么。直接在内部机器上连接到 socks 服务器是可行的,但我需要透明转发流量。

我认为它的设置方式大致如下。

Client -> Router(pfSense)  -> RedSOCKS -> SSH SOCKS -> Outside Internet 

非常感谢您的帮助。

至于我所做的搜索:我有点在做这家伙想做的事情。我不想采用他在每台客户端计算机上安装邻近功能的解决方案,因为这对我来说会是一个非常大的麻烦/兼容性问题。 http://forum.pfsense.org/index.php/topic,20294.0.html

答案1

我认为我已经搞定了。我向 pfSense 添加了另一个接口,向 Ubuntu 盒子添加了另一个接口,Ubuntu 盒子作为 pfSense 中该接口上的网关。我设置了规则,让从某个主机通过端口 80 发出的任何内容都使用网关,即该点对点 LAN 上的 Ubuntu 盒子。在 Ubuntu 盒子上,我让那里的预路由表指向 Ubuntu 盒子上的 redsocks 实例。从那里开始,就是执行 SSH SOCKS 的事情了。谢谢你的帮助。

对于 pfSense,我研究了基于策略的路由。

对于我来说,这是关于 iptables 最有帮助的事情: https://askubuntu.com/questions/4010/iptables-issue-with-squid-as-transparent-proxy

相关内容