跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:IP 服务 Oracle Solaris 10 1/13 Information Library (简体中文) |
1. Oracle Solaris TCP/IP 协议套件(概述)
5. 配置 TCP/IP 网络服务和 IPv4 寻址(任务)
25. Oracle Solaris 中的 IP 过滤器(概述)
以下任务列表提供了与 IP 过滤器规则集合相关的过程。
表 26-4 使用 IP 过滤器规则集合(任务列表)
|
启用后,活动和非活动的包过滤规则集合都可以驻留在内核中。活动规则集合确定正在对传入包和传出包执行的过滤。非活动规则集合也存储规则,但不会使用这些规则,除非使非活动规则集合成为活动规则集合。可以管理、查看和修改活动和非活动的包过滤规则集合。
可以将 IP Filter Management(IP 过滤器管理)权限配置文件指定给您创建的角色。要创建该角色并将其指定给用户,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"。
# ipfstat -io
示例 26-2 查看活动的包过滤规则集合
以下示例显示装入到内核中的活动包过滤规则集合的输出。
# ipfstat -io empty list for ipfilter(out) pass in quick on dmfe1 from 192.168.1.0/24 to any pass in all block in on dmfe1 from 192.168.1.10/32 to any
可以将 IP Filter Management(IP 过滤器管理)权限配置文件指定给您创建的角色。要创建该角色并将其指定给用户,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"。
# ipfstat -I -io
示例 26-3 查看非活动的包过滤规则集合
以下示例显示非活动的包过滤规则集合的输出。
# ipfstat -I -io pass out quick on dmfe1 all pass in quick on dmfe1 all
如果要执行以下任一任务,请使用以下过程:
激活当前 IP 过滤器正在使用的包过滤规则集合之外的另一个包过滤规则集合。
重新装入最近已更新的同一过滤规则集合。
可以将 IP Filter Management(IP 过滤器管理)权限配置文件指定给您创建的角色。要创建该角色并将其指定给用户,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"。
如果要激活完全不同的规则集合,请在您选择的单独文件中创建一个新规则集合。
通过编辑包含该规则集合的配置文件来更新当前规则集合。
# ipf -Fa -f filename
filename 可以是包含新规则集合的新文件,也可以是包含活动规则集合的更新文件。
活动规则集合将从内核中删除。filename 文件中的规则将成为活动规则集合。
注 - 即使是要重新装入当前配置文件,也仍需发出该命令。否则,将继续使用旧规则集合,而不会应用更新的配置文件中的已修改规则集合。
请勿使用 ipf -D 或 svcadm restart 之类的命令来装入更新的规则集合。此类命令会在装入新规则集合之前禁用防火墙,从而会公开您的网络。
示例 26-4 激活不同的包过滤规则集合
以下示例说明如何在单独的配置文件 /etc/ipf/ipf.conf 中将一个包过滤规则集合替换为另一个包过滤规则集合。
# ipfstat -io empty list for ipfilter(out) pass in quick on dmfe all # ipf -Fa -f /etc/ipf/ipf.conf # ipfstat -io empty list for ipfilter(out) block in log quick from 10.0.0.0/8 to any
示例 26-5 重新装入更新的包过滤规则集合
以下示例说明如何重新装入当前处于活动状态且已更新的包过滤规则集合。在此示例中,使用的文件是 /etc/ipf/ipf.conf。
# ipfstat -io (Optional) empty list for ipfilter (out) block in log quick from 10.0.0.0/8 to any (Edit the /etc/ipf/ipf.conf configuration file.) # ipf -Fa -f /etc/ipf/ipf.conf # ipfstat -io (Optional) empty list for ipfilter (out) block in log quick from 10.0.0.0/8 to any block in quick on elx10 from 192.168.0.0/12 to any
可以将 IP Filter Management(IP 过滤器管理)权限配置文件指定给您创建的角色。要创建该角色并将其指定给用户,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"。
# ipf -F [a|i|o]
从规则集合中删除所有过滤规则。
删除传入包的过滤规则。
删除传出包的过滤规则。
示例 26-6 删除包过滤规则集合
以下示例显示如何从活动的过滤规则集合中删除所有过滤规则。
# ipfstat -io block out log on dmf0 all block in log quick from 10.0.0.0/8 to any # ipf -Fa # ipfstat -io empty list for ipfilter(out) empty list for ipfilter(in)
可以将 IP Filter Management(IP 过滤器管理)权限配置文件指定给您创建的角色。要创建该角色并将其指定给用户,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"。
在命令行上使用 ipf -f - 命令,将规则附加到规则集合。
# echo "block in on dmfe1 proto tcp from 10.1.1.1/32 to any" | ipf -f -
执行以下命令:
在所选的文件中创建规则集合。
将已创建的规则添加到活动规则集合。
# ipf -f filename
filename 中的规则将添加到活动规则集合的结尾。由于 IP 过滤器使用“最后一个匹配规则”算法,因此,除非使用 quick 关键字,否则所添加的规则将确定过滤优先级。如果包与包含 quick 关键字的规则匹配,则执行该规则的操作,且不检查后续规则。
示例 26-7 将规则附加到活动的包过滤规则集合
以下示例显示如何从命令行将规则添加到活动的包过滤规则集合。
# ipfstat -io empty list for ipfilter(out) block in log quick from 10.0.0.0/8 to any # echo "block in on dmfe1 proto tcp from 10.1.1.1/32 to any" | ipf -f - # ipfstat -io empty list for ipfilter(out) block in log quick from 10.0.0.0/8 to any block in on dmfe1 proto tcp from 10.1.1.1/32 to any
可以将 IP Filter Management(IP 过滤器管理)权限配置文件指定给您创建的角色。要创建该角色并将其指定给用户,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"。
# ipf -I -f filename
filename 中的规则将添加到非活动规则集合的结尾。由于 IP 过滤器使用“最后一个匹配规则”算法,因此,除非使用 quick 关键字,否则所添加的规则将确定过滤优先级。如果包与包含 quick 关键字的规则匹配,则执行该规则的操作,且不检查后续规则。
示例 26-8 将规则附加到非活动规则集合
以下示例显示如何将规则从文件添加到非活动规则集合。
# ipfstat -I -io pass out quick on dmfe1 all pass in quick on dmfe1 all # ipf -I -f /etc/ipf/ipf.conf # ipfstat -I -io pass out quick on dmfe1 all pass in quick on dmfe1 all block in log quick from 10.0.0.0/8 to any
可以将 IP Filter Management(IP 过滤器管理)权限配置文件指定给您创建的角色。要创建该角色并将其指定给用户,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"。
# ipf -s
使用此命令,可以在内核中活动和非活动的规则集合之间切换。请注意,如果非活动规则集合为空,则没有包过滤。
示例 26-9 在活动和非活动的包过滤规则集合之间切换
以下示例显示使用 ipf -s 命令如何导致非活动规则集合成为活动规则集合,并导致活动规则集合成为非活动规则集合。
运行 ipf -s 命令之前,ipfstat -I -io 命令的输出显示非活动规则集合中的规则。ipfstat -io 命令的输出显示活动规则集合中的规则。
# ipfstat -io empty list for ipfilter(out) block in log quick from 10.0.0.0/8 to any block in on dmfe1 proto tcp from 10.1.1.1/32 to any # ipfstat -I -io pass out quick on dmfe1 all pass in quick on dmfe1 all block in log quick from 10.0.0.0/8 to any
运行 ipf -s 命令后,ipfstat -I -io 和 ipfstat -io 命令的输出显示两个规则集合的内容已设置。
# ipf -s Set 1 now inactive # ipfstat -io pass out quick on dmfe1 all pass in quick on dmfe1 all block in log quick from 10.0.0.0/8 to any # ipfstat -I -io empty list for inactive ipfilter(out) block in log quick from 10.0.0.0/8 to any block in on dmfe1 proto tcp from 10.1.1.1/32 to any
可以将 IP Filter Management(IP 过滤器管理)权限配置文件指定给您创建的角色。要创建该角色并将其指定给用户,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"。
# ipf -I -Fa
此命令从内核中清除非活动规则集合。
注 - 如果随后运行 ipf -s,则空的非活动规则集合将成为活动规则集合。空的活动规则集合意味着不会执行过滤。
示例 26-10 从内核中删除非活动的包过滤规则集合
以下示例显示如何清除非活动的包过滤规则集以便删除所有规则。
# ipfstat -I -io empty list for inactive ipfilter(out) block in log quick from 10.0.0.0/8 to any block in on dmfe1 proto tcp from 10.1.1.1/32 to any # ipf -I -Fa # ipfstat -I -io empty list for inactive ipfilter(out) empty list for inactive ipfilter(in)
使用以下过程可以管理、查看和修改 NAT 规则。
可以将 IP Filter Management(IP 过滤器管理)权限配置文件指定给您创建的角色。要创建该角色并将其指定给用户,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"。
# ipnat -l
示例 26-11 查看活动的 NAT 规则
以下示例显示活动 NAT 规则集合的输出。
# ipnat -l List of active MAP/Redirect filters: map dmfe0 192.168.1.0/24 -> 20.20.20.1/32 List of active sessions:
可以将 IP Filter Management(IP 过滤器管理)权限配置文件指定给您创建的角色。要创建该角色并将其指定给用户,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"。
# ipnat -C
示例 26-12 删除 NAT 规则
以下示例显示如何删除当前 NAT 规则中的项。
# ipnat -l List of active MAP/Redirect filters: map dmfe0 192.168.1.0/24 -> 20.20.20.1/32 List of active sessions: # ipnat -C 1 entries flushed from NAT list # ipnat -l List of active MAP/Redirect filters: List of active sessions:
可以将 IP Filter Management(IP 过滤器管理)权限配置文件指定给您创建的角色。要创建该角色并将其指定给用户,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"。
在命令行上使用 ipnat -f - 命令,将规则附加到 NAT 规则集合。
# echo "map dmfe0 192.168.1.0/24 -> 20.20.20.1/32" | ipnat -f -
执行以下命令:
在所选的文件中创建其他 NAT 规则。
将已创建的规则添加到活动的 NAT 规则。
# ipnat -f filename
filename 中的规则将添加到 NAT 规则的结尾。
示例 26-13 将规则附加到 NAT 规则集合
以下示例显示如何从命令行将规则添加到 NAT 规则集。
# ipnat -l List of active MAP/Redirect filters: List of active sessions: # echo "map dmfe0 192.168.1.0/24 -> 20.20.20.1/32" | ipnat -f - # ipnat -l List of active MAP/Redirect filters: map dmfe0 192.168.1.0/24 -> 20.20.20.1/32 List of active sessions:
使用以下过程可以管理、查看和修改地址池。
可以将 IP Filter Management(IP 过滤器管理)权限配置文件指定给您创建的角色。要创建该角色并将其指定给用户,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"。
# ippool -l
示例 26-14 查看活动地址池
以下示例显示如何查看活动地址池的内容。
# ippool -l table role = ipf type = tree number = 13 { 10.1.1.1/32, 10.1.1.2/32, 192.168.1.0/24; };
可以将 IP Filter Management(IP 过滤器管理)权限配置文件指定给您创建的角色。要创建该角色并将其指定给用户,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"。
# ippool -F
示例 26-15 删除地址池
以下示例显示如何删除地址池。
# ippool -l table role = ipf type = tree number = 13 { 10.1.1.1/32, 10.1.1.2/32, 192.168.1.0/24; }; # ippool -F 1 object flushed # ippool -l
可以将 IP Filter Management(IP 过滤器管理)权限配置文件指定给您创建的角色。要创建该角色并将其指定给用户,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"。
在命令行上使用 ippool -f - 命令,将规则附加到规则集合。
# echo "table role = ipf type = tree number = 13 {10.1.1.1/32, 10.1.1.2/32, 192.168.1.0/24};" | ippool -f -
执行以下命令:
在所选的文件中创建其他地址池。
将已创建的规则添加到活动地址池。
# ippool -f filename
filename 中的规则将添加到活动地址池的结尾。
示例 26-16 将规则附加到地址池
以下示例显示如何从命令行将地址池添加到地址池规则集。
# ippool -l table role = ipf type = tree number = 13 { 10.1.1.1/32, 10.1.1.2/32, 192.168.1.0/24; }; # echo "table role = ipf type = tree number = 100 {10.0.0.0/32, 172.16.1.2/32, 192.168.1.0/24};" | ippool -f - # ippool -l table role = ipf type = tree number = 100 { 10.0.0.0/32, 172.16.1.2/32, 192.168.1.0/24; }; table role = ipf type = tree number = 13 { 10.1.1.1/32, 10.1.1.2/32, 192.168.1.0/24; };