在debian上通过squid代理远程访问内网地址

在debian上通过squid代理远程访问内网地址

我的目标是允许互联网上的客户端连接到 squid 代理服务器,提供用户名和密码,然后使用 192.168.11.152 等 IP 地址访问该服务器所属的内部网络上的多个 http 服务器。目前,对这些服务器的访问是通过一堆 NAT 端口转发来处理的,这些端口转发从某个 IP 的内部端口 80 到非标准的外部端口。这要求人们记住 IP 为 192.168.11.152 的设备是通过 http://example.com:8936 访问的,这并不理想。此外,许多设备不支持用户名和密码,所以我依靠通过隐蔽性来实现安全性。我不想使用 VPN,因为我想允许从外部进入网络的唯一流量是 HTTP 和 HTTPS 流量。我无法修改任何设备上的 HTTP 服务器,因为它们都是嵌入式系统(电源开关、安全摄像头、信号设备等)。我搜索了有关在 Debian 上设置 Squid 代理服务器的指南,但它们都是关于设置匿名代理的,不支持用户名和密码,并允许代理连接到外部资源。一旦连接到代理,它应该转发的唯一流量是到 192.168.11.xxx 地址的流量。所以,我的问题是:

  1. 这有可能吗?根据我的 Google 搜索,没有人这样做,也许是因为这根本做不到?
  2. 这是个好主意吗?如果不是,有没有更好的更安全且仍然满足我的要求的?
  3. 我从哪里开始?所有的在线指南都只是提供剪切和粘贴配置文件,没有解释任何内容,所以我无法真正根据自己的目的进行修改。手册页非常晦涩难懂,我需要在找到相关信息之前就知道自己想要什么。有没有我错过的好书/教程集?

我意识到,要完整回答这个问题,除了我之外,任何人都不可能花这么多时间。我接受一个简要讨论上述 3 点并附有详细参考资料的答案。

答案1

如果您的用户可以通过 SSH 访问网络,那么有一个很好的替代方案。

使用例如

ssh -D9090

他们在各自的本地机器上打开一个 SOCKS 代理端口。然后他们就可以通过这个 SOCKS 代理访问 SSH 服务器本地网络上的任何目标。

使用 Firefox 扩展程序可以特别方便地实现这一点,例如狡猾的代理,您可以在其中定义白名单(例如http://192.168.11.*/加上 https),以便通过代理访问相应的 IP(且只有这些 IP)。

相关内容