squid3正反向代理同时应用的问题?

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
psukk
帖子: 13
注册时间: 2007-01-12 13:23
送出感谢: 0
接收感谢: 0

squid3正反向代理同时应用的问题?

#1

帖子 psukk » 2008-12-24 8:53

网络环境:
squid主机安装两块网卡:192.168.0.251,192.168.1.1
内网web服务器:192.168.1.3
内网其它客户端:192.168.1.4
外网客户端:192.168.0.68

squid主机单独作正向代理和单独作反向代理时都能成功,但是,正反向代理同时打开时,反向代理可以成功,但正向代理不能成功,即内网不能访问外部,出现拒绝的提示

squid3为ubuntu 8.10 server,squid版本为3.0
正反向同时代理时,squid.conf主要内容如下:
http_port 3128 transparent #正向代理用
http_port 80 transparent #反向代理用

cache_peer 192.168.1.3 parent 80 0 no-query originserver
cache_peer_access 192.168.1.3 allow accel_port
cache_peer_access 192.168.1.3 deny all


acl lweb dst 127.0.0.1/32 192.168.0.251/32 192.168.1.1/32
acl sina dstdomain .sina.com.cn


acl accel_port myport 80
acl proxy_port myport 3128


http_access allow proxy_prot lnet sina
http_access allow accel_port lweb

个人推测主要原因可能是出在cache_peer那里,因为所有请求都会cache_peer转到指定的192.168.1.3服务器上,但192.168.1.3又拒绝由3128端口的请求,关键是如何让通过3128端口代理的请求向internet请求?请各位帮助
psukk
帖子: 13
注册时间: 2007-01-12 13:23
送出感谢: 0
接收感谢: 0

Re: squid3正反向代理同时应用的问题?

#2

帖子 psukk » 2008-12-25 8:03

问题找到了,原来是"http_access allow proxy_prot lnet sina"这一句的问题,改为"http_access allow lnet sina"就行了,即对myport不作限定才行.
然后再加下如下两句:
always_direct allow lnet #lnet的ip直接连接到internet
never_direct allow lweb #以lweb为目的不能直接到目的

如果不加上,内网所有的外部访问都会定位到192.168.1.3 web服务器上
psukk
帖子: 13
注册时间: 2007-01-12 13:23
送出感谢: 0
接收感谢: 0

Re: squid3正反向代理同时应用的问题?

#3

帖子 psukk » 2008-12-25 11:47

至此,在外网用浏览器找开http://192.168.0.251,可以成功访问,内网访问internet也没问题
后来为了用实现用域名访问内网web,在外部客户端192.168.0.68的host文件中加入
192.168.0.251 www.vweb.org

然后在squid.conf中加入cache_peer_domain 192.168.1.3 .vweb.org
重新应用,然后在在外部客户端192.168.0.68用浏览器打开http://www.vweb.org,结果不能访问,查了好久,结果是这一句"http_access allow accel_port lweb"的原因,改为"http_access allow accel_port"就可以了,但是还是不明白,为什么要这样改?

在试验中我改成
acl lweb dst 127.0.0.1/32 192.168.0.251/32 192.168.1.0/24
http_access allow accel_port lweb
这样也不行,真是很奇怪,只能
http_access allow accel_port这样才行,
难道一限定外网访问的目的就不行了吗?谁能解释一下
回复

回到 “服务器基础应用”