LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 784|回复: 5

求助 关于squid透明代理的问题

[复制链接]
发表于 2006-1-19 16:44:52 | 显示全部楼层 |阅读模式
我设置了squid 的代理!一切正常!
但设置了透明带就出问题了!
squid.conf设置如下:
http_accel_port 80
http_accel_winth_proxy on
http_accel_user_host_header on
http_accel_host virtual

iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128


第一次这样配置没有问题!透明代理成功!

接着我想在试一下!就把
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 改为8080 了
结果什么也没提示!就不能上网了!
我用REBOOT了一下!! 结果又好了!!而且squid是停止的,还可以上网,但只要应用
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128这个规则就不能上网了!!

我想问: 1: 为什么我第一次配置透明代理是正常的,我再应用一次应用
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128这条规则就不能上网了?
2:为什么我不应用
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128这条规则,而且不启动squid就可以上网?


说明:启动squid,在客户端设置代理是正常的!!!


设置透明代理后的错误
ERROR

The requested URL could not be retrieved




--------------------------------------------------------------------------------



While trying to retrieve the URL: /forum/newthread.php?do=newthread&f=1

The following error was encountered:
Invalid URL
Some aspect of the requested URL is incorrect. Possible problems:
Missing or incorrect access protocol (should be `http://'' or similar)
Missing hostname
Illegal double-escape in the URL-Path
Illegal character in hostname; underscores are not allowed
Your cache administrator is root.



--------------------------------------------------------------------------------

Generated Thu, 19 Jan 2006 08:23:56 GMT by hongjuan.com (squid/2.5.STA







还有!透明代理设置成功了!
我用客户机上网!
再哪里可以看到日志啊?
在 /var/log/squid/access.conf中吗?
发表于 2006-1-19 16:54:28 | 显示全部楼层
我想问: 1: 为什么我第一次配置透明代理是正常的,我再应用一次应用
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128这条规则就不能上网了?

你是把3128改为8080了吧,当然不能上网啦
还是说你没启动squid就这样干了?不启squid,你把到80端口的数据包都搞到本机的3128端口,怎么能上网呢?

2:为什么我不应用
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128这条规则,而且不启动squid就可以上网?

只是NAT,并没有使用squid代理。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-19 17:15:06 | 显示全部楼层
谢谢你!
我先把 squid 启动了  也应用了
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

为什么不能上网呢? 还是提示那个错误!
但我又执行 iptables -F -t nat 就又可以上网了?

还有,用透明代理后,能在/var/log/squid/access.conf中看到日志吗?
回复 支持 反对

使用道具 举报

发表于 2006-1-19 17:42:11 | 显示全部楼层
用透明代理后,能看到日志,/var/log/squid/access.log,不是.conf,装个Sarg更好。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-19 18:13:03 | 显示全部楼层
那如果看不到日志!就是透明代理没成功吗??/

怎么看透明代理成功了吗???????
回复 支持 反对

使用道具 举报

发表于 2006-1-20 10:32:53 | 显示全部楼层
看不到Squid的访问日志,至少可以说明数据包没有到达Squid
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表