在 Oracle® Solaris 11.2 中配置和管理网络组件

退出打印视图

更新时间: 2014 年 7 月
 
 

如何配置 IPv4 接口

开始之前

检查在系统上处于活动状态的 NCP 以确保您将配置应用于正确的配置文件。请参见示例 18

  1. 成为管理员。
  2. 创建接口。
    # ipadm create-interface-class interface
    interface-class

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

    • IP 接口

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

    • STREAMS 虚拟网络接口(virtual network interface, VNI 接口)

      要创建此接口类,请使用 create-vni 子命令。

      从 Oracle Solaris 11.2 开始,您可以更随意地命名 VNI 接口。以前,VNI 接口名称中必须包括前缀 "vni",例如 vni0。现在不再有此要求。有关 VNI 设备和接口的更多信息,请参见 vni(7d)ipadm(1M) 手册页。

    • IPMP 接口

      在配置 IPMP 组时使用此接口类。要创建此接口类,请使用 create-ipmp 子命令。有关 IPMP 组的更多信息,请参见在 Oracle Solaris 11.2 中管理 TCP/IP 网络、IPMP 和 IP 隧道 中的 第 2 章, 关于 IPMP 管理

    interface

    指接口的名称。该名称与用于创建接口的数据链路的名称相同。要显示系统上的数据链路,请使用 dladm show-link 命令。

  3. 通过使用以下命令之一配置具有有效 IP 地址的 IP 接口:
    • 配置静态 IP 地址:

      # ipadm create-addr -a address [interface | addrobj]
      –a address

      指定要在接口上配置的 IP 地址。


      注 -  隧道配置通常需要隧道接口的两个地址:一个本地地址和一个远程地址。有关本地和远程地址以及隧道配置的信息,请参见在 Oracle Solaris 11.2 中管理 TCP/IP 网络、IPMP 和 IP 隧道 中的 第 5 章, 管理 IP 隧道

      对于数字 IP 地址,请使用无类域间路由 (Classless Inter-Domain Routing, CIDR) 表示法。如果不使用 CIDR 表示法,则将使用 svc:/system/name-service/switch:default 网络掩码数据库搜索顺序或使用有类地址语义来确定网络掩码。

      您也可以选择指定主机名,而非数字 IP 地址。如果在 /etc/hosts 文件中为主机名定义了相应的数字 IP 地址,则使用该主机名是有效的。如果未在文件中定义数字 IP 地址,则该数值可通过使用在 name-service/switch 服务中为 host 指定的解析器顺序唯一获取。如果给定的主机名存在多项,则会生成错误。


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

      在 Oracle Solaris 中,每个地址由一个相应的地址对象予以标识,在命令中由 addrobj 表示。对于此地址的任何后续配置,您可以参考地址对象而非实际 IP 地址。例如,您可以键入 ipadm show-addr addrobjipadm delete-addr addrobj。要自动生成地址对象名称,请仅指定 interface 的接口名称。要手动命名地址对象,请直接提供地址对象名称。

      • 如果您指定接口名称,则地址对象将以 interface/address-family 格式自动命名。Address family 是 IPv4 地址的 v4 或 IPv6 地址的 v6。如果使用自动生成的地址对象名称在接口上配置了多个地址,则会在地址对象名称中附加字母以使其唯一。例如,net0/v4net0/v4anet0/v4bnet0/v6net0/v6a 等。

      • 如果您手动命名 addrobj 的地址对象,则必须使用格式 interface/user-specified-stringUser-specified-string 表示由字母数字字符组成的字符串,该字符串以字母开头且最大长度为 32 个字符。例如,您可以命名地址对象 net0/staticnet0/static1net1/private 等。

    • 配置非静态地址。

      # ipadm create-addr -T address-type [interface | addrobj]

      其中 address-typedhcpaddrconfaddrconf 参数指自动生成的 IPv6 地址。

      有关 interfaceaddrobj 选项的更详细说明,请参见上文中有关创建静态地址的说明。

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

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

    # ipadm interface

    如果未指定子命令,则将显示系统上所有接口的信息。

    # ipadm show-if interface

    如果未指定 interface,则会显示系统上所有接口的信息。

    # ipadm show-addr interface|addrobj

    如果未指定 interfaceaddrobj,则会显示所有地址对象的信息。

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

  5. 如果要配置使用主机名的静态 IP 地址,请在 /etc/hosts 文件中添加 IP 地址的对应条目。

    此文件中的项由 IP 地址和其对应的主机名组成。


    注 -  如果您要配置 DHCP 地址,则不需要更新 /etc/hosts 文件。
  6. 定义缺省路由。
    # route -p add default address

    您可以使用 netstat –r 命令验证路由表的内容。

    有关管理路由的更多信息,请参见 route(1M)创建持久性(静态)路由

示例 3  为 IPv4 接口配置静态 IP 地址

以下示例说明了如何为接口配置静态 IP 地址。该示例首先在系统上启用 DefaultFixed NCP 以确保 dladmipadm 命令不修改反应性 NCP,这会使您执行的任何手动网络配置不起作用,具体取决于您的环境。

# netadm enable -p ncp DefaultFixed

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

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

# ipadm create-ip net3
# ipadm create-addr -a 192.168.84.3/24 net3
net3/v4

# ipadm
NAME      CLASS/TYPE     STATE     UNDER     ADDR
lo0       loopback       ok        --        --
lo0/v4     static        ok        --     127.0.0.1/8
lo0/v6     static        ok        --     ::1/128 
net3      ip             ok        --        --
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    sales1

# route -p add default 192.168.84.1
# netstat -r
Routing Table: IPv4
Destination          Gateway              Flags Ref   Use        Interface
-------------------- -------------------- ----- ----- ---------- ---------
default              192.168.84.1         UG    2     10466
192.168.84.0         192.168.84.3         U     3     1810       net0
localhost            localhost            UH    2     12         lo0

Routing Table: IPv6
Destination/Mask            Gateway                 Flags Ref   Use    If
--------------------------- ------------------------- ----- --- ------- -----
solaris                       solaris                 UH      2     156  lo0

如果已在 /etc/hosts 文件中定义了 sales1,则在指定以下地址时可以使用该主机名:

# ipadm create-addr -a sales1 net3
net3/v4
示例 4  配置网络接口以从 DHCP 服务器接收 IP 地址

在以下示例中,IP 接口配置为从 DHCP 服务器接收其地址。DHCP 通常还会安装缺省路由。因此,该示例包括了手动添加缺省路由的步骤。

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

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

# ipadm create-ip net3
# ipadm create-addr -T dhcp net3
net3v4

# ipadm
NAME      CLASS/TYPE     STATE     UNDER     ADDR
lo0       loopback       ok        --        --
l0/v4     static         ok        --        127.0.0.1/8
net3      ip             ok        --        --
net3/v4   dhcp           ok        --        10.0.1.13/24