免费注册 查看新帖 |

Chinaunix

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

[proxy] PF转发HTTP请求到另一台服务器上的SQUID [复制链接]

论坛徽章:
1
IT运维版块每日发帖之星
日期:2016-07-05 06:20:00
发表于 2013-05-26 12:21 |显示全部楼层
我的网络结构是这样的:

squid(Ubuntu)  <->  gateway(FreeBSD) <-> Internet

Client 直接连接到GateWay 通过Nat上网

目前,我在GateWay上安装了Squid,通过PF的rdr将HTTP请求转发到本机的Squid上,可以实现 透明代理上网。

现在我想实现以下功能:

在GateWay上通过PF将HTTP转发到另一台服务器(与客户端同在内网一侧)上的Squid。

目前出现的情况是这样的:
1)GateWay上的PF配置了如下一行:
  rdr on $int_if proto tcp from any to $ext_net port 80 -> 192.168.1.3 port 3128  (192.168.1.3 是另一台服务器 ,并且 SQuid正确运行)
2)在192.168.1.3 上通过 TCPdump可以看到转发过来的包,但是Squid的日志记录里没有任何记录,同时客户端 显示连接超时。

3)如果在客户端 的IE里设置代理地址为192.168.1.3:3128(则不使用网关的转发功能) ,则客户端可以正常上网(这是否说明 192.168.1.3 的Squid配置正确?)

4) 如果SQuid跟PF在同个服务器上,工作是正常的。

请问大家,我的PF是否配置不正确?是否转发的包有问题?

谢谢大家!

论坛徽章:
0
发表于 2013-05-26 14:51 |显示全部楼层
pf.conf Configuration
In pf.conf, the following changes need to be made.

In the top portion where you set skip on your internal interfaces, remove those lines. They tell the pf filter not to do any processing on packets coming in on an internal interface.


#set skip on $int_if << These lines commented out
#set skip on $wi_if

# redirect only IPv4 web traffic to squid
rdr pass $init proto tcp from $net to any port 80 -> $squidserver port 3129

block in
pass in quick on $int_if
pass in quick on $wi_if
pass out keep state
不要用on用pass就可以了

论坛徽章:
1
IT运维版块每日发帖之星
日期:2016-07-05 06:20:00
发表于 2014-05-08 09:31 |显示全部楼层
非常感谢您的回复!

我再找时间试试。

回复 2# gjie2008


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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP