JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 管理:网络接口和网络虚拟化     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  网络栈概述

此 Oracle Solaris 发行版中的网络配置

Oracle Solaris 中的网络栈

网络设备和数据链路名称

其他链路类型的管理

第 1 部分网络自动配置

2.  NWAM 简介

3.  NWAM 配置和管理(概述)

4.  NWAM 配置文件配置(任务)

5.  NWAM 配置文件管理(任务)

6.  关于 NWAM 图形用户界面

第 2 部分数据链路和接口配置

7.  使用配置文件上的数据链路和接口配置命令

8.  数据链路配置和管理

9.  配置 IP 接口

关于 IP 接口配置

ipadm 命令

IP 接口配置(任务)

SPARC: 如何确保接口的 MAC 地址是唯一的

配置 IP 接口

如何配置 IP 接口

设置 IP 地址属性

如何设置 IP 地址的属性

设置 IP 接口属性

启用数据包转发

管理协议属性

设置 TCP/IP 属性

如何限制端口仅供 root 用户访问

如何在多宿主主机上实现对称路由

监视 IP 接口和地址

如何获取有关网络接口的信息

接口配置故障排除

ipadm 命令不起作用。

无法使用 ipadm create-addr 命令指定 IP 地址。

在 IP 地址配置过程中,显示消息 cannot create address object: Invalid argument provided(无法创建地址对象:提供了无效的参数)。

在 IP 接口配置过程中显示消息 cannot create address: Persistent operation on temporary object(无法创建地址:对临时对象进行持久性操作)

比较表:ipadm 命令和其他网络命令

ifconfig 命令选项和 ipadm 命令选项

ndd 命令选项和 ipadm 命令选项

10.  在 Oracle Solaris 上配置无线接口通信

11.  管理网桥

12.  管理链路聚合

13.  管理 VLAN

14.  IPMP 简介

15.  管理 IPMP

16.  使用 LLDP 交换网络连接信息

第 3 部分网络虚拟化和资源管理

17.  网络虚拟化和资源控制简介(概述)

18.  规划网络虚拟化和资源控制

19.  配置虚拟网络(任务)

20.  在虚拟化环境中使用链路保护

21.  管理网络资源

22.  监视网络通信流量和资源使用情况

词汇表

索引

管理协议属性

除了接口,ipadm 命令还可用于配置协议属性,也称为可调参数。ipadm 取代了早期发行版中常用的 ndd 命令来设置可调参数。本节提供了定制选定的 TCP/IP 协议属性的过程和示例。

设置 TCP/IP 属性

TCP/IP 属性可以基于接口,也可以是全局性的。属性可以应用于特定接口,也可全局性地应用于区域中的所有接口。全局属性在不同的非全局区域中可以有不同的设置。有关支持的协议属性的列表,请参阅 ipadm(1M) 手册页。

通常情况下,TCP/IP Internet 协议的缺省设置足以使网络正常工作。然而,如果缺省设置对您的网络拓扑来说不够用,可以通过下表中介绍的过程定制这些 TCP/IP 属性。

下表描述了配置协议属性的任务并提供了各自过程的链接。

表 9-2 设置选定的 TCP/IP 属性

任务
说明
参考
将端口标记为特权端口。
保留某接口的端口以仅供 root 用户访问。
定制在多宿主主机上接收或传送的 IP 数据包的行为。
定制多宿主主机中的对称路由。
显示有关协议属性的信息。
显示协议的属性及其当前设置。

注 - 有关使用 ipadm 工具配置网络接口和 IP 地址的过程,请参阅配置 IP 接口


如何限制端口仅供 root 用户访问

在传输协议(如 TCP、UDP 和 SCTP)上,端口 1–1023 是缺省的特权端口,只有使用 root 用户权限运行的进程可以绑定到这些端口。通过使用 ipadm 命令,您可以将超出此给定缺省范围的一个端口保留为特权端口。因此,只有 root 进程可以绑定到该端口。对于此过程,使用以下传输协议属性:

  1. 确定指定的端口是否在常规端口范围内,如果是则可以使用。
    # ipadm show-prop -p smallest_nonpriv_port protocol

    其中 protocol 是要为其配置特权端口的协议类型,如 IP、UDP 和 ICMP 以及其他协议类型。

    在命令输出中,POSSIBLE 字段显示普通用户可以绑定到的端口号范围。如果指定的端口在此范围内,则可以将其设置为特权端口。

  2. 验证要保留的端口可用并且未标记为特权端口。
    # ipadm show-prop -p extra_priv_ports protocol

    在命令输出中,CURRENT 字段指示当前哪些端口被标记为特权端口。如果指定的端口不包含在此字段中,则可以将其设置为特权端口。

  3. 将指定的端口添加为特权端口。
    # ipadm set-prop -p extra_priv_ports=port-number protocol
  4. 对于要作为特权端口添加或删除的每个其他端口,重复执行以下操作之一:
    • 要将端口添加为特权端口,请键入以下语法。

      # ipadm set-prop -p extra_priv_ports+=portnumber protocol

      注 - 通过加号 (+) 限定符,您可以将多个端口指定为特权端口。加号限定符使您能够生成这些端口的列表。将此语法与限定符结合使用可将端口逐个添加到列表中。如果您不使用此限定符,则您指定的端口将取代以前被列为特权端口的所有其他端口。


    • 要删除作为特权端口的端口,请键入以下语法。

      # ipadm set-prop -p extra_priv_ports-=portnumber protocol

      注 - 通过使用减号 (-) 限定符,您可以从当前特权端口列表中删除该端口。使用相同的语法可删除所有额外的特权端口,包括缺省端口。


  5. 验证指定端口的新状态。
    # ipadm show-prop -p extra_priv_ports protocol

    在命令输出中,确保 CURRENT 字段中现在包含指定端口。

示例 9-6 设置特权端口

在本示例中,您将端口 3001 3050 设置为特权端口。您还要删除端口 4045,它当前列为特权端口。

smallest_nonpriv_port 属性的输出中,POSSIBLE 字段指示端口 1024 是最低的非特权端口,指定端口 3001 3050 在可使用的非特权端口范围内。在 extra_priv_ports 属性的输出中,CURRENT 字段下的端口 20494045 被标记为特权端口。因此,您可以继续将端口 3001 设置为特权端口。

# ipadm show-prop -p smallest_nonpriv_port tcp
PROTO PROPERTY                PERM   CURRENT   PERSISTENT   DEFAULT   POSSIBLE
tcp   smallest_nonpriv_port   rw     1024      --           1024      1024-32768

# ipadm show-prop -p extra_priv_ports tcp
PROTO   PROPERTY           PERM   CURRENT     PERSISTENT   DEFAULT     POSSIBLE
tcp     extra_priv_ports   rw     2049,4045   --           2049,4045   1-65535

# ipadm set-prop -p extra_priv_ports+=3001 tcp        
# ipadm set-prop -p extra_priv_ports+=3050 tcp
# ipadm show-prop -p extra_priv_ports tcp
PROTO   PROPERTY           PERM   CURRENT     PERSISTENT   DEFAULT     POSSIBLE
tcp     extra_priv_ports   rw     2049,4045   3001,3050    2049,4045   1-65535
                                  3001,3050

# ipadm set-prop -p extra_priv_ports-=4045 tcp
# ipadm show-prop -p extra_priv_ports tcp
PROTO   PROPERTY           PERM   CURRENT     PERSISTENT   DEFAULT     POSSIBLE
tcp     extra_priv_ports   rw     2049,3001   3001,3050    2049,4045   1-65535
                                  3050

如何在多宿主主机上实现对称路由

缺省情况下,具有多个接口的系统(也称为多宿主主机)基于路由表中到通信流的目标的最长匹配路由来路由其网络通信流。如果存在多个长度相等的到目标的路由路径,Oracle Solaris 将应用等成本多路径 (ECMP) 算法将通信流量分配到这些路由。

在某些情况下,以这种方式分配通信流量并不合适。可能通过多宿主主机上的一个接口发送了 IP 数据包,但是该主机与该数据包中的 IP 源地址不位于同一子网上。此外,如果传出数据包是对某传入请求(例如 ICMP 回显请求)的响应,则请求和响应可能不经过相同的接口。这种通信流路由配置称为非对称路由。如果您的 Internet 服务提供商按照 RFC 3704 (http://rfc-editor.org/rfc/bcp/bcp84.txt) 中所述实现准入过滤,则非对称路由配置可能导致提供商丢弃传出数据包。

RFC 3704 旨在限制拒绝服务攻击在 Internet 上扩散。为了与它保持一致,必须将您的网络配置为对称路由。在 Oracle Solaris 中,可以通过使用 IP hostmodel 属性满足这一要求。此属性控制通过多宿主主机接收或传送 IP 数据包的行为。

以下过程说明如何使用 ipadm 命令为特定路由配置设置 hostmodel 属性:

  1. 在多宿主主机上成为管理员。
  2. 配置系统中网络数据包的路由。
    # ipadm set-prop -p hostmodel=value protocol

    可将该属性配置为以下三个设置之一:

    strong

    对应于 RFC 1122 中定义的强端系统 (end system, ES) 模型。此设置实现对称路由。

    weak

    对应于 RFC 1122 中定义的弱 ES 模型。在采用此设置的情况下,多宿主主机使用非对称路由。

    src-priority

    通过使用首选路由配置数据包路由。如果路由表中存在多个目标路由,则使用在其上配置传出数据包的 IP 源地址的接口的路由,就是首选路由。如果不存在这样的路由,则传出数据包将使用到数据包的 IP 目标的最长匹配路由。

  3. (可选的)检查 hostmodel 属性的设置。
    # ipadm show-prop protocol

示例 9-7 在多宿主主机上设置对称路由

在本示例中,您要在多宿主主机中强制实施所有 IP 通信的对称路由。

# ipadm set-prop -p hostmodel=strong ip
# ipadm show-prop -p hostmodel ip
PROTO  PROPERTY   PERM  CURRENT  PERSISTENT  DEFAULT   POSSIBLE
ipv6   hostmodel  rw    strong   --          weak      strong,
                                                       src-priority,
                                                       weak
ipv4   hostmodel  rw    strong   --          weak      strong,
                                                       src-priority,
                                                       weak