跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:IP 服务 Oracle Solaris 10 1/13 Information Library (简体中文) |
1. Oracle Solaris TCP/IP 协议套件(概述)
5. 配置 TCP/IP 网络服务和 IPv4 寻址(任务)
25. Oracle Solaris 中的 IP 过滤器(概述)
本节介绍如何使用 pfil STREAMS 模块激活或取消激活 IP 过滤器以及如何查看 pfil 统计信息。该过程只适用于运行下列 Solaris 发行版之一的系统:
Solaris 10 3/05 发行版
Solaris 10 1/06 发行版
Solaris 10 6/06 发行版
Solaris 10 11/06 发行版
以下任务列表提供了与配置 pfil 模块关联的过程。
表 26-3 使用 pfil 模块(任务列表)
|
IP 过滤器与 Oracle Solaris 一同安装。但是,缺省情况下不启用包过滤。使用以下过程可以激活 IP 过滤器。
可以将 IP Filter Management(IP 过滤器管理)权限配置文件指定给您创建的角色。要创建该角色并将其指定给用户,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"。
此文件包含主机上网络接口卡 (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
# svcadm restart network/pfil
包过滤规则集合包含由 IP 过滤器使用的包过滤规则。如果希望在引导时装入包过滤规则,请编辑 /etc/ipf/ipf.conf 文件以实现 IPv4 包过滤。对于 IPv6 包过滤规则,请使用 /etc/ipf/ipf6.conf 文件。如果不希望在引导时装入包过滤规则,请将这些规则放置在所选的文件中,然后手动激活包过滤。有关包过滤的信息,请参见使用 IP 过滤器的包过滤功能。有关使用配置文件的信息,请参见创建和编辑 IP 过滤器配置文件。
注 - 网络地址转换 (Network Address Translation, NAT) 不支持 IPv6。
如果要使用网络地址转换,请创建 ipnat.conf 文件。如果希望在引导时装入 NAT 规则,请创建一个名为 /etc/ipf/ipnat.conf 的文件,在其中放置 NAT 规则。如果不希望在引导时装入 NAT 规则,请将 ipnat.conf 文件放置在所选的位置中,然后手动激活 NAT 规则。
有关 NAT 的更多信息,请参见使用 IP 过滤器的 NAT 功能。
如果要将一组地址作为单个地址池引用,请创建 ipool.conf 文件。如果希望在引导时装入地址池配置文件,请创建一个名为 /etc/ipf/ippool.conf 的文件,在其中放置地址池。如果不希望在引导时装入地址池配置文件,请将 ippool.conf 文件放置在所选的位置中,然后手动激活这些规则。
一个地址池可以只包含 IPv4 地址和 IPv6 地址中的一种,也可以同时包含这两种地址。
有关地址池的更多信息,请参见使用 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) 手册页。
如果 /etc/ipf/ipf.conf 文件(或使用 IPv6 时的 /etc/ipf/ipf6.conf 文件)存在,则在引导时启用 IP 过滤器。如果需要在启用 IP 过滤器后在 NIC 上启用过滤,请使用以下过程。
可以将 IP Filter Management(IP 过滤器管理)权限配置文件指定给您创建的角色。要创建该角色并将其指定给用户,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"。
此文件包含主机上 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
# svcadm restart network/pfil
重新引导计算机。
# reboot
注 - 如果无法在 NIC 上安全地使用 ifconfig unplumb 和 ifconfig plumb 命令,则需要重新引导。
将 ifconfig 命令与 unplumb 和 plumb 选项一起使用,以启用要过滤的 NIC。必须检测每个接口的 inet6 版本,以便实现 IPv6 包过滤。
# ifconfig hme0 unplumb # ifconfig hme0 plumb 192.168.1.20 netmask 255.255.255.0 up # ifconfig hme0 inet6 unplumb # ifconfig hme0 inet6 plumb fec3:f840::1/96 up
有关 ifconfig 命令的更多信息,请参见 ifconfig(1M) 手册页。
如果需要在 NIC 上停止过滤包,请使用以下过程。
可以将 IP Filter Management(IP 过滤器管理)权限配置文件指定给您创建的角色。要创建该角色并将其指定给用户,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"。
此文件包含主机上 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 (Commented-out device no longer filters network traffic) #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
重新引导计算机。
# reboot
注 - 如果无法在 NIC 上安全地使用 ifconfig unplumb 和 ifconfig plumb 命令,则需要重新引导。
将 ifconfig 命令与 unplumb 和 plumb 选项一起使用,以取消激活 NIC。必须取消检测每个接口的 inet6 版本,以便取消激活 IPv6 包过滤。请执行以下步骤。系统中的样例设备为 hme:
标识取消激活的设备的主要编号。
# grep hme /etc/name_to_major hme 7
显示 hme0 的当前 autopush 配置。
# autopush -g -M 7 -m 0 Major Minor Lastminor Modules 7 ALL - pfil
删除 autopush 配置。
# autopush -r -M 7 -m 0
打开设备并为设备指定 IP 地址。
# ifconfig hme0 unplumb # ifconfig hme0 plumb 192.168.1.20 netmask 255.255.255.0 up # ifconfig hme0 inet6 unplumb # ifconfig hme0 inet6 plumb fec3:f840::1/96 up
有关 ifconfig 命令的更多信息,请参见 ifconfig(1M) 手册页。
在对 IP 过滤器进行故障排除时,可以查看 pfil 统计信息。
可以将 IP Filter Management(IP 过滤器管理)权限配置文件指定给您创建的角色。要创建该角色并将其指定给用户,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"。
# ndd -get /dev/pfil qif_status
示例 26-1 查看 IP 过滤器的 pfil 统计信息
以下示例显示如何查看 pfil 统计信息。
# ndd -get /dev/pfil qif_status ifname ill q OTHERQ num sap hl nr nw bad copy copyfail drop notip nodata notdata QIF6 0 300011247b8 300011248b0 6 806 0 4 9 0 0 0 0 0 0 0 dmfe1 3000200a018 30002162a50 30002162b48 5 800 14 171 13681 0 0 0 0 0 0 0