分页: 1 / 1

《The BOOK Of PF》中文版 —— 6. 从pfctl获取统计信息

发表于 : 2010-07-13 9:07
whoami
OpenBSD的防火墙PF —— 6. 从pfctl获取统计信息
上面你刚进行的测试显示PF已经按我们希望的那样正常运行了, 在其他环境中你可能希望检查一下PF的实际运行情况以及活动状态。
除了启用和停止PF以及导入规则集, pfctl还可以显示很多类型的信息。 要了解这些信息, 你可以使用pfctl -s再加上你要显示的信息类型。
下面的例子来自我写这本书时我家里的网关:

代码: 全选

$ sudo pfctl -s info
Status: Enabled for 17 days 00:24:58 Debug: Urgent
Interface Stats for ep0                     IPv4               IPv6
Bytes In                              9257508558                  0
Bytes Out                              551145119                352
Packets In
  Passed                                 7004355                  0
  Blocked                                  18975                  0
Packets Out
  Passed                                 5222502                  3
  Blocked                                     65                  2
 
State Table                                Total               Rate
current entries                               15
searches                                19620603             13.3/s
inserts                                   173104              0.1/s
removals                                  173089              0.1/s
Counters
match                                     196723              0.1/s
bad-offset                                     0              0.0/s
fragment                                      22              0.0/s
short                                          0              0.0/s
normalize                                      0              0.0/s
memory                                         0              0.0/s
bad-timestamp                                  0              0.0/s
congestion                                     0              0.0/s
ip-option                                     28              0.0/s
proto-cksum                                  325              0.0/s
state-mismatch                               983              0.0/s
state-insert                                   0              0.0/s
state-limit                                    0              0.0/s
src-limit                                     26              0.0/s
synproxy                                       0              0.0/s
第一行说明PF已经启用并运行了两周多了, 也就是我上次Upgrade到最新的snapshot的时间 (是的, 那个时候我家里的网关运行着OpenBSDcurrent)。
这里的信息差不多就是你在仅应用IPV4的小型网络的网关上要了解的统计信息。请参说明4。
此时, 你也许想花费一些时间了解一下pfctl和你的配置。就像我们前面暗示的那样, pfctl是一个非常强大的工具,它提供了很多选项。 例如,

代码: 全选

pfctl -s all 
显示PF的所有信息。你可以看一下。你也可以试试其它的pfctl的选项。运行

代码: 全选

man 8 pfctl 
将显示pfctl命令的详细用法。
根据上一个规则, 你的独立主机应该可以很好地与其它连接到Internet上的主机通讯。这个很简单的规则集是你控制自己网络通信的良好开端。这本书的最重要的议题就是告诉你如何控制你的网络。 这本书的余下部分从各个方面讨论如何根据你自己的需要通过扩展你的规则集来地严格控制你网络的通讯。
不过,这里还有一些遗漏,你可能想添加一些规则,即使没有其它原因,这里至少要允许某些ICMP和UDP通讯通过—为了自己的网络错误排查。
根据前面的情况, 你应该开始考虑可能影响你安全的那些网络服务, 例如ftp。 即使有最新最安全的选项可用, 也不如不开启这些服务安全, 你不得不处理这些类型的服务。尽管在一台个人独立主机上,你现在并非一定要这样做, 可是一旦你你需要为多台计算机和很多人的网络设置网关时,考虑安全问题就变得尤为重要了。
使用包过滤来有效地处理这些有安全要求的服务是本书从头至尾的中心思想。
说明4
别担心在IPv6那栏里有三个packets通过和两个被阻止。在OpenBSD里内置了IPv6的支持, 而在配置网络接口时, 为了本地默认的链接地址,TCP/IP堆栈发送IPv6 neighbor solicitation requests。在一个普通的IPv4-only的配置里, 实际上仅有开始的少量数据包通过, 而当我们的PF规则集全部加载后, 剩下的两个数据包则被我们默认的block all规则阻挡了。