双栈 ipv4 / ipv6 中的 Squid 仅在 ipv4 接口上提供服务

双栈 ipv4 / ipv6 中的 Squid 仅在 ipv4 接口上提供服务

我正在运行双栈网络,并在其中运行服务器(Squid、Apache、DHCP、Mail 等)。网络运行正常。但是,并非在该服务器上运行的所有服务都提供 ipv6 上的侦听器。突出的例子:miniDLNA。

现在,由于我已运行 Squid,因此所有内部连接也都通过 squid 提供服务。这样就无法调用 miniDLNA 网页。我无法将 Squid 配置为回退到 ipv4 以访问 ipv6 接口上未提供的服务。这可能是不可能的。我现在使用“proxy.pac”来解决这个问题,方法是检查特定端口并在这种情况下返回“DIRECT”,如下所示:

  if (
    dnsDomainIs(host, ".MYINTERNALDOMAIN.int") &&
    (shExpMatch(url, "*:8200/*") || // service 1
     shExpMatch(url, "*:4080/*"))   // service 2
   )
{
    return "DIRECT";
}

但我在问自己,是否有一种 acl magic 可以用来管理 squid 在内部执行此操作?还有一个好问题是检查 proxy.pac 是否可以优化。例如,我尝试使用 dnsResolve 来确保内部网络的安全 - 这是一种非常缓慢的方法。

谢谢大家对此的想法。在这种情况下,Google 帮不上什么忙。

相关内容