Oracle Solaris : IP 过滤器与 Oracle Solaris : 一同安装。但是,缺省情况下不启用包过滤。使用以下过程可以激活 Oracle Solaris : IP 过滤器。
如果您的系统运行的是 Solaris 10 7/07 发行版或更高版本,请执行如何启用 Oracle Solaris : IP 过滤器过程(使用包过滤器钩子)。
承担拥有 IP 过滤器管理权限配置文件的角色,或者成为超级用户。
可以将 IP 过滤器管理权限配置文件指定给您创建的角色。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
启动所选的文件编辑器,然后编辑 /etc/ipf/pfil.ap 文件。
此文件包含主机上网络接口卡 (network interface card, NIC) 的名称。缺省情况下,这些名称已被注释掉。对传输要过滤的网络通信流量的设备名称取消注释。如果未列出您系统的 NIC 名称,则添加一行以指定 NIC。
# vi /etc/ipf/pfil.ap # IP Filter pfil autopush setup # # See autopush(1M) manpage for more information. # # Format of the entries in this file is: # #major minor lastminor modules #le -1 0 pfil #qe -1 0 pfil hme -1 0 pfil (Device has been uncommented for filtering) #qfe -1 0 pfil #eri -1 0 pfil #ce -1 0 pfil #bge -1 0 pfil #be -1 0 pfil #vge -1 0 pfil #ge -1 0 pfil #nf -1 0 pfil #fa -1 0 pfil #ci -1 0 pfil #el -1 0 pfil #ipdptp -1 0 pfil #lane -1 0 pfil #dmfe -1 0 pfil |
通过重新启动 network/pfil 服务实例,激活对 /etc/ipf/pfil.ap 文件所做的更改。
# svcadm restart network/pfil |
创建包过滤规则集。
包过滤规则集包含由 Oracle Solaris : IP 过滤器使用的包过滤规则。如果希望在引导时装入包过滤规则,请编辑 /etc/ipf/ipf.conf 文件以实现 IPv4 包过滤。对于 IPv6 包过滤规则,请使用 /etc/ipf/ipf6.conf 文件。如果不希望在引导时装入包过滤规则,请将这些规则放置在所选的文件中,然后手动激活包过滤。有关包过滤的信息,请参见使用 Oracle Solaris : IP 过滤器的包过滤功能。有关使用配置文件的信息,请参见创建和编辑 Oracle Solaris : IP 过滤器配置文件。
(可选)创建网络地址转换 (network address translation, NAT) 配置文件。
网络地址转换 (Network Address Translation, NAT) 不支持 IPv6。
如果要使用网络地址转换,请创建 ipnat.conf 文件。如果希望在引导时装入 NAT 规则,请创建一个名为 /etc/ipf/ipnat.conf 的文件,在其中放置 NAT 规则。如果不希望在引导时装入 NAT 规则,请将 ipnat.conf 文件放置在所选的位置中,然后手动激活 NAT 规则。
有关 NAT 的更多信息,请参见使用 Oracle Solaris : IP 过滤器的 NAT 功能。
(可选)创建地址池配置文件。
如果要将一组地址作为单个地址池引用,请创建 ipool.conf 文件。如果希望在引导时装入地址池配置文件,请创建一个名为 /etc/ipf/ippool.conf 的文件,在其中放置地址池。如果不希望在引导时装入地址池配置文件,请将 ippool.conf 文件放置在所选的位置中,然后手动激活这些规则。
一个地址池可以只包含 IPv4 地址和 IPv6 地址中的一种,也可以同时包含这两种地址。
有关地址池的更多信息,请参见使用 Oracle Solaris : IP 过滤器的地址池功能。
使用以下方法之一激活 Oracle Solaris : IP 过滤器:
启用 IP 过滤器并重新引导计算机。
# svcadm enable network/ipfilter # reboot |
如果无法在 NIC 上安全地使用 ifconfig unplumb 和 ifconfig plumb 命令,则需要重新引导。
通过使用 ifconfig unplumb 和 ifconfig plumb 命令启用 NIC。然后启用 IP 过滤器。必须检测接口的 inet6 版本,以便实现 IPv6 包过滤。
# ifconfig hme0 unplumb # ifconfig hme0 plumb 192.168.1.20 netmask 255.255.255.0 up # ifconfig hme0 inte6 unplumb # ifconfig hme0 inet6 plumb fec3:f849::1/96 up # svcadm enable network/ipfilter |
有关 ifconfig 命令的更多信息,请参见 ifconfig(1M) 手册页。