问一个关于iptables+squid的透明代理问题。
Debian-sid,用iptables+squid做的透明代理,工作得很好,但是现在有一个问题:
当我在客户端访问某些网站如 www.cdcin.com 的时候,它用javascript跳转到
8080端口,代码如下:
<script language="JavaScript">
<!--
location.replace("http://www.cdcin.com:8080");
//-->
</script>
浏览器的地址栏显示为 http://www.cdcin.com:8080/ 但是下载的还是上面的内容。
如果为浏览器手动设置代理,则可以正确的浏览。
浏览器我试过了 IE 和 mozilla-firefox ,都是一样的结果。
我的iptables的设置如下:
># iptables-save -t nat|more
# Generated by iptables-save v1.2.9 on Wed Mar 3 16:28:50 2004
*nat
:PREROUTING ACCEPT [119048:13462904]
:POSTROUTING ACCEPT [201861:12835135]
:OUTPUT ACCEPT [201866:12834544]
-A PREROUTING -s 192.168.0.11 -i eth0 -j ACCEPT
-A PREROUTING -d 219.238.233.202 -i eth0 -j ACCEPT
-A PREROUTING -d 218.6.174.147 -p tcp -m tcp --dport 8383 -j ACCEPT
-A PREROUTING -d ! 192.168.0.0/255.255.255.0 -i eth0 -p tcp -m tcp
--dport 80 -j REDIRECT --to-ports 3128
-A PREROUTING -d ! 192.168.0.0/255.255.255.0 -i eth0 -p tcp -m tcp
--dport 8383 -j REDIRECT --to-ports 3128
-A PREROUTING -d ! 192.168.0.0/255.255.255.0 -i eth0 -p tcp -m tcp
--dport 8080 -j REDIRECT --to-ports 3128
-A PREROUTING -d ! 192.168.0.0/255.255.255.0 -i eth0 -p tcp -m tcp
--dport 21 -j REDIRECT --to-ports 3128
-A PREROUTING -d ! 192.168.0.0/255.255.255.0 -i eth0 -p tcp -m tcp
--dport 443 -j ACCEPT
-A PREROUTING -d ! 192.168.0.0/255.255.255.0 -i eth0 -p tcp -m tcp
--dport 110 -j ACCEPT
-A PREROUTING -d ! 192.168.0.0/255.255.255.0 -i eth0 -p tcp -m tcp
--dport 25 -j ACCEPT
-A PREROUTING -d ! 192.168.0.0/255.255.255.0 -i eth0 -p tcp -m tcp -j DROP
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o ppp0 -j MASQUERADE
COMMIT
# Completed on Wed Mar 3 16:28:50 2004
请问这是iptables的问题还是squid的问题?该怎么解决?
Reply to: