免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3773 | 回复: 8

[网络管理] IP跳转和squid的奇怪问题 [复制链接]

论坛徽章:
0
发表于 2008-09-30 21:48 |显示全部楼层
20可用积分
一个局域网有100多台机子,为了缓解网络带宽瓶颈,决定在网内添加一台web proxy服务器,用的是squid 3.0 stable9
网关IP是192.168.0.1,用的是mikrotik routeros
squid服务器IP为192.168.0.3
为了方便管理,决定在网关服务器设置跳转来实现,即所有客户机对80端口的访问,都跳转到192.168.0.3的3128端口.
经测试,跳转成功,不过squid返回The requested URL could not be retrieved错误.
比如说访问http://blog.chinaunix.net/u/12766/showart_185725.html这个网址,
squid偿试访问的路径为:
The following error was encountered while trying to retrieve the URL: /u/12766/showart_185725.html

Invalid URL

查看squid访问记录
发现请求为:GET /u/12766/showart_185725.html
正常的请求为GET http://blog.chinaunix.net/u/12766/showart_185725.html
即是丢失了协议和主机名.
在客户机的IE直接设置代理,一切正常.
难道是跳转过程中丢失了某些信息?

[ 本帖最后由 prettywolf 于 2008-9-30 22:30 编辑 ]

论坛徽章:
0
发表于 2008-09-30 21:52 |显示全部楼层
设置IP跳转的语句描述:
chain=dstnat src-address=192.168.0.0/24 protocol=tcp dst-port=80 action=dst-nat to-addresses=192.168.0.3 to-ports=3128

论坛徽章:
0
发表于 2008-09-30 21:56 |显示全部楼层
我不知道你具体的步骤是如何设置的?

论坛徽章:
0
发表于 2008-09-30 22:30 |显示全部楼层
问题会出在设置跳转这条命令吗?
网关是mikrotik RouterOS 2.9.27

论坛徽章:
0
发表于 2008-09-30 23:02 |显示全部楼层
原帖由 prettywolf 于 2008-9-30 22:30 发表
问题会出在设置跳转这条命令吗?
网关是mikrotik RouterOS 2.9.27

估计问题出在这,目的地址有问题样子丢弃协议和主机名
帮你找了个试试看
  1. 透明代理让你的客户端不需设置任何代理,当包经过透时代理服务器时实际上被复位向到squid代理服务器的代理端口(如3128),即由本地代理服务器向外请求所需数据然后拷贝给客户端。

  2. 透明代理设置

  3. 1.代理的设定

  4. 命令模式:

  5. [admin@MikroTik] ip web-proxy> print

  6. enabled:yes


  7. address: 0.0.0.0:3128

  8. hostname: "proxy"

  9. transparent-proxy: yes

  10. parent-proxy: 0.0.0.0:0

  11. cache-administrator: "webmaster"

  12. max-object-size: 4096 kB

  13. max-cache-size: unlimited

  14. status: running

  15. reserved-for-cache: 10240 kB

  16. winbox模式

  17. 进入winbox,进入IP---Web proxy----settings

  18. 定义hostname:proxy

  19. 将透明代理开启

  20. 点击Enable---OK.

  21. 2.端口复位向

  22. 我们要将所有访问网页的数据包重新转到代理端口3128上去。因此在这里要做一个DNAT。好了,现在我们开始!



  23. 命令模式:



  24. 新增一条策略:

  25. src-address=192.168.0.0/24:0-65535 in-interface=ether2 dst-address=0.0.0.0/0:80 protocol=tcp icmp-options=any:any flow="" connection="" content="" src-mac-address=00:00:00:00:00:00 limit-count=0 limit-burst=0 limit-time=0s action=redirect to-dst-address=192.168.0.1 to-dst-port=3128

  26.   winbox模式:

  27. 进入IP----Firewall------destination NAT

  28. 新增一条策略:



  29. 3.大功告成。

  30. 现在只要将网内的计算机的网关指向RouterOS, 不用再做任何代理的设定,所有的计算机将都可以上网了。这样既有NAT的简单设置又有了代理的缓存,可谓两全其美
复制代码

[ 本帖最后由 剑次狼 于 2008-9-30 23:08 编辑 ]

论坛徽章:
0
发表于 2008-10-01 10:34 |显示全部楼层
多谢楼上的老兄,不过现在的版本已经不是这样子设置了.
action:redirect 没有to-dst-address了的.只有port

论坛徽章:
0
发表于 2008-10-01 13:07 |显示全部楼层
问题解决了,参考这个贴子:
http://linux.chinaunix.net/bbs/thread-1034252-1-2.html
主要是transparent

论坛徽章:
0
发表于 2008-10-01 21:14 |显示全部楼层
汗,理解错误
没想到是squid本身问题。。。。

论坛徽章:
0
发表于 2008-10-17 15:59 |显示全部楼层
学习中!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP