免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3519 | 回复: 8
打印 上一主题 下一主题

[proxy] Squid2.5(Redhat9)做二级代理的DNS问题. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-11-10 10:02 |只看该作者 |倒序浏览
基本情况:学校外部网关:172.19.0.1;WEB代理:172.16.0.4:8080(不使用WEB代理同样可以上网)
客户端微机IP:192.168.0.*、 网关:192.168.0.1、DNS:ISP的DNS
服务器:eth0:192.168.0.1(内)、eth1:172.19.0.114(外)、DNS:ISP的DNS
子网掩码一律为:255.255.255.0

开机执行的shell:
#!/bin/sh
echo "1">;/proc/sys/net/ipv4/ip_forward
/sbin/modprobe iptable_filter
/sbin/modprobe ip_tables
/sbin/modprobe iptable_nat
iptables -F -t nat
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -s 192.168.0.1/24 -o eth1 -j SNAT --to 172.19.0.114
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT



squid.conf:
http_port 192.168.0.1:3128
cache_mgr jngxdzk@sohu.com
#dns_nameservers 202.102.134.68 202.102.128.68
visible_hostname localhost.localdomain
client_netmask 255.255.255.0
cache_peer 172.16.0.4 parent 8080 0 proxy-only
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
acl CONNECT method CONNECT
acl all src 0.0.0.0/0.0.0.0
never_direct allow all
http_access allow all

问题:
不做proxy时,在客户端IE设置代理172.16.0.4:8080,客户端可以直接上网。
用squid代理,squid直接启动不行(使用-NCd1选项可以看出是在DNS初始化时的问题),使用-D选项可以启动,NETSTAT也可以看出3128、3130端口的监听
客户机上网时,开始时在IE的状态栏可以看到“WEB页已经找到.....”,等较长时间后,squid显示出错页面,大致意思:microsoft的搜索页面未打开,可能上层代理禁止了连接,请与jngxdzk@sohu.com联系。我认为还应该是DNS域名解析的问题。

请问诸位:我的squid为什么代理不起来,dns应该怎么设置才行。
此问题困惑了本人很长时间,也翻过本论坛的精华,恳请版主及高手出手指点,不胜感激。

论坛徽章:
0
2 [报告]
发表于 2004-11-10 10:05 |只看该作者

Squid2.5(Redhat9)做二级代理的DNS问题.

在线苦等

论坛徽章:
0
3 [报告]
发表于 2004-11-10 20:32 |只看该作者

Squid2.5(Redhat9)做二级代理的DNS问题.

1、squid启动时的错误信息是什么?
2、squid的access.log的内容是什么?

论坛徽章:
0
4 [报告]
发表于 2004-11-11 12:44 |只看该作者

Squid2.5(Redhat9)做二级代理的DNS问题.

又仔细看了看squid的出错页面提示:本缓存服务器被禁止与上层服务器联系。
使用netstat -an,可以看出客户端已经连接到本服务器的3128,本服务器也已经转发至上层代理(172.16.0.4)的8080,就是看不到回来的连接。
另外:执行完iptables的脚本后,客户端可以连通外层网关,而代理本身就再也ping不通外层网关与代理了。各位高手,这样正常吗?是否因为这样才使得外层代理无法将数据发回到内层代理上?

论坛徽章:
0
5 [报告]
发表于 2004-11-11 12:49 |只看该作者

Squid2.5(Redhat9)做二级代理的DNS问题.

access.log是空的,嘛也没有!

论坛徽章:
0
6 [报告]
发表于 2004-11-12 19:54 |只看该作者

Squid2.5(Redhat9)做二级代理的DNS问题.

靠天靠地不如靠自己!仔细分析iptables脚本后,发现此句有问题:iptables -P INPUT DROP ,丢弃所有进入的数据包后,squid当然接受不到上层代理发回的数据,才导致squid不能与上层服务器连接显示出错信息。
屏蔽此句后(或加上允许接受代理发回数据包的句子)就没问题了!

论坛徽章:
0
7 [报告]
发表于 2004-11-12 19:58 |只看该作者

Squid2.5(Redhat9)做二级代理的DNS问题.

不过刚刚改好iptables脚本,正常了不到5分钟,正高兴时,客户端却又上不去了。正百思不得其解时,同事过来告诉我上层代理宕机了。郁闷得要倒。。。

论坛徽章:
0
8 [报告]
发表于 2004-11-12 20:11 |只看该作者

Squid2.5(Redhat9)做二级代理的DNS问题.

总结此问题:
1、不能过于相信网络上的高手们文章(上面的iptables脚本是CTRL+C CTRL+V自于比较出名网站上的文章,真不知道他们怎么试验成功的);
2、不能过于依靠高手们的出手相助(我翻了本区内的帖子,给做过的人发信求助,有的不理、有的说不熟悉。。。);
3、拿来主义,不仅要拿来、更要理解之后的占有,得靠自己动脑子理解。

总而言之,言而总之,还是两个字“靠自己”。

论坛徽章:
0
9 [报告]
发表于 2004-12-01 21:28 |只看该作者

Squid2.5(Redhat9)做二级代理的DNS问题.

其实很抱歉,我一直没有弄明白你描述的网络结构和各部分的地址分配以及各服务器的作用
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP