Squid 不转发从路由器上的 iptables 代理的数据包

Squid 不转发从路由器上的 iptables 代理的数据包

我正在尝试从我的路由器中创建openwrt的iptables以直接连接到我的机器上的squid代理(因为路由器的闪存中没有足够的空间),但即使我的squid配置没问题(这意味着我将其设置为我的机器中的代理)系统并且工作正常)当我设置它时我不会得到任何响应

iptables -t nat -I PREROUTING -s 192.168.1.0/255.255.255.0 -p tcp -j DNAT --to-destination 192.168.1.196:3128

我应该在我的配置中更改什么?

我有这样的东西

iptables -t nat -A PREROUTING -i eth0 -s ! squid-box -p tcp --dport 80 -j DNAT --to squid-box:3128
iptables -t nat -A POSTROUTING -o eth0 -s local-network -d squid-box -j SNAT --to iptables-box

但我真的不明白应该如何使用我的配置执行此操作。

br-lan    Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX 
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0

eth1      Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX
          inet addr:188.XXX.XX.XX  Bcast:188.246.39.255  Mask:255.255.252.0

答案1

我还有一个 openwrt 路由器,配置为将任何前往端口 80 的内容转发到端口 3128,然后对其进行 SNAT 以包含每个客户端请求的路由器 IP。问题是,在 3.2 版本中,一切都可以使用默认配置(仅添加透明),但 3.3.8 版本则不满意。如果我将其切换为透明并在openwrt中使用上述规则,它会拒绝一切。如果我将其切换为手动(单独配置每个客户端),它就会按预期工作。

相关内容