DIY抗DDOS的防火墙,(安装调试日记,经常更新)请高手指点。。
我想用,FREEBSD做一个,网桥试的防火墙,放DDOS的,应用与网吧,以前没做过,想高手们教教。现在网吧被DDOS的几率很大了,黑洞和金盾又用不了,所以打算自己做一个X86的,能抗个100-200MB就够了,
经过系统的选择,ROS只有syn cooke 考虑到LINUX不带Syn Proxy
所以觉得使用BSD,经过几个小时的资料查阅,了解到OPENBSD的帮助太少了,所以决定使用FREEBSD,据说很多硬墙也是用的这办法。。。
以前对FREEBSD的认识支持停留在,能够装起的程度上,看来要冲冲电啦。。发扬开源精神,希望大家和我一起成长。
今天把把FREEBSD 6。1在VM上装好了
我用了三块网卡,
BSD# ifconfig
lnc0: flags=108843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,NEEDSGIANT> mtu 1500
inet6 fe80::20c:29ff:fe74:ca43%lnc0 prefixlen 64 scopeid 0x1
inet 192.168.2.100 netmask 0xffffff00 broadcast 192.168.2.255
ether 00:0c:29:74:ca:43
lnc1: flags=108802<BROADCAST,SIMPLEX,MULTICAST,NEEDSGIANT> mtu 1500
ether 00:0c:29:74:ca:4d
lnc2: flags=108802<BROADCAST,SIMPLEX,MULTICAST,NEEDSGIANT> mtu 1500
ether 00:0c:29:74:ca:57
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
inet 127.0.0.1 netmask 0xff000000
打算用LNC0做控制段卡,
然后把lnc1和lnc2和做成一个桥.
现在去找把网卡配置成桥的配置文件。。。。
sysctl.conf
[ 本帖最后由 peterchen 于 2006-12-24 00:09 编辑 ] sysctl.conf
这个。。。我找到了一个配置。。。
net.link.ether.bridge_cfg=lnc1:1,lnc2:1:把这两个网卡做成一个桥
net.link.ether.bridge=1 :启动桥模式
net.link.ether.bridge_ipfw=1 :使用IPFW来转发。。 忘了一个。。
好象要在内核配置文件上加一个
options BRIDGE
但是我不知道,内核配置文件在那里。。。郁闷中。。。继续去baidu 经过半个小时的搜索,发现我还没安装内核,通过sysinstall,安装了,现在/usr/src/sys/i386/conf
现在有文件咯。。。。
编译内核 我已经在/usr/src/sys/i386/conf/GENERIC上加上了options BRIDGE
但是我是在VM环境下的,我如何测试我是做好了的啦?郁闷。。。。 今天是平安夜,,今天去电脑城买了两张82559网卡,准备在真机上装一个BSD平台,
机器配置如下,
CPU:P4 2。8
主版:intel 101GGC
网卡:两张82559,一张主版载的8139
预打算安装系统是,FREEBSD 6。1
应用平台目的,做一个BSD平台的网桥,使用IPFW来挂载Syn Proxy功能,达到防止SYN类型的DDOS。 刚发现一个严重的问题,我的空白光盘用完了,,,,,,经过半个小时的寻找,终于在我的光盘包发现一张FREEBSD 5。2,,,凑合做用吧。。。开始装系统了。。。又会看到那熟悉的安装界面了。。。 呵呵,分享你的经验,支持你的帖子 问题,又来了,我已经该好了GENERIC了,但是我不知道编译
应用平台目的,做一个BSD平台的网桥,使用IPFW来挂载Syn Proxy功能,达到防止SYN类型的DDOS。
这个怎么实现呢? 刚犯了一个错误,我直接去编译generic了,算了,,我又重新装了一次系统。。。郁闷ING。。。
现在会编译内核心了,我以我的名字PETER建了一个/usr/sbin/configPETER
然后退到这个目录
../compile/PETER
然后在make depend
make
就看到屏幕一直翻。。。我觉得开始在编译了 等了大楷1分钟以后,,,结果
../../../i386/isa/npx.c:1032: warning: `npx_driver' defined but not used
../../../i386/isa/npx.c:1038: warning: `npx_devclass' defined but not used
*** Error code 1
Stop in /usr/src/sys/i386/compile/PETER.
认识字的人都知道,编译出错了,,,郁闷挨。。。 说这两个设备,没有使用,我E文不好,觉得好象是这个样子 找到了这个
# Floating point support - do not disable.
device npx
管他是啥,先禁用前面加个# ===> el
rm -f .depend
mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -I- -I. -I@ -I@/../includ
e/usr/src/sys/modules/el/../../i386/isa/if_el.c
===> ex
rm -f .depend
mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -I- -I. -I@ -I@/../includ
e/usr/src/sys/modules/ex/../../dev/ex/if_ex.c /usr/src/sys/modules/ex/../../de
v/ex/if_ex_isa.c /usr/src/sys/modules/ex/../../dev/ex/if_ex_pccard.c
===> exca
rm -f .depend
mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -I- -I. -I@ -I@/../includ
e/usr/src/sys/modules/exca/../../dev/exca/exca.c
===> idt
rm -f .depend
mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -I- -I. -I@ -I@/../includ
e/usr/src/sys/modules/idt/../../dev/idt/idt_pci.c /usr/src/sys/modules/idt/../
../dev/idt/idt_harp.c /usr/src/sys/modules/idt/../../dev/idt/idt.c
===> iir
rm -f .depend
mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -I- -I. -I@ -I@/../includ
e/usr/src/sys/modules/iir/../../dev/iir/iir.c /usr/src/sys/modules/iir/../../d
ev/iir/iir_ctrl.c /usr/src/sys/modules/iir/../../dev/iir/iir_pci.c
===> ips
rm -f .depend
mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -I- -I. -I@ -I@/../includ
e/usr/src/sys/modules/ips/../../dev/ips/ips.c /usr/src/sys/modules/ips/../../d
ev/ips/ips_pci.c /usr/src/sys/modules/ips/../../dev/ips/ips_disk.c /usr/src/sys/
modules/ips/../../dev/ips/ips_commands.c /usr/src/sys/modules/ips/../../dev/ips/
ips_ioctl.c
===> mly
rm -f .depend
mkdep -f .depend -a -nostdinc -DMLY_MODULE -D_KERNEL -DKLD_MODULE -I- -I. -I@
-I@/../include/usr/src/sys/modules/mly/../../dev/mly/mly.c
===> s3
rm -f .depend
mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -I- -I. -I@ -I@/../includ
e/usr/src/sys/modules/s3/../../dev/fb/s3_pci.c
===> vesa
rm -f .depend
mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -I- -I. -I@ -I@/../includ
e/usr/src/sys/modules/vesa/../../i386/isa/vesa.c /usr/src/sys/modules/vesa/../
../dev/syscons/scvesactl.c
FreeBSD#
这次好象没报错了。。。。