我正在尝试通过 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