免费注册 查看新帖 |

Chinaunix

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

[FreeBSD] ipfw+pf双防火墙规则生效顺序 [复制链接]

论坛徽章:
0
发表于 2013-04-24 18:13 |显示全部楼层
以下内容可能有错误的地方,欢迎指正。

同时开启两个防火墙让数据包每次通过两个防火墙,性能肯定会下降。但在bsd系统中,这两个防火墙都有自己独到的功能。ipfw可以实现自动单ip限速功能(主要是用dummynet实现,但dummynet一般情况下要用ipfw来操作,所以也得打开ipfw防火墙)。pf可以实现多线路负载均衡。这两个防火墙结合起来,可以作中、小规模共享上网网络的网关。ipfw+dummynet负责限速,pf负责包过滤和多线路(宽带、光纤)nat负载均衡。

freebsd内核配置中加入以下参数,同时支持PF+ALTQ和IPFW+DUMMYNET双防火墙及流量控制。
# Packet Filter and ALTQ
device                pf
device                pflog
device                pfsync

options                ALTQ
options                ALTQ_CBQ
options                ALTQ_RED
options                ALTQ_RIO
options                ALTQ_HFSC
options                ALTQ_PRIQ
options                ALTQ_NOPCC

# IPFireWall and DUMMYNET support
options                IPFIREWALL
options                IPFIREWALL_FORWARD
options                IPFIREWALL_NAT
options                IPFIREWALL_VERBOSE
options                IPFIREWALL_VERBOSE_LIMIT=10
options                IPFIREWALL_DEFAULT_TO_ACCEPT
options                DUMMYNET
options                LIBALIAS

sysctl中net.inet.ip.fw.one_pass为1

数据包经过双防火墙的顺序或者规则执行顺序,经过实验初步判断如下。
顺序从上到下。
同一行不分先后。
filter是指过滤规则如pass、allow、block、deny。
ipfw的nat是用的内核级的libalias。

pf in rdr
pf in filter                        (pf和ipfw进入方向的过滤规则没确定先后)
ipfw in filter redirect fwd
ipfw out filter nat                (出去方向的包过滤及nat规则)
pf out nat
pf out filter



流量控制方面,dummynet可以在进出两个方向抓取数据包,altq则只能在接口外出方向进行处理。
两者可以同时运行。但实验结果表明两者同时运行会有问题,流量会降到很低。

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP