跳过导航链接 | |
退出打印视图 | |
手册页第 1M 部分:系统管理命令 Oracle Solaris 11 Information Library (简体中文) |
- 更改 IP 包输入和输出的包过滤列表
ipf [-6AdDEInoPRrsvVyzZ] [-l block | pass | nomatch] [-T optionlist] [-F i | o | a | s | S] -f filename [-f filename...]
ipf 实用程序属于与 Solaris IP 过滤器功能关联的一套命令。请参见 ipfilter(5)。
ipf 实用程序打开列出的文件名(将连字符 (-) 视为 stdin)并针对要在包过滤器规则集合中添加或删除的规则集解析该文件。
如果没有解析问题,则会将 ipf 处理的每个规则添加到内核的内部列表中。规则将被添加到内部列表的末尾,并按提供给 ipf 时的先后顺序排列。
只能通过 /dev/ipauth、/dev/ipl 和 /dev/ipstate 访问 ipf。这些文件的缺省权限要求 ipf 以 root 的身份运行才能执行所有操作。
Solaris IP 过滤器随 Solaris 操作系统一起安装。但是,缺省情况下不启用包过滤。可以使用以下过程激活 Solaris IP 过滤器功能。
担任一个具有 "IP Filter Management"(IP 过滤器管理)权限配置文件的角色(请参见 rbac(5))或成为超级用户。
配置系统和服务的防火墙策略。请参见 svc.ipfd(1M) 和 ipf(4)。
(可选)创建网络地址转换 (network address translation, NAT) 配置文件。请参见 ipnat.conf(4)。
(可选)创建地址池配置文件。请参见 ippool(4)。
如果要将一组地址作为单个地址池引用,请创建 ipool.conf 文件。如果希望在引导时装入地址池配置文件,请创建一个名为 /etc/ipf/ippool.conf 的文件,在其中放置地址池。如果不希望在引导时装入地址池配置文件,请将 ippool.conf 文件放置在 /etc/ipf 之外的位置,然后手动激活这些规则。
启用 Solaris IP 过滤器,如下所述:
# svcadm enable network/ipfilter
要在临时禁用包过滤功能后重新启用,请重新引导计算机或输入以下命令:
# svcadm enable network/ipfilter
...这本质上是执行以下 ipf 命令:
启用 Solaris IP 过滤器:
# ipf -E
装入 ippools:
# ippool -f <ippool configuration file>
请参见 ippool(1M)。
(可选的)激活包过滤:
ipf -f <ipf configuration file>
(可选的)激活 NAT:
ipnat -f <IPNAT configuration file>
请参见 ipnat(1M)。
注 - 如果重新引导系统,IPfilter 配置会自动激活。
所支持的选项如下:
要解析并装入 IPv6 规则,此选项是必需的。IPv6 规则的装入将来可能会有更改。
设置列表以更改活动列表(缺省)。
打开调试模式。使得它在处理每个过滤器规则时生成过滤器规则的十六进制转储。
禁用过滤器(如果已启用)。对可装入的内核版本无效。
启用过滤器(如果已禁用)。对可装入的内核版本无效。
指定要刷新的过滤器列表。参数应该为 i(输入)、o(输出)或 a(删除所有过滤器规则)。可以使用单个字母或以相应字母开头的整个单词。此选项可以放在任何其他选项之前或之后,选项在命令行上的顺序确定了用来执行选项的顺序。
要刷新状态表中的条目,可将 -F 选项与 s(删除关于任何非完全建立的连接的状态信息)或 S(删除整个状态表)一起使用。只能指定这两个选项中的一个。完全建立的连接将会在 ipfstat -s 输出中显示为 4/4,这两个方面中任何一个有偏差都表示连接不是完全建立的。
指定 ipf 应当从哪些文件获取输入来修改包过滤器规则列表。
设置列表以更改非活动的列表。
切换包的缺省日志记录。此选项的有效参数为 pass、block 和 nomatch。如果设置了某个选项,则会记录退出了过滤并且与所设置的类别匹配的任何包。这最适用于记录与所装入的任何规则都不匹配的所有包。
防止 ipf 进行任何 ioctl 调用或执行会更改当前运行的内核的任何操作。
强制在缺省情况下将规则添加到输出列表(或从中删除规则),而不是在(缺省)输入列表中执行这些操作。
将规则添加为验证规则表中的临时条目。
同时禁用“IP 地址到主机名”解析和“端口号到服务名称”解析。
删除匹配的过滤器规则,而不是将它们添加到内核列表中。
使当前活动的过滤器列表成为备用列表。
允许 IPFilter 内核变量的运行时更改。要允许更改,某些变量要求 IPFilter 处于禁用状态 (-D),另一些变量则不要求。optionlist 参数是以逗号分隔的调优命令列表。调优命令是以下项之一:
检索内核中所有变量的列表、它们的最大值、最小值和当前值。
检索它的当前值。
设置一个新值。
示例如下:
# Print out all IPFilter kernel tunable parameters ipf -T list # Display the current TCP idle timeout and then set it to 3600 ipf -D -T fr_tcpidletimeout,fr_tcpidletimeout=3600 -E # Display current values for fr_pass and fr_chksrc, then set # fr_chksrc to 1. ipf -T fr_pass,fr_chksrc,fr_chksrc=1
打开详细模式。显示与规则处理相关的信息。
显示版本信息。这将显示编译为 ipf 二进制代码的版本信息并从内核代码中检索该信息(如果正在运行或存在)。如果它存在于内核中,将会显示有关它的当前状态的信息;例如,日志记录是否活动、缺省过滤等。
手动将由 IP 过滤器维护的内核中接口列表与当前接口状态列表重新同步。
对于输入文件中的每个规则,将它的统计信息重置为零并显示在它们归零前的统计信息。
使内核中保留的仅用于过滤的全局统计信息归零。这不会影响片段或状态统计信息。
指向 IP 过滤器伪设备的链接。
ipf 启动配置文件的位置。请参见 ipf(4)。
包含大量的 IP 过滤器示例。
有关以下属性的说明,请参见 attributes(5):
|
ipfstat(1M)、ipmon(1M)、ipnat(1M)、ippool(1M)、svcadm(1M)、svc.ipfd(1M)、ipf(4)、ipnat.conf(4)、ippool(4)、attributes(5)、ipfilter(5)
需要以 root 的身份运行才能实际在内核中影响包过滤列表。