【问题标题】:Will Netmap bridging break ipfw rule on FreeBSDNetmap 桥接会打破 FreeBSD 上的 ipfw 规则吗
【发布时间】:2016-03-30 14:10:19
【问题描述】:
我正在设置启用网络图(高性能桥接防火墙)。
问题是我是否使用 netmap 的桥接工具来桥接 em0 和 em1,
并设置 ipfw 规则来阻止一个 em0 上的某些类型的流量,它会起作用吗?
内核桥接在 ipfw 上运行良好,但速度很慢(未启用网络映射),我担心它是否缩短了防火墙规则,如果我查看实现,它对数据包过滤没有任何作用,只有一次em0 收到数据包会立即转发给 em1
netmap 桥接工具是bridge.c
【问题讨论】:
标签:
networking
firewall
freebsd
ipfw
【解决方案1】:
https://www.freebsd.org/cgi/man.cgi?query=netmap&sektion=4
当 NIC 处于网络映射模式时,操作系统仍会相信该接口
已启动并正在运行。操作系统为该 NIC 生成的数据包最终进入一个
netmap 环,另一个环用于将数据包发送到
操作系统网络堆栈。文件描述符上的 close(2) 删除
绑定,并将网卡返回到正常模式(重新连接数据
到主机堆栈的路径),或销毁虚拟端口。
NICs without native support can still be used in netmap mode through emu-
lation. Performance is inferior to native netmap mode but still signifi-
cantly higher than sockets, and approaching that of in-kernel solutions
such as Linux's pktgen.
PS:
您可以使用 ng_ipfw + ng_bridge 进行桥接和过滤 - 这是一个基于内核的快速解决方案