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.  监视网络通信流量和资源使用情况

词汇表

索引

配置 IP 接口

以下过程说明如何针对不同的 IP 配置需要来使用 ipadm 命令。虽然 ifconfig 命令仍然可用于配置接口,但 ipadm 命令应该是首选工具。有关 ipadm 命令及其优点的概述,请参见ipadm 命令


注 - 通常情况下,IP 接口配置和数据链路配置是一起进行的。因此,在适用的情况下,下面的过程包括使用 dladm 命令的数据链路配置步骤。有关使用 dladm 命令配置和管理数据链路的更多信息,请参见第 8 章


如何配置 IP 接口

以下过程提供了执行 IP 接口的基本配置的示例。

开始之前

确定您是否要重命名系统上的数据链路。通常,您使用缺省情况下指定给数据链路的通用名称。要更改链路名称,请参见如何重命名数据链路

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. (可选的)显示有关系统上当前数据链路的物理属性的信息。
    # dladm show-phys

    此命令显示安装在您的系统上的物理网卡及其部分属性。有关此命令的更多信息,请参见如何显示有关数据链路物理属性的信息

  3. 显示有关系统上当前数据链路的信息。
    # dladm show-link

    此命令显示数据链路和已为其设置的某些属性,包括已在其上创建链路的物理卡。

  4. 创建 IP 接口。
    # ipadm create-interface-class interface
    interface-class

    指您可以创建的以下三类接口之一:

    • IP 接口。此接口类是您执行网络配置时最常创建的接口类。要创建此接口类,请使用 create-ip 子命令。

    • STREAMS 虚拟网络接口驱动程序(VNI 接口)。要创建此接口类,请使用 create-vni 子命令。有关 VNI 设备或接口的更多信息,请参见 vni(7d) 手册页。

    • IPMP 接口。此接口用于配置 IPMP 组。要创建此接口类,请使用 create-ipmp 子命令。有关 IPMP 组的更多信息,请参见第 14 章第 15 章

    interface

    指接口的名称。该名称与正在其上创建接口的链路的名称相同。


    注 - 您必须创建 IP 接口,才能为其指定 IP 地址。


  5. 使用有效的 IP 地址配置 IP 接口。

    以下语法将静态地址指定给接口。参阅 ipadm(1M) 手册页,了解指定 IP 地址的其他选项。

    # ipadm create-addr -T address-type -a address/prefixlen addrobj
    -T address-type

    指定分配给接口的 IP 地址的类型,它是以下项之一:staticdhcpaddrconfAddrconf 指自动生成的 IPv6 地址。

    -a

    指定要在接口上配置的 IP 地址。您可以仅指定本地地址,也可以同时指定本地地址和远程地址(在隧道配置的情况下)。通常情况下,仅指定本地地址。在这种情况下,您使用 -a 选项直接指定地址,如 -a address。该地址自动被视为本地地址。

    如果您正在配置隧道,您可能需要提供系统的本地地址和目标系统的远程地址。在这种情况下,您必须指定 localremote 以区分两个地址,如下所示:-a local=local-addr,remote= remote-addr。有关配置隧道的更多信息,请参见《Oracle Solaris 管理:IP 服务》中的第 6  章 "配置 IP 隧道"

    如果您使用数字 IP 地址,请对采用 CIDR 表示法的地址使用 address/ prefixlen 格式,例如 1.2.3.4/24。请参见 prefixlen 选项的说明。

    (可选的)您可以为 address 指定主机名而不是数字 IP 地址。如果在 /etc/hosts 文件中为主机名定义了相应的数字 IP 地址,则使用该主机名是有效的。如果没有在该文件中定义数字 IP 地址,则通过使用在 name-service/switch 服务中为 host 指定的解析器顺序获得唯一数值。如果一个给定主机名存在多个对应条目,则生成一个错误。


    注 - 在引导过程中,先创建 IP 地址,再使命名服务联机。因此,您务必确保在网络配置中使用的任何主机名必须在 /etc/hosts 文件中已定义。


    /prefixlen

    指定使用 CIDR 表示法时 IPv4 地址中网络 ID 的长度。在地址 12.34.56.78/24 中,24prefixlen。如果不包括 prefixlen,则根据在 name-service/switch 服务中为 netmask 列出的顺序计算网络掩码,或通过使用有类地址语义计算网络掩码。

    addrobj

    指定在系统中使用的唯一 IP 地址或地址集的标识符。地址可以是 IPv4 或 IPv6 类型。标识符使用的格式为 interface/ user_specified_string

    interface 指为其指定该地址的 IP 接口。interface 变量必须反映在其上配置 IP 接口的数据链路的名称。

    user-specified-string 指以字母开始且最大长度为 32 个字符的字母数字字符字符串。随后,您在使用任何 ipadm 子命令管理系统中的地址(如 ipadm show-addripadm delete-addr)时,可以引用 addrobj 而不是数字 IP 地址。

  6. (可选的)显示有关新配置的 IP 接口的信息。

    您可以根据要检查的信息使用以下命令:

    • 显示接口的总体状态。

      # ipadm show-if [interface]

      如果您不指定接口,则显示系统中所有接口的信息。

    • 显示接口的地址信息。

      # ipadm show-addr [addrobj]

      如果您不指定 addrobj,则显示系统中所有地址对象的信息。

    有关 ipadm show-* 子命令的输出的更多信息,请参见监视 IP 接口和地址

  7. (可选的)为 /etc/hosts 文件中的 IP 地址添加条目。

    此文件中的条目包含 IP 地址和相应的主机名。


    注 - 此步骤仅适用于配置使用主机名的静态 IP 地址。如果您正在配置 DHCP 地址,不需要更新 /etc/hosts 文件。


示例 9-1 使用静态地址配置网络接口

# dladm show-phys
LINK     MEDIA        STATE     SPEED     DUPLEX     DEVICE
net3     Ethernet     up        100Mb     full       bge3

# dladm show-link
LINK     CLASS     MTU     STATE     BRIDGE   OVER
net3     phys      1500    up        --       --

# ipadm create-ip net3
# ipadm create-addr -T static -a 192.168.84.3/24 net3/v4static

# ipadm show-if
IFNAME   CLASS        STATE     ACTIVE     OVER
lo0      loopback     ok        yes        --
net3     ip           ok        yes        --

# ipadm show-addr
ADDROBJ     TYPE       STATE     ADDR
lo0/?       static     ok        127.0.0.1/8
net3/v4     static     ok        192.168.84.3/24

# vi /etc/hosts
# Internet host table
# 127.0.0.1       localhost
10.0.0.14       myhost
192.168.84.3    campus01

请注意,如果 campus01 已在 /etc/hosts 文件中定义,可以在指定以下地址时使用主机名:

# ipadm create-addr -T static -a campus01 net3/v4static

示例 9-2 自动使用 IP 地址配置网络接口

本示例与前面的示例使用相同的网络设备,但本示例将 IP 接口配置为从 DHCP 服务器接收其地址。

# dladm show-phys 
LINK     MEDIA        STATE     SPEED     DUPLEX     DEVICE
net3     Ethernet     up        100Mb     full       bge3

# dladm show-link
LINK     CLASS     MTU     STATE     BRIDGE   OVER
net3     phys      1500    up        --       --

# ipadm create-ip net3

# ipadm create-addr -T dhcp net3/dhcp

# ipadm show-if
IFNAME   CLASS        STATE     ACTIVE     OVER
lo0      loopback     ok        yes        --
net3     ip           ok        yes        --

# ipadm show-addr net3/dhcp
ADDROBJ     TYPE       STATE     ADDR
net3/dhcp   dhcp       ok        10.8.48.242/24

# ipadm show-addr
ADDROBJ     TYPE       STATE     ADDR
lo0/?       static     ok        127.0.0.1/8
net3/dhcp   dhcp       ok        10.8.48.242/24

设置 IP 地址属性

在将这些地址指定给接口后,您可以通过 ipadm 命令设置特定于地址的属性。通过设置这些属性,您可以确定以下内容:

要列出 IP 地址的属性,请使用以下语法:

# ipadm show-addrprop [-p property] [addrobj]

显示的信息取决于您使用的选项。


注 - 一次只能设置一个地址属性。


如何设置 IP 地址的属性

此过程显示配置 IP 地址的属性的一般步骤。

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 列出当前在系统上使用的 IP 地址。
    # ipadm show-addr
  3. (可选的)确定您要更改的 IP 地址的特定属性的当前设置。
    # ipadm show-addrprop -p property addrobj

    如果您不知道该属性,可以发出常规的 ipadm show-addrprop 命令。使用此命令显示 IP 地址时,会同时显示其所有属性的当前设置。

  4. 将所选属性设置为所需的值。
    # ipadm set-addrprop -p property=value addrobj
  5. 查看属性的新设置。
    # ipadm show-addrprop -p property addrobj

示例 9-3 设置地址的 prefixlen 属性

prefixlen 属性指 IP 地址的网络掩码。以下示例更改 net3 的 IP 地址的 prefixlen 属性的长度。在本示例中,-t 选项用于在属性中只创建一个临时更改。如果重新引导系统,该属性的值将恢复为缺省设置。

# ipadm show-addr
ADDROBJ     TYPE       STATE     ADDR
lo0/?       static     ok        127.0.0.1/8
net3/v4     static     ok        192.168.84.3/24

# ipadm show-addrprop -p prefixlen net3/v4
ADDROBJ  PROPERTY   PERM  CURRENT  PERSISTENT  DEFAULT   POSSIBLE
net3/v4  prefixlen  rw    24       24          24        1-30,32

# ipadm set-addrprop -t -p prefixlen=8 net3/v4
# ipadm show-addrprop -p prefixlen net3/v4
ADDROBJ  PROPERTY   PERM  CURRENT  PERSISTENT  DEFAULT   POSSIBLE
net3/v4  prefixlen  rw    8        24          24        1-30,32

设置 IP 接口属性

IP 接口与数据链路一样,具有您可以为特定网络设置定制的属性。对于每个接口,存在两组属性,分别适用于 IPv4 和 IPv6 协议。某些属性,如 MTU,对数据链路和 IP 接口都适用。因此,您可以有一个针对数据链路的 MTU 设置和一个针对在该链路上配置的接口的不同 MTU 设置。而且,在该 IP 接口上,您可以有分别适用于 IPv4 和 IPv6 数据包的不同 MTU 设置。

IP 转发是通常在网络方案中配置的 IP 接口属性。以下过程显示了步骤。

启用数据包转发

在网络中,一个主机可以接收发送到另一个主机系统的数据包。通过在作为接收方的本地系统中启用数据包转发,该系统可以将数据包转发到目标主机。缺省情况下,IP 转发被禁用。以下两个过程描述如何启用此功能。在 Oracle Solaris 早期发行版中,routeadm 命令用于启用数据包转发。在此过程中,ipadm 语法取代了 routeadm 命令。

在确定是使用基于接口的过程还是基于协议的过程时,请考虑以下事项。


注 - 这两种数据包转发方法不是互斥的。例如,可以全局性地启用数据包转发,然后定制每个接口的 forwarding 属性。因此,该特定系统仍可选择数据包转发。


如何通过设置接口属性启用 IP 数据包转发

此过程说明如何通过在特定接口上配置 IP 转发属性有选择性地启用数据包转发。


注 - 数据包转发涉及 IP 协议。因此,步骤中还包含区分 IP 协议版本


  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 显示接口的 IP 转发属性的当前设置。
    # ipadm show-ifprop -p forwarding [-m protocol-version] interface

    其中 protocol-version 可以是 ipv4ipv6。如果您不指定版本,则同时显示 IPv4 和 IPv6 协议的设置。


    注 - 要显示给定接口的所有有效的协议属性,请不要指定属性,如下所示:

    # ipadm show-ifprop interface

    此语法还显示在示例 9-4 中。


  3. 对于要在其上启用数据包转发的每个接口,请键入以下命令:
    # ipadm set-ifprop forwarding=on -m protocol-version interface
  4. (可选的)显示接口的 forwarding 属性的设置。
    # ipadm show-ifprop -p forwarding interface
  5. 要将接口的 forwarding 属性恢复为其缺省设置,请键入以下命令:
    # ipadm reset-ifprop -p forwarding -m protocol-version interface

示例 9-4 使接口仅转发 IPv4 数据包

以下示例说明如何实现选择性数据包转发,其中仅在 net0 接口中启用 IPv4 数据包转发。在系统的其他剩余接口中,数据包转发处于禁用状态,这是缺省设置。

# ipadm show-ifprop -p forwarding net0
IFNAME   PROPERTY     PROTO   PERM   CURRENT   PERSISTENT   DEFAULT   POSSIBLE
net0     forwarding   ipv4    rw     off       off          off       on,off
net0     forwarding   ipv6    rw     off       --           off       on,off

使用- p property 选项的 ipadm show-ifprop 命令语法仅提供有关特定属性的信息。

# ipadm set-ifprop -p forwarding=on -m ipv4 net0
# ipadm show-ifprop net0
IFNAME   PROPERTY         PROTO  PERM  CURRENT  PERSISTENT  DEFAULT   POSSIBLE
...
net0     forwarding       ipv4   rw    on       on          off       on,off
...

不使用- p property 选项的 ipadm show-ifprop 命令语法显示接口的所有属性及其相应设置。

# ipadm reset-ifprop -p forwarding -m ipv4 net0
# ipadm show-ifprop -p forwarding -m ipv4 net0
IFNAME   PROPERTY     PROTO   PERM   CURRENT   PERSISTENT   DEFAULT   POSSIBLE
net0     forwarding   ipv4    rw     off       off          off       on,off

ipadm reset-ifprop 命令语法将指定的属性重置为缺省设置。

如何通过设置协议属性启用数据包转发

此过程说明如何在系统中全局性地启用数据包转发。

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 显示 IP 转发属性的当前设置。
    # ipadm show-prop -p forwarding protocol-version

    其中 protocol-version 可以是 ipv4ipv6


    注 - 要显示给定协议的所有有效的可调属性及其当前设置,请键入以下命令:

    # ipadm show-prop protocol

    其中 protocol 可以是 ipipv4ipv6udptcpicmpsctp

    此语法显示在示例 9-5 中。


  3. 对于要启用转发的每个协议版本,请键入以下命令:
    # ipadm set-prop forwarding=on protocol-version
  4. (可选的)通过执行以下操作之一显示 IP 转发属性的设置:
    • 要显示协议的所有属性和当前设置,请键入以下命令:

      # ipadm show-prop protocol
    • 要显示协议的特定属性,请键入以下命令:

      # ipadm show-prop -p property protocol
    • 要显示特定协议版本的特定属性,请键入以下命令:

      # ipadm show-prop -p property protocol-version
  5. 要将某协议版本的特定属性重置为其缺省设置,请键入以下命令:
    # ipadm reset-prop -p property protocol-version

示例 9-5 启用 IPv4 和 IPv6 数据包的转发

以下示例与前面关于在接口上转发数据包的示例相似。两者都使用 ipadm show-prop,显示协议的指定属性或所有属性的相应设置。

# ipadm show-prop -p forwarding ip
PROTO   PROPERTY     PERM   CURRENT   PERSISTENT   DEFAULT   POSSIBLE
ipv4    forwarding   rw     off       --           off       on,off
ipv6    forwarding   rw     off       --           off       on,off
#
# ipadm set-prop -p forwarding=on ipv4
# ipadm set-prop -p forwarding=on ipv6
#
# ipadm show-prop ip
PROTO   PROPERTY     PERM   CURRENT   PERSISTENT   DEFAULT   POSSIBLE
ipv4    forwarding   rw     on        on           off       on,off
ipv4    ttl          rw     255       --           255       1-255
ipv6    forwarding   rw     on        on           off       on,off
ipv6    hoplimit     rw     255       --           255       1-255#