免费注册 查看新帖 |

Chinaunix

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

[proxy] 请教:透明网桥模式下squid无效? [复制链接]

论坛徽章:
0
发表于 2008-07-31 17:59 |显示全部楼层
非网桥模式下squid能成功拦截http包,如下:

外网---eth0(10.10.151.210)---eth1(192.168.0.1)---内网

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to 10.10.151.210
iptables -t nat -A PREROUTING -d 192.168.0.0/24 -i eth1 -p tcp --dport 80 -j REDIRECT --to-ports 3128

acl client2 src 192.168.0.128/32
http_access deny client2
有效,access.log有记录,netstate能看到N多squid连接。

但是透明网桥下一样的配置,squid却无效:

外网---[eth0-bridge-eth1]---内网

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -i eth1 -p tcp --dport 80 -j REDIRECT --to-ports 3128
网桥自动转发,不需要SNAT了吧
这个access.log为空,netsate能看到squid一直在listen,没有一个已经存在的连接,就是说squid根本没有拦截到http包,iptables错了还是squid配置问题?

[ 本帖最后由 怀恋在子夜 于 2008-7-31 18:04 编辑 ]

论坛徽章:
0
发表于 2008-08-01 11:43 |显示全部楼层
原帖由 怀恋在子夜 于 2008-7-31 17:59 发表


外网---[eth0-bridge-eth1]---内网

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -i eth1 -p tcp --dport 80 -j REDIRECT --to-ports 3128



OK,成功。
bridge需要配一个地址,接受数据包,这样netstate就能看到squid的连接了,不然只能用netstate -a看到*:squid *:*了
关于网桥,目前参考
透明防火墙架设的完全攻略(bridge+iptables+squid)
http://www.elook.net.cn/cms/Site ... Linux312/43520.html
需要如下(具体意思还要研究一下):
brctl sethello br0 1
brctl setmaxage br0 4
brctl setfd br0 4
ifconfig br0 192.168.0.120 broadcast 192.168.0.255 promisc up
route add default gw 192.168.0.1 netmask 0.0.0.0 metric 1

然后就是:

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -i eth1 -p tcp --dport 80 -j REDIRECT --to-ports 3128

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP