懂网桥式防火墙的高手进

发表于:2007-07-04来源:作者:点击数: 标签:
请问那里可以下载到支持网桥防火墙的内核还有就是在实现中需要注意些什么吗? 網中人 回复于:2003-10-31 14:57:05 havealookat: http://bridge.sourceforge.net/ q1208c 回复于:2003-10-31 15:08:02 能给小弟说说桥式防火墙是什么吗?让俺也长长见识。 網中

请问那里可以下载到支持网桥防火墙的内核还有就是在实现中需要注意些什么吗?

 網中人 回复于:2003-10-31 14:57:05
have a look at:
http://bridge.sourceforge.net/

 q1208c 回复于:2003-10-31 15:08:02
能给小弟说说桥式防火墙是什么吗?让俺也长长见识。

 網中人 回复于:2003-10-31 15:23:39
簡單而言,就是 transparent firewall 。

因為,一般的 gateway firewall 是本身帶有 IP address 的。
而 bridge 屬於 OSI Level 2 的產品,本身不帶 IP Address 。
bridging firewall 在安全及部署上都有其優勢。

更具體的,請看上面給的網站吧。

 弱智 回复于:2003-10-31 15:29:28
谢谢提供链接

 q1208c 回复于:2003-10-31 15:35:48
那它怎么防呀?防什么呀??

 網中人 回复于:2003-10-31 15:48:33
嗯... 先說說你所認為的"防火牆"應該是怎麼樣的一個東東呢?

然後我們再談其它的...

 q1208c 回复于:2003-10-31 15:49:43
你要是说不清,就别说。

 platinum 回复于:2003-10-31 15:54:08
如果有多网卡,可以设置一个网桥
比如,有3块卡,eth0/eth1/eth2

#设置一个网桥,名字为test
brctl addbr test

#取消3块网卡的IP
ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0
ifconfig eth2 0.0.0.0

#在网桥上绑定4块网卡
brctl addif test eth0
brctl addif test eth1
brctl addif test eth2

#使网桥工作
ifconfig test 192.168.0.1

这样,3块网卡连接的IP段被绑定起来了,然后再设置合理的防火墙和路由就OK了

 網中人 回复于:2003-10-31 15:57:01
[quote:1fee600f3a="q1208c"]你要是说不清,就别说。[/quote:1fee600f3a]
好的... 我不說...

反過來,這句話,是否也請你自己三思呢...

 q1208c 回复于:2003-10-31 16:00:40
我就是不懂,所以才问的呀?

 双眼皮的猪 回复于:2003-10-31 16:00:41
[quote:3c7c723c20="q1208c"]你要是说不清,就别说。[/quote:3c7c723c20]

您这句话,太不礼貌了,既然是请教,多少要以学生对老师的姿态来请教...

网中人大哥,知道才给我们提供帮助的....

大家别吵哦....

都到这里来学习哦,呵呵:)

 q1208c 回复于:2003-10-31 16:02:27
同意楼上的说法。我道歉先。

 網中人 回复于:2003-10-31 16:05:57
要是你有學習誠意,先說一下你對 firewall  的認識...

這不是要挑戰你,而是要了解你的程度。這樣討論起來才有交集。
但你要我閉嘴的話,我還是會乖乖聽話的...  ^_^

 q1208c 回复于:2003-10-31 16:08:56
:)

 弱智 回复于:2003-10-31 16:09:29
刚才看了一下网中人兄台的主页,厉害呀。
N多的好东东,佩服。
再次谢谢网中人签名里的网站。

 双眼皮的猪 回复于:2003-10-31 16:10:42
真想找个聊天室跟大家聊一聊....呵呵...

也没有即时通讯的软件....

可惜我太菜....

努力学习中....

 jeffyan 回复于:2003-10-31 17:21:27
good ,

 victor_wu_623 回复于:2003-11-03 09:20:22
网中人大哥,能不能在讲的具体点,我是一个新手,刚实现了ip伪装试的防火墙,现在想试试网桥式的防火墙.

 jeffyan 回复于:2003-11-03 10:38:49
具体点

 網中人 回复于:2003-11-03 13:05:29
嗯... 要了解 firewall 的運作,得先要從 TCP/IP 的工作原理開始。
小弟曾寫過一些個人心得,放在如下:
http://www.study-area.org/linux/servers/linux_nat.htm

然而,在文章之初,我就提出了如下前提條件:

[list:969a279772]但我必須再一次指出﹕設定防火牆需要您具備非常豐富的 TCP/IP 基礎。最起碼﹐您能理解如下的概念﹕ 

* IP subneting 與 IP routing 的概念﹔ 
* TCP 與 IP 封包 header 的各個欄位之名稱與意義﹔ 
* Socket Pair (Source Socket 與 Destination Socket) 的定義﹔ 
* TCP 封包之 Sequence Number 與 Acknowledgement Number 的關係﹔ 
* IP fragment 與 MTU/MRU 的關係﹔ 
* ICMP 協定的 type & error code 之名稱與意義﹔ 
* Three-way Handshake 的過程與 SYNC 封包的意義﹔ 
* TCP/IP 連線的不同連線狀態(例如 NEW﹑WAITED﹑ESTABLISEHED﹑等) 
* 各種服務的連線特征(尤以 FTP 服務為代表)。 

假如您弄不懂以上所說的概念而硬要設定防火牆﹐那將是一件非常痛苦的事情(呵﹐我可把話說在前面了哦~~)。[/list:u:969a279772]

假如對 TCP/IP 不夠了解,硬要談 firewall  是比較困難的。
好歹,要知到 socket pair 是甚麼東東吧?

等 firewall 工作原理搞懂之後,接下來就要看 router 與 bridge 的差異。
不過,這部份要懂得 OSI 的模型原理。說起來又是長篇大論.... >_<
小弟也寫過這方面的文章,及跟一些網友討論過,若有空,不妨看看:
http://www.study-area.org/network/network_inter.htm
http://www.study-area.org/tips/iproute.htm
http://www.study-area.org/tips/hub_switch.htm

嗯... 不是我不想說,只是我覺得題目太大了,很難三言兩語說得具體...
要是,你能先提出個人的看法,然後再針對你的看法來討論,會容易一些。

怎樣?先說一說你的看法如何?

 victor_wu_623 回复于:2003-11-03 16:27:40
谢谢你,网中人,我已经在努力的学习了,如果有不动的地方请你再指教

 victor_wu_623 回复于:2003-11-04 10:33:28
网中人先请教一下,我的linux是REDHAT7.3 内核是2.4.18-3,我应该怎么做使我的系统支持网桥式防火墙

 網中人 回复于:2003-11-04 11:31:00
嗯... 我也沒有明確的步驟。主要參考版上給的 link ,或到 google 去搜...  ^_^

 victor_wu_623 回复于:2003-11-04 11:40:09
是不是需要编辑内核,或者下载什么rpm啊?

 網中人 回复于:2003-11-04 11:45:32
嗯... 要是討論技術原理的話,小弟或可提一下意見。
但若是問具體做法,抱歉,小弟也是心有餘力不足啊...

 victor_wu_623 回复于:2003-11-04 17:34:03
我下载到网桥式防火墙的配置工具包bridge-utils-0.9.5-1.i386.rpm后,用rpm[/url] -ivh bridge-utils-0.9.5-1.i386.rpm后就ok了.
运行
brctl addbr br_1
brctl addif br_1 eth0
brctl addif br_1 eth1
ifconfig eth0 0.0.0.0
ipconfig eth1 0.0.0.0
ipconfig br_1 x.x.x.x即完成了最简单的网桥式防火墙
可是我出现了一个问题,就是我在/etc/rc.d/目录下用touch命令建立firewall文件,执行chmod u+x firewall以更改文件属性,编辑/etc/rc.d/rc.local文件,在末尾加上/etc/rc.d/firewall以确保开机时能自动执行该脚本自启动
#!/bin/sh
#brctl addbr br_1
#brctl addif br_1 eth0
#brctl addif br_1 eth1
#ifconfig eth0 0.0.0.0
#ifconfig eth1 0.0.0.0
#ifconfig br_1 x.x.x.x
却不能自动运行,每次开机要输入,谁能告诉我这是怎么会事?

 platinum 回复于:2003-11-04 17:43:41
因为你在前面都加了“#”

 victor_wu_623 回复于:2003-11-05 09:03:59
是不是改成这样啊
!/bin/sh
brctl addbr br_1
brctl addif br_1 eth0
brctl addif br_1 eth1
ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0
ifconfig br_1 x.x.x.x

 platinum 回复于:2003-11-05 09:10:42
#! /bin/bash
brctl addbr br_1
brctl addif br_1 eth0
brctl addif br_1 eth1
ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0
ifconfig br_1 x.x.x.x

这是编一个SHELL,简单做个批处理,原理是对了,我在第一页也有贴

 le0_0el 回复于:2003-11-05 09:19:44
方正的方御 完全可以 !

 victor_wu_623 回复于:2003-11-05 09:45:06
哦,谢谢,有问题再请教

 victor_wu_623 回复于:2003-11-05 10:53:21
自动运行的问题已经解决,现在我要做的就是关闭不用的端口.比如说我要关闭QQ的端口用iptables -A INPUT -s eth1 -p udp --sport 4000 -j DROP行吗

 victor_wu_623 回复于:2003-11-05 13:57:40
网中人,在桥接情况下目的地址为桥设备本身的数据需要经过filter表的INPUT规则链和mangle表的PREROUTING规则链;从桥设备自身发出的数据需要经过filter表的OUTPUT规则链和mangle表的POSTOUTING规则链;而流经桥设备的数据则要分别经过mangle表的PREROUTING规则链和filter表的FORWARD规则链和mangle表的POSTROUTING规则链。 那是不是我的防火墙规则设置只要对mangle表的PREROUTING规则链和filter表的FORWARD规则链和mangle表的POSTROUTING规则链进行设置??

 platinum 回复于:2003-11-05 14:20:18
如果你做服务器,服务端口是4000,那就这么做
你的用意是……?

 網中人 回复于:2003-11-05 14:27:12
我對 bridging firewall 的設定不熟,不清楚其 routing 處理是否還存在。
我只能就 routing mode firewall 來說一下我所知的:

送進本機的 packet 要經過如下 chains:
mangle: PREROUTING
nat: PREROUTING
[routing decision]
fileter: INPUT

從本機產生且送離本機的 packet :
mangle: OUTPUT
nat: OUTPUT
filter: OUTPU
[routing decision]
nat: POSTROUTING

單純是經過本機,與 local process 無關的:
mangle: PREROUTING
nat: PREROUTING
[routing decision]
filter: FORWARD
nat: POSTROUTING

若你只單純作 filter 的話,只需在 filter table 上設規則。
若要作 NAT (socket 改寫),那就集中在 nat table 上。
若要作 packet 重整,那就在 mangle 上進行。

至於在哪個位置上設規則?先判斷 packet 流向,看看它經過哪些 chain。
若你要 DROP 掉它的話,只要在其中一個 DROP 就行。
但要 ACCEPT 的話,則要全部 ACCEPT 。

另外,chain 中的規則順序很重要,請要牢牢記住 first match 原則,
以及 policy 的作用。

 victor_wu_623 回复于:2003-11-05 15:45:13
[quote:99facfa515="platinum"]如果你做服务器,服务端口是4000,那就这么做
你的用意是……?[/quote:99facfa515]
我想先试试简单的功能,先禁止上QQ
我的情况是这样的,公司用一个路由器上网.我把内网上的一台机子装上了linux,我已经在上边设置好了网桥式防火墙,有2块网卡.eth0接上内网的hub,eth1用对接线连上我的机子,我的机子也可以上网,现在我想问的是我用
iptables -A FORWARD -i eth0 -p udp --dport 8000 -j DROP
可是依然可以上QQ.为什么呢???

 網中人 回复于:2003-11-05 16:02:59
可以用"排除法"+"交叉法"來逐一逐段範圍來試試:
1) 取消界面
iptables -A FORWARD -p udp --dport 8000 -j DROP 
2) 取消 port 
iptables -A FORWARD -i eth0 -p udp -j DROP 
3) 取消界面與 port 
iptables -A FORWARD -p udp-j DROP 
4) 全取消:
iptables -A FORWARD -j DROP

要是最後一行也沒效,那不妨將 -A 改為 -I ....

 victor_wu_623 回复于:2003-11-05 16:35:37
好的好的,我哦试试

 victor_wu_623 回复于:2003-11-05 16:53:31
我输入至最后一句,QQ是禁止了,可是也上不了网暗暗. :cry:

 網中人 回复于:2003-11-06 01:43:04
也就是說,-p udp 那行無效囉... ?

是否意味著:連線不是走 udp 的呢?

 victor_wu_623 回复于:2003-11-06 09:11:30
不会吧,很多资料都说是udp的啊

 victor_wu_623 回复于:2003-11-06 09:34:19
再问个问题,就是如何可以开机就自动进入系统?

 srjiao 回复于:2003-11-06 09:58:44
[quote:380c2da8b5="網中人"]簡單而言,就是 transparent firewall 。

因為,一般的 gateway firewall 是本身帶有 IP address 的。
而 bridge 屬於 OSI Level 2 的產品,本身不帶 IP Address 。
bridging firewall 在安全及部署上都有其優?.........[/quote:380c2da8b5]


桥接主要就是应用防火墙的包过滤

 victor_wu_623 回复于:2003-11-06 11:30:53
网中人:
我用我的机子做实验,情况是这样,现在网桥服务的机子只有我的这一台,我只上网和打开了QQ,用命令iptables -L --verbose 
得到的结果是 INPUT , FORWARD 有数据包,是否意味着上网和QQ的数据包和INPUT链有关系呢?

 網中人 回复于:2003-11-06 11:37:08
你能用 tcpdump 或 ethereal 之類的封包擷取軟件抓一些封包來分析一下,已做確認嗎?

有可能的話,能將 iptable-save 的結果列上來給大家參考就更好了...

 NetDC 回复于:2003-11-06 11:39:11
网中人,呵呵,又见牛人了。
曾经参考过一篇什么文章,佩服得很的。

 victor_wu_623 回复于:2003-11-06 12:26:05
请问linux自带这些tcpdump 或 ethereal 之類的封包擷取軟件吗??

 網中人 回复于:2003-11-06 12:32:58
你要是用 redhat 的話:
rpm -qa | grep -E 'tcpdump|ethereal'

 platinum 回复于:2003-11-06 13:07:23
是这样的,以前的QQ叫OICQ,连接服务器的8000端口,协议是UDP,但后来又多了好多会员什么的,他们有的可以用TCP协议,有的甚至直接走HTTP,也是80端口,所以根本没什么头绪。

再者,网上随便一找就可以找到SOCKET代理,用那个也可以上,所以根本没办法。不过我想了想,观察了一下,不管服务端如何,QQ的CLIENT端不是4000开始的就是5000开始的,你不妨把UDP和TCP的4000、4001、5000、5001端口封掉看看,注意,是封CLIENT的,不是--dport,是--sport。

试试看!

 victor_wu_623 回复于:2003-11-06 13:28:14
汗,这东东怎么用啊??

 platinum 回复于:2003-11-06 13:32:24
iptables -I INPUT 1 -s eth1 -p udp --sport 4000 -j DROP
iptables -I INPUT 1 -s eth1 -p udp --sport 4001 -j DROP
iptables -I INPUT 1 -s eth1 -p udp --sport 5000 -j DROP
iptables -I INPUT 1 -s eth1 -p udp --sport 5001 -j DROP
iptables -I INPUT 1 -s eth1 -p tcp --sport 4000 -j DROP
iptables -I INPUT 1 -s eth1 -p tcp --sport 4001 -j DROP
iptables -I INPUT 1 -s eth1 -p tcp --sport 5000 -j DROP
iptables -I INPUT 1 -s eth1 -p tcp --sport 5001 -j DROP

 victor_wu_623 回复于:2003-11-06 13:50:13
呵呵,我说的是网中人说的东东,不过platinum 
你的方法我会试的.

 victor_wu_623 回复于:2003-11-06 14:56:03
网中人我用的是tcpdump-3.6.2-12,我也正在分析,好了给你答案.

 victor_wu_623 回复于:2003-11-06 17:04:25
网中人我在一篇文章上看到需下载bridge-utils-0.9.6.tar.gz和bridge-nf-0.0.7-against-2.4.19.diff。(这个很重要,否则iptables无法拦截转发过来的packets)
请问bridge-nf-0.0.7-against-2.4.19.diff这个是什么东西,怎么用啊?

 b2linux 回复于:2003-11-06 17:14:35
hhehehe

 :D

 axfilter 回复于:2003-11-06 17:29:21
[quote:1b80e5183f="網中人"]簡單而言,就是 transparent firewall 。

因為,一般的 gateway firewall 是本身帶有 IP address 的。
而 bridge 屬於 OSI Level 2 的產品,本身不帶 IP Address 。
bridging firewall 在安全及部署上都有其優?.........[/quote:1b80e5183f]
能不能谈谈他具体的优势。

 beansprouts1981 回复于:2003-11-06 21:10:28
难得大家都这么有气度~可以成大事也^_^
偶在论坛上凡看到这样的开头多半是骂的一塌糊涂的结尾,呵呵~看来这里不错。另外,網中人说得没错,交流是互动的,有时候是需要了解的对方的水平才能决定在什么程度上进行交流,呵呵^_^
至于桥防偶平时碰的少,基本都是关防,呵呵~长见识了~~~

 弱智 回复于:2003-11-06 23:37:11
[quote:e6d9ce5fd1="platinum"]是这样的,以前的QQ叫OICQ,连接服务器的8000端口,协议是UDP,但后来又多了好多会员什么的,他们有的可以用TCP协议,有的甚至直接走HTTP,也是80端口,所以根本没什么头绪。

再者,网上随便一找就可以找到SOCKET..........[/quote:e6d9ce5fd1]

4000~4010
5000~5010
8000~?

最好是封锁tecent的地址段,可是,怎么知道他完全的地址段呢?

 Vogel 回复于:2003-11-07 03:19:46
网中人大哥,谢谢你得网站,我找到了找了好久的关于电脑硬件的资料
另外:你怎么这么喜欢繁体啊!好麻烦阿!你的那个freebsd入魔我就看不了,郁闷!

 platinum 回复于:2003-11-07 08:30:55
[quote:da0876ead6="弱智"]

4000~4010
5000~5010
8000~?

最好是封锁tecent的地址段,可是,怎么知道他完全的地址段呢?[/quote:da0876ead6]

是这样的,实际上LISTEN的端口是有很多的,协议也有TCP和UDP之分,如果用的是HTTP(会员),则会CONNECT一个IP的80端口,这样就更难办了,加之SOCKET起作用的话,端口范围就更是没有边际了,IP也是没有边际,无从下手。

但是,我做过一个实验,发现这样一个规律,但最新的QQ我没试过,不知道是不是还试用,我的方案如下:

首先,先说老版本QQ,当时可以多开,开的第一个在本地的端口为4000,第二个为4001……依次类推,当时如果有能看IP的QQ的话,一看对方端口是400X就知道对方当时开了X+1个QQ。

再者,后来新QQ改成本地端口5000了,原理同上。

再再者,呵呵,现在的QQ好象不能多开了。如果是直接上INTERNET,端口好象还是5000,但如果是FIREWALL做NAT出去的话,端口有的会变的乱七八糟,一般都不整,或者1XXX,或者5XXXX,网内那台机器的本地端口还是5000,所以我得出了上面的方案。

另外还有两点要说
1、我没具体看是TCP协议还是UDP,现在这两种好象都可以了,原来只有TCP
2、如果没开QQ而有某些连接进程分配到了本地端口,正好是4000-4010 OR 5000-5010,那么这些程序可就惨了,呵呵!

 mirnshi 回复于:2003-11-07 08:46:19
[quote:eb21cfff54="q1208c"]能给小弟说说桥式防火墙是什么吗?让俺也长长见识。[/quote:eb21cfff54]
一般的防火墙都是基于IP层的,也就是对呀的2网卡,必须有自己的IP地址,这样,网内或网外的机器才能通过防火墙互相访问。而对于桥式的防火墙,名义上没有IP地址,它通过包传递的方式将互相通讯的数据包传递到另一网卡/网络上,这样对于网内或网外的机器均感觉不到有防火墙的存在(无法看到防火墙的IP地址),但是在防火墙上可以设置规则,控制数据包的传递。实现的机理就是网桥的原理。如果你已经存在一个网关、路由器,就可以在不改动拓扑结构的情况下,增加防火墙。

 victor_wu_623 回复于:2003-11-07 09:03:15
请问bridge-nf-0.0.7-against-2.4.19.diff这个是什么东西,怎么用啊?

 victor_wu_623 回复于:2003-11-07 13:06:02
我用tcpdump kisten br_1
当我打开www.study-area.org(163.16.1.199)网页的时候
得到:
163.16.1.199.http>192.168.28.10.1333:F199:199(0) ack 363 win 6432(DF)
163.16.1.199.http>192.168.28.10.1334:.ack368 win 6432 (DF)
192.168.28.10.1333>163.16.1.199.http:.ack200 win 16626 (DF)
192.168.28.10.1333>163.16.1.199.http:F 363:363(0) ack 200 win 16626 (DF)
我上QQ的时候:
192.168.28.10.4001>61.141.194.204.8000:udp 108
61.141.194.204.8000>192.168.28.10.4001:udp 160(DF)
192.168.28.10.4001>61.141.194.204.8000:udp 28
61.141.194.204.8000>192.168.28.10.4001:udp 224(DF)
请帮我分析一下!

 platinum 回复于:2003-11-07 13:24:27
study-area.org的IP是163.16.1.199,你浏览的时候本地端口为1333和1334

你连QQ的时候,服务器地址是61.141.194.204,端口8000,协议UDP
本地端口为4001,进行了2次握手

 双眼皮的猪 回复于:2003-11-07 20:08:32
这帖子热。。。
好的很。。。

我呆会具体看。。
这里我找到一篇文章,不知道您看过没...

顶起来!!!!!!!!!!!!!!!


http://www.linuxeden.com/edu/doctext.php?docid=2374

 双眼皮的猪 回复于:2003-11-07 20:52:24
本机端口应该不是固定的吧  

早期的QQ client端口的确是从4000开始开,然后开一个就递增 ...

现在的我就不知道了....

[quote:9be06b14d5]

--------------------------------------------------------------------------------
 
study-area.org的IP是163.16.1.199,你浏览的时候本地端口为1333和1334 

 
[/quote:9be06b14d5]
其实在浏览网站的时候。你本地所开的端口是不固定的,也就随机开一个端口出来,不信的话,你可以打开你的win2k中的ipsec,这样你过滤掉除了80,1333,1334之外的其他端口,UDP也一样,我相信你上不了网,为什么呢?这其中是DNS受害者...
因为本机是打开一个随机的udp端口来与web server的80端口来通讯
,client的端口并不是固定的...
QQ我就不清楚了,在访问www server的时候,本机所开的端口不定。你可以在cmd模式下看netstat -an
很多端口都不是我们通常所使用的80啊什么的...

一点拙见,有错误请指点...谢谢....

 platinum 回复于:2003-11-07 22:36:33
QQ是QQ,晕!
我看了,如果默认的话,基本上都是UDP协议连8000端口,本地都是4000,现在的QQ不允许重复登陆(同帐号),多帐号我没试过,因为没那么多。

我为什么说QQ是QQ呢?
因为QQ程序寻找4000端口作为自己的本地端口,这是它约定俗成的,何不利用?
WEB浏览时就不一样了,它是随机找一个空闲的作为本地连接端口。

 双眼皮的猪 回复于:2003-11-09 15:07:01
你浏览的时候本地端口为[color=red:e63697febb]1333[/color:e63697febb]和[color=red:e63697febb]1334 [/color:e63697febb]


我的意思是说你这句话是错的...
并不一定是1333或1334....

 platinum 回复于:2003-11-09 18:51:59
晕,我又没说它是固定的,我前面说了,是随机分配的啊!你怎么不看就发言!

QQ的4000到是固定的,这和程序本身有关系

 双眼皮的猪 回复于:2003-11-09 18:54:55
我当然看过了才发言...
那是你在我指出来之后才说的..
你怎么不看就发言啊???

哈哈...

 platinum 回复于:2003-11-09 19:02:21
我看错了,我没说过那是随机的,但我没说每次上网浏览就是1333和1334端口啊,猪猪不要曲解我的意思哦……

 双眼皮的猪 回复于:2003-11-09 19:07:51
....知道了....

 victor_wu_623 回复于:2003-11-10 10:52:07
你们知道怎么用XP远程登陆linux吗?

 victor_wu_623 回复于:2003-11-11 16:58:08
我顶

 arcsiny 回复于:2003-11-11 19:02:25
呵呵,好热闹,正好小弟最近在看mac filter的东西,顺路说两句,权且起抛砖引玉的作用吧.
以前的防火墙几乎都基于第三层,不过在最新的2.6内核里已经加上了一项ebtables(ethernet bridge tables),这个在2.5中就有,2.4内核要用的话要加个patch.用它可以轻松实现第二层的过滤,改变mac地址 etc.
前面有哪位兄台提到了一个br-nf**的就是这个补丁,实际上有两个:ebtables-v2.0.003_vs_2.4.20.diff  && bridge-nf-0.0.10-against-2.4.20.diff.
主要功能(我的理解) 第一个就是正常的补丁,而第二个则实现bridge netfilter,而且在source code中bridge filter和 iptables联系了起来,大家有兴趣可以看一下.

 skymake 回复于:2003-11-12 13:48:04
網中人:
http://www.study-area.org/linux/servers/linux_nat.htm 是阁下文章?是篇好文。够具体的。你应该拿到这贴贴。可以帮到不少人的。
   至於桥式防火墙我在 Linuxaid上看过一二篇,也是不错的。具体实施是加上补丁后,利用 iptables作控制,挺不错的。不过我没有实施过。
   上面都是废话。我想和阁下学学嵌入式系统。不知阁下能否帮帮忙。介绍一下有关资料。谢谢!!!

 網中人 回复于:2003-11-13 01:31:03
啊~~~ linux embedded system 可是大學問,小弟也是門外漢啦...
因為自己較少涉獵這方面,所以也不能為你介紹些啥。甚為抱歉。

 deadcat 回复于:2003-11-17 23:12:04
台湾的朋友好谦虚呀~~

偶正在做网桥防火墙(就算是吧),没用别的
linux+iptables,双网卡就可以了吧~不知道对不对

 bb8848 回复于:2003-11-23 22:27:58
这里有啊
http://cldp.linuxforum.net/MiniHOWTO/network/Ethernet-Bridge-netfilter-HOWTO/index.html

 thinmonkey 回复于:2003-12-10 10:06:20
:oops: 
QQ的普通用户认证过程大致可分两步,

一。通过UDP 8000端口,
    
    没隔7秒发送一个认证包,就是说,从客户端4000端口向服务器的8000端口发送,如果通讯失败,7秒后从4001发往8000,依次类推,直到连接超时。

二。如果UDP通讯失败了,就通过443端口

-------------------------------------------------

我现在最想知道的是,QQ发送的认证数据包的结构是什么,有什么方法可以知道?希望大哥们不吝赐教。

原文转自:http://www.ltesting.net