carlostyq 发表于 2014-06-20 15:47

LINUX中架设透明代理

在路由器里架设一个tinyproxy,作为透明代理使用。
我的想法是:
      将PC浏览器的request包(默认port 80),发往tinyproxy(port 8888),再由tinyproxy发出。
      我在iptables里,下了规则,是80的包redirect到8888:
      ##      iptables -t nat -I PREROUTING 1 -p tcp ! -d 192.168.1.0/24 --dport 80 -j REDIRECT --to-ports 8888

现在的问题是:
      用了REDIRECT后,虽然port改成8888了,但是也将数据包的destination ip改成了tinyproxy的ip(192.168.1.1),这样包通过tinyproxy后,好像就找不到原先的目的地址了(比如我原先要访问的是百度,现在目的地址却改成了192.168.1.1)

我的环境是:
      PC的IP:            192.168.1.2
      路由器LAN IP:192.168.1.1
      tinyproxy的IP: 192.168.1.1


1.我如果想要搭建透明代理,这样的网络环境是否正确?
2.如果环境正确,我该怎么下规则,让包能80转到8888后,还能出去?
3.我网上查资料,有些说需要做dns劫持,是否需要?

谢谢帮助!!!小弟第一次接触iptables。。。。不要打击我的满腔热情啊~
页: [1]
查看完整版本: LINUX中架设透明代理