Articles of pf

FreeBSD jail中的FTP防火墙问题

我最近试图在我的一个FreeBSD服务器上设置jail,并且在尝试通过FTP下载FreeBSD软件包时遇到了奇怪的错误。 我在PF防火墙中有这些规则,允许在主机上下载软件包,它们工作的很好: ext_if = "bge0" # Allow downloads pass out log on $ext_if proto tcp to any port {20, 21, 22, 80, 443} # Special exception for FTP. pass out log on $ext_if proto tcp to any port > 49151 keep state 但是当我尝试从Jail内部安装软件包时,FTP连接就超时了。 我得到的错误消息是这样的: %pkg_add -vr bash [snipped FTP connection setup] >>> CWD pub/FreeBSD/ports/amd64/packages-8.1-release/Latest <<< […]

PF防火墙前端

我正在运行FreeBSD 9.2和PF防火墙。 我正在寻找更容易/更快的方式来添加和修改我的PF规则。 优选一个简单的networking用户界面。 有没有这样的软件? 我find了pfw,但是看起来死了。

使用pf.conf中的“include”语句来包含来自其他文件的某些部分

我希望能够从其他文件集包括我的pf.conf的一些部分。 例如,我将包括“设置超时”与另一个文件中的类似的语句。 使用锚点和“从文件加载锚点”语句将无济于事,因为锚点不能容纳这样的全局选项。

PF支持像IPFW一样转移吗?

我目前在3个专用防火墙服务器上使用IPFW,并且我想将它们转换为PF来实现其某些function,但是我需要转移工作。 具体而言,我正在开发数据包到自定义应用程序进行networking分析。 在PF中是否支持(或类似)?

命令为OS X Mavericks的传出数据包设置dscp / ToS值?

我想为通过端口22发送的所有数据包设置一个特定的DSCP(或ToS)值。我有一个iptables命令来这样做,但小牛只有相当于pfctl,我不知道如何将命令转换为PF。 谁能帮忙? 我怎样才能应用这个设置,但是使用pfctl而不是iptables: iptables -A OUTPUT -p tcp -m tcp –sport 22 -j DSCP –set-dscp 0x10 谢谢

PF防火墙规则的帮助

我有一段时间为FTP创build一个pf规则集。 我想要做的是: 只允许$ WHITELIST连接到FTP端口21 被动端口范围打开端口49152 – 65535 谁能帮我这个? 我努力了 : FTPWHITELIST =“localhost,XX.XX.XX.XX” 将$ EXT_IF proto tcp从{$ FTPWHITELIST}快速传递到XX.XX.XX.XX端口21保持状态 将$ EXT_IF proto tcp从{$ FTPWHITELIST}快速传递到XX.XX.XX.XX端口49512> <65535保持状态

如何使用包filter根据标志过滤TCP数据包

那么,我不知道如何问这个问题,但我知道你可以使用关键字标志来指定你想过滤的标志。 根据Packetfilter的文档: 要在评估规则期间让PF检查TCP标志,使用以下语法的flags关键字: 标志检查/屏蔽标志任何 掩码部分告诉PF只检查指定的标志,检查部分指定标题中的哪个(哪些)标志必须在“开”以便匹配发生。 使用any关键字可以在标题中设置标志的任意组合。 通过fxp0 proto tcp从任何端口ssh标志S / SA通过fxp0 proto tcp从任何端口ssh 由于S / SA标志是默认设置的,所以上述规则是等同的。这些规则中的每一个都传递了带有SYN标志的TCPstream量,而只查看SYN和ACK标志。 具有SYN和ECE标记的数据包将与上述规则相匹配,而具有SYN和ACK或恰好ACK的数据包则不会。 所以我理解了这个例子,为什么带有标志S和E的数据包可以通过(因为E标志没有被掩码SA考虑),为什么只有Ack标志的数据包不能通过防火墙。 我不明白的是,为什么标志S和A的数据包不能通过规则S / SA,如果标志S在数据包标题中是“开”的。 也许文档是不明确的? 对不起,如果这是一个愚蠢的问题或英文误解。 我想象它只能通过,如果它必须只有标志S.在集算术会是这样的: 标志在标题中必须是'on' – >标志(s)与被屏蔽的子集[pf doc]有关,只有标志必须在标题'on'上 – >标志(s)被掩盖的子集[我从给出的例子中理解的] 提前致谢!

只有在某个networking上时,才允许“打开”以太网stream量到OpenVPNstream量

我想在我的Mac OS X 10.8笔记本电脑上设置一个pf或ipfw防火墙规则,以便无线和有线networking上的所有通信限于在不在办公室时通过OpenVPN拨打“通话”。 在其他(更简单/更多)我的话: 只要不在192.168.68.*networking上使用我的无线或有线连接,禁止除OpenVPN连接之外的所有stream量。 一旦build立,允许通过OpenVPN接口的所有stream量。 允许通过无线或有线连接直接连接到192.168.68.*networking的所有通信。 感谢您对此的任何意见,我希望有一个自动/程序化的方式来做到这一点…

在FreeBSD上限制ftp与pf防火墙的连接

我想通过pf防火墙同时限制FTP连接到我的FreeBSD服务器。 例如,只有10个同时连接可能来自一个源IP的端口20或21。 我使用这个规则: pass in quick proto tcp from any to em0 port {20, 21} keep state (max-src-conn 10) 问题在于,每次上传或下载都会在完成时产生状态为FIN_WAIT_2:FIN_WAIT_2的状态条目。 只有在达到tcp.finwait超时时才会删除此状态。 这个FIN_WAIT状态中有10个不接受服务器新的数据连接。 当您尝试使用单个ftplogin顺序地下载或上载多个文件时,这是一个问题。 有没有人有一个很好的解决这个问题?

Mac OS X防火墙不是防火墙

我对运行10.8的Mac OS X Server的结果感到困惑。 我有一个应用程序在端口8000上运行Web服务器,我希望只能在本地主机上看到它。 这看起来非常适合GUI OS X防火墙,但打开它(并search其有限的选项)后,我仍然能够从远程计算机连接到端口8000。 打开防火墙后,我会自动为AFP,SSH,远程pipe理和屏幕共享打开端口,这些都不会影响8000 AFAIK。 我在这里错过了什么? 这是内置防火墙的工作,还是应该看看pf或ipfw?