首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>网络管理>网络安全>正文

FreeBSD上编译安装防火墙并设置限速

http://www.oklinux.cn  2009-08-16  www.bigsea.com.cn/archives/801/    会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

FreeBSD 的基本系统内建了三种不同的防火墙软件包。 它们是 IPFILTER (也被称作 IPF)、 IPFIREWALL (也被称作 ipfw), 以及 OpenBSD 的 PacketFilter (也被称为 PF)。 freebsd 也提供了两个内建的、 用于流量整形 (基本上是控制带宽占用) 的软件包: altq(4) 和 dummynet(4)。 Dummynet 在过去一直和 IPFW 紧密集成, 而 ALTQ 则需要配合 IPF/PF 使用。

花了两天时间琢磨一下防火墙限速的配置方法,目前配置过的防火墙主要是IPF和IPF,限速的软件包配置的是Dummynet(配合IPFW使用)和ALTQ(配合IPF使用)。

一、配置IPFW Dummynet

IPFIREWALL (IPFW) 是一个由 FreeBSD 发起的防火墙应用软件, 它由 FreeBSD 的志愿者成员编写和维护。标准的 FreeBSD 安装中, IPFW 所给出的规则集例子 (可以在 /etc/rc.firewall 中找到) 非常简单,以至于没有办法不加修改地加以使用。IPFW 由几部分组成, 其主要组件是内核的防火墙过滤规则处理器,及其集成的数据包记帐工具、 日志工具、 用以触发 NAT 工具的 'divert' (转发) 规则、 高级特殊用途工具、 dummynet 流量整形机制, 'fwd rule' 转发工具, 桥接工具, 以及 ipstealth 工具。IPFW 是基本的 FreeBSD 安装的一部分, www.adbrite.cc以单独的可加载内核模块的形式提供。 如果在 rc.conf 中加入 firewall_enable="YES" 语句, 就会自动地加载对应的内核模块。 除非您打算使用由它提供的 NAT 功能, 一般情况下并不需要把 IPFW 编进 FreeBSD 的内核。不过我刚开始安装防火墙时没有注意到这句话,所以选择的是编译内核的方式。

# cd /usr/src/sys/i386/conf

# cp GENERIC ipfw //备份原有内核的配置文件

#ee ipfw
在ipfw中做以下修改:
ident ipfw

添加以下选项:
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMITS=5
options IPFIREWALL_DEFAULT_TO_ACCEPT
options DUMMYNET

#diff GENERIC ipfw //查看原有的内核文件与ipfw的区别
25c25
< ident GENERIC
---
> ident ipfw
59a60,66
>
> options IPFIREWALL
> options IPFIREWALL_VERBOSE
> options IPFIREWALL_VERBOSE_LIMIT=5
> options IPFIREWALL_DEFAULT_TO_ACCEPT
> options IPDIVERT
> options DUMMYNET

#/usr/sbin/config ipfw

#cd ../compile/ipfw //根据配置文件生成/usr/src/sys/i386/ipfw下的内核源程序文件

# make depend

# make

#make install //编译安装新内核

修改/etc/rc.conf,添加以下选项:
firewall_enable="YES" //启用防火墙
firewall_script="/etc/ipfw.rules" //读取防火墙规则
firewall_logging="YES" //记录日志
firewall_type="open" //选择防火墙使用open模式
################################################################################### open -允许任何人进入
# client -只保护这台机器
# simple -保护整个网络
# closed -除了lo0接口上的服务,禁用其它任何IP服务
# UNKNOWN -不加载防火墙规则
# filename -加载给定文件中的规则(要指定完全路径)
##################################################################################

编写防火墙规则:

#ee /etc/ipfw.rules
/sbin/ipfw add 100 pipe 1 ip from any to any out //设定流出的流量
/sbin/ipfw add 200 pipe 2 ip from any to any in //设定流入的流量
/sbin/ipfw pipe 1 config bw 1Mbit/s //设定流出流量的带宽为1Mbit/s
/sbin/ipfw pipe 2 config bw 1Mbit/s //设定流入流量的带宽为1Mbit/s

最后重启机器:
# reboot

现在防火墙已经启动起来了。可以用ipfw show查看当前的防火墙规则:
# ipfw show
00100 69 7973 pipe 1 ip from any to any out
00200 91 15534 pipe 2 ip from any to any in
65535 0 0 allow ip from any to any

此时可以做一个小实验来测试限速是否有效。从另一台机器向安装了ipfw的机器发送流量, 测试发出的流量和收到的流量之间是否有差距;然后再反过来,从安装ipfw的机器向其他机器发送流量,在两台机器上监控发送和接收的流量,比较流量的变化情况。此处发送流量的程序是预先调试好的,不同的程序分别可发送的流量是不同的。经过测试证明,防火墙的限速还是有效果的。

注:防火墙加载有两种方式,可以在/etc/rc.conf中写入启用防火墙的选项,也可以将防火墙选项写入内核的配置文件,重新编译安装内核。编译内核的方式一般是需要要用到防火墙的NAT功能是采用。www.adbrite.cc但是如果要使用防火墙的限速功能,需要在内核中加载带宽整形模块。IPFW相对应的模块是Dummynet,这个模块需要在内核中写入,并且编译。有一种办法未尝试,即将防火墙写入/etc/rc.conf。将内核配置文件中只加入Dummynet,然后编译,安装内核。有时间可以尝试一下。

共3页: 上一页 1 [2] [3] 下一页

上一篇:libxml2栈溢出和释放后使用漏洞   下一篇:Ubuntu 9.10 Alpha4发布:将Firefox 3.5作为默认浏览器

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·libxml2栈溢出和释放后使用漏洞
·Linux Kernel posix-timers.c空指针引用拒绝服务漏洞
·保障Linux的临时文件安全
·Linux环境下用Iptraf监控网络流量效果非常好
·IBM AIX libC XL C 运行时库本地权限提升漏洞
·探索恶意软件:百万Linux内核模拟僵尸网络
·FreeBSD IATA驱动本地拒绝服务漏洞
·Fedora SSSD BE数据库空口令绕过认证漏洞
·Linux、Red Hat“赢”得Pwnie奖,绿坝提名
·Linux eCryptfs工具parse_tag_11_packet函数栈溢出漏
·Linux eCryptfs工具parse_tag_3_packet()函数堆溢出漏
·Sun Java系统访问管理器Policy Agent拒绝服务漏洞
·Linux ssh_key 基于KEY安全外壳协议
·Linux Kernel tun_chr_pool()函数空指针引用漏洞
·微软Linux内核留“后门” 虚拟化没彻底解决
·关于Linux 2.6 kernel udev 漏洞的检测及修补
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·libxml2栈溢出和释放后使用漏洞
·Linux Kernel posix-timers.c空指针引
·保障Linux的临时文件安全
·Linux环境下用Iptraf监控网络流量效果
·IBM AIX libC XL C 运行时库本地权限
·探索恶意软件:百万Linux内核模拟僵尸
·FreeBSD IATA驱动本地拒绝服务漏洞
·Fedora SSSD BE数据库空口令绕过认证漏
·Linux、Red Hat“赢”得Pwnie奖,绿坝
·Linux eCryptfs工具parse_tag_11_packe
·Linux eCryptfs工具parse_tag_3_packet
·Sun Java系统访问管理器Policy Agent拒
  阅读排行
·Ubuntu中UFW防火墙的安装及使用
·Ubuntu里安装配置防火墙
·Ubuntu下轻松安装小红伞杀毒软件
·SUSE Linux 默认的iptables防火墙配置
·Linux安全之网上惊现傻瓜型病毒制作工
·为Linux服务器部署高效防毒软件
·Linux下破解路由器WEP加密
·Linux下安装配置NTOP监视网络使用情况[
·CentOS Linux关闭防火墙
·通过Linux工具来全面保障无线网络安全
·Linux下Sniffer工具Tcpdump的安装和使
·常用log4j配置
·我的SUSE Linux防火墙配置笔记
·Linux主机防DDOS和CC攻击的方案探析
·linux 下使用tc的相关概念
网摘收藏: