在维护网络时,运行透明代理通常是一件有用的事情。透明代理我指的是一个“劫持”传出连接并通过本地服务运行它们的代理。具体来说,我运行一个配置了squid的linux防火墙,以便端口80上的所有tcp / ip连接都由squid代理。
这是使用iptables'nat'表,使用IPv4。
但IPv6的iptables没有'nat'表,所以我不能使用相同的实现。我可以使用什么技术透明地代理IPv6连接的流量?
答案 0 :(得分:8)
可行的方法是使用iptables中的TPROXY规则,文档可在此处获取:
这应该支持Squid(> =版本3.2)。使用--enable-linux-netfilter
和iptables -t mangle -j TPROXY
规则。
答案 1 :(得分:2)
iptables有一个QUEUE目标,您可以使用该目标将数据包传递到用户空间。我不确定,但也许可以在那里实施。
过去,您可以尝试向内核添加内容以进行重定向。
答案 2 :(得分:2)
你做不到。引自squid-cache.org:
IPv6在IPv6中根本不存在。通过 设计。
鉴于透明度/拦截 实际上是一个获得的功能 秘密扭曲内部的NAT路线 出去和回到自己身上。真是太棒了 逻辑上没有NAT的协议 不能做透明度和 拦截那种方式。
答案 3 :(得分:2)
答案 4 :(得分:0)
另一种丑陋的黑客攻击:
答案 5 :(得分:-2)
在IPv6堆栈中编写自己的NAT实现。