免费注册 查看新帖 |

Chinaunix

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

[网络管理] 请教:透明bridge作squid代理时候bridge必须配地址? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-04 16:39 |只看该作者 |倒序浏览
外网---[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

当不给bridge配置地址的时候,链路不同,如下配置地址就可以。
参考:透明防火墙架设的完全攻略(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

不过这样的话,失去了透明桥接的意义了.
必须给桥配置一个地址,用来和服务器通讯?

论坛徽章:
0
2 [报告]
发表于 2008-08-04 16:45 |只看该作者
你要提供服务当然要配IP地址了

论坛徽章:
0
3 [报告]
发表于 2008-08-04 17:02 |只看该作者
没意义了,感觉.
和用linux做网关有什么区别?

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
4 [报告]
发表于 2008-08-04 17:55 |只看该作者
我也遇到过类似的问题。
你ifconfig br0 up 这样来试试。

不过给桥接口配一个地址也有好处,这样可以远程管理了。

论坛徽章:
0
5 [报告]
发表于 2008-08-05 09:22 |只看该作者
原帖由 ssffzz1 于 2008-8-4 17:55 发表
我也遇到过类似的问题。
你ifconfig br0 up 这样来试试。

不过给桥接口配一个地址也有好处,这样可以远程管理了。

一般这种模式,都有第三块网卡专门用来管理的吧。所谓的透明式防火墙之类。
桥分配了IP,就不透明了,暴露了,失去了本质的意义。

另外br0,是在启动脚本里配置的,本身就是up的啊。

论坛徽章:
0
6 [报告]
发表于 2008-08-05 10:16 |只看该作者
hehe,如果分配给透明桥一个内网的IP地址,然后再给墙内的服务器也分配一个同网段的内网IP地址,不也能实现一方面外网访问不到透明桥,一方面又可以通过透明墙内的机器反联到透明桥上配置吗?
我以前的想法是给透明桥配上串口线连接在内网服务器上,需要的时候从桥后面的服务器用串口将桥的ip地址up起来,然后远程控制,不过这个方法和上面那个比还是稍费劲一些。

论坛徽章:
0
7 [报告]
发表于 2008-08-05 10:51 |只看该作者
给网关设ip地址的原因是因为要给client端有效的路由.

论坛徽章:
0
8 [报告]
发表于 2008-08-05 11:23 |只看该作者
原帖由 怀恋在子夜 于 2008-8-5 09:22 发表

一般这种模式,都有第三块网卡专门用来管理的吧。所谓的透明式防火墙之类。
桥分配了IP,就不透明了,暴露了,失去了本质的意义。

另外br0,是在启动脚本里配置的,本身就是up的啊。

squid 的设计理念就是“代理”,cache 只是其中的一部分
不知道你更注重的是哪个,但从你的需求来看你更关心的是“cache”部分
squid 的代理是必须自己接管并替用户去请求 HTTP 的,只是把得到的再还给用户而已,cache 只是它的一个特性,知道不用自己再请求的时候直接发给客户
因此,桥模式下必须有个能上网的 IP 才行,因为它要替用户去请求,你可以视它为一个“中间人”,一个“媒介”,一个“代理商”

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
9 [报告]
发表于 2008-08-05 11:35 |只看该作者
-j REDIRECT --to-ports 3128

哦,这样啊,刚刚发现,你是重定向给自己啊。这样的话,你肯定要配置一个地址了,否则你的SQUID怎么监听。

不过你可以重定向给另外的一台SQUID服务器试试,或许可以的。

论坛徽章:
0
10 [报告]
发表于 2008-08-05 12:10 |只看该作者
谢谢lasama iamshiyu ssffzz1 iamshiyu wysilly  platinum的回答。
下面是Transparent Proxy with Linux and Squid mini-HOWTO中的原话:
http://www.faqs.org/docs/Linux-mini/TransparentProxy.html#s7

7. Transparent Proxy With Bridging

Warning, this is really esoteric stuff. If you need it, you'll know. If not, skip this section. Thanks to Lewis Shobbrook (lshobbrook@fasttrack.net.au) for contributing to this section.

If you are trying to setup a transparent proxy on a Linux machine that has been configured as a bridge, you will need to add one additional iptables command to what we had in section 5. Specifically, you need to explicitly allow connections to the machine on port 3128 (or any other port squid is listening on), otherwise the machine will just forward them over to the other interface like a good little bridge. Here's the magic words:

    * iptables -A INPUT -i interface -p tcp -d your_bridge_ip -s local-network --dport 3128 -m state --state NEW,ESTABLISHED -j ACCEPT

Replacing interface with the interface that corresponds to your_bridge_ip (typically eth0 or eth1). First time bridge users should also note that you'll probably want to repeat the same command with ``3128'' replaced by ``telnet'' if you want to administer your bridge remotely.

不过,to ssffzz1:
如果定向到另外一台squid服务器,其实本质是一样的。还是不能放到一起完全透明。
曾有关于IP挟持的想法,不过似乎还是不可行。始终需要一个platinum所说的"中间人",而且必须固定的“中间人”。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP