【问题标题】:How to direct traffic from router to squid proxy server?如何将流量从路由器引导到鱿鱼代理服务器?
【发布时间】:2015-07-26 23:39:39
【问题描述】:

我有三个盒子:一个 Linux 客户端、一个 OpenWRT 路由器和一个 Squid 服务器。我正在尝试让客户端(连接到路由器)网络流量通过代理服务器而无需任何客户端配置。

在路由器上使用这个 iptables 规则似乎可以让客户端流量转到代理就好了(我可以在 access.log 中看到请求):

iptables -t nat -A PREROUTING -i br-lan -p tcp --dport 80 -j DNAT --to $PROXY_IP:3128

但流量似乎并没有回到客户端。我在客户端的网络浏览器上收到此错误:

无法检索请求的 URL。网址无效

当它返回给客户端时,主机名似乎已经丢失。我错过了 iptables 规则吗?在路由器上还是在代理服务器上?还是我需要设置路线?

我的最终目标是让 dansguardian 在代理服务器上运行。路由器功能不够强大,无法运行过滤器,这就是为什么我有一个单独的服务器。

【问题讨论】:

    标签: proxy iptables squid


    【解决方案1】:

    让它工作!

    我在路由器上需要的唯一 iptables 规则是:

    iptables -t nat -A PREROUTING -i br-lan -p tcp --dport 80 -j DNAT --to $PROXY_IP:8080
    

    我在 squid/dansguardian 服务器上需要的规则是:

    iptables -t nat -A PREROUTING -i tun0 -p tcp --dport 80 -j REDIRECT --to-port 8080
    iptables -t nat -A OUTPUT -p tcp --dport 80 -m owner --uid-owner proxy -j ACCEPT
    iptables -t nat -A OUTPUT -p tcp --dport 3128 -m owner --uid-owner proxy -j ACCEPT
    iptables -t nat -A OUTPUT -p tcp --dport 3128 -j REDIRECT --to-ports 8080
    

    创建这些规则后,我能够在 /var/log/squid3/access.log/var/log/dansguardian/access.log 日志中看到客户端的流量,并且所有客户端的流量都正常返回(网络内容过滤工作正常)。

    【讨论】:

      猜你喜欢
      • 2013-11-30
      • 1970-01-01
      • 2021-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多