开始之前
检查在系统上处于活动状态的 NCP 以确保您将配置应用于正确的配置文件。请参见示例 18。
# ipadm create-interface-class interface
指您可以创建的以下三类接口之一:
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 管理。
指接口的名称。该名称与用于创建接口的数据链路的名称相同。要显示系统上的数据链路,请使用 dladm show-link 命令。
# ipadm create-addr -a address [interface | addrobj]
指定要在接口上配置的 IP 地址。
对于数字 IP 地址,请使用无类域间路由 (Classless Inter-Domain Routing, CIDR) 表示法。如果不使用 CIDR 表示法,则将使用 svc:/system/name-service/switch:default 网络掩码数据库搜索顺序或使用有类地址语义来确定网络掩码。
您也可以选择指定主机名,而非数字 IP 地址。如果在 /etc/hosts 文件中为主机名定义了相应的数字 IP 地址,则使用该主机名是有效的。如果未在文件中定义数字 IP 地址,则该数值可通过使用在 name-service/switch 服务中为 host 指定的解析器顺序唯一获取。如果给定的主机名存在多项,则会生成错误。
在 Oracle Solaris 中,每个地址由一个相应的地址对象予以标识,在命令中由 addrobj 表示。对于此地址的任何后续配置,您可以参考地址对象而非实际 IP 地址。例如,您可以键入 ipadm show-addr addrobj 或 ipadm delete-addr addrobj。要自动生成地址对象名称,请仅指定 interface 的接口名称。要手动命名地址对象,请直接提供地址对象名称。
如果您指定接口名称,则地址对象将以 interface/address-family 格式自动命名。Address family 是 IPv4 地址的 v4 或 IPv6 地址的 v6。如果使用自动生成的地址对象名称在接口上配置了多个地址,则会在地址对象名称中附加字母以使其唯一。例如,net0/v4、net0/v4a、net0/v4b、net0/v6、net0/v6a 等。
如果您手动命名 addrobj 的地址对象,则必须使用格式 interface/user-specified-string。User-specified-string 表示由字母数字字符组成的字符串,该字符串以字母开头且最大长度为 32 个字符。例如,您可以命名地址对象 net0/static、net0/static1、net1/private 等。
# ipadm create-addr -T address-type [interface | addrobj]
其中 address-type 为 dhcp 或 addrconf。addrconf 参数指自动生成的 IPv6 地址。
有关 interface 和 addrobj 选项的更详细说明,请参见上文中有关创建静态地址的说明。
您可以根据要检查的信息使用以下命令:
# ipadm interface
如果未指定子命令,则将显示系统上所有接口的信息。
# ipadm show-if interface
如果未指定 interface,则会显示系统上所有接口的信息。
# ipadm show-addr interface|addrobj
如果未指定 interface 或 addrobj,则会显示所有地址对象的信息。
有关 ipadm show-* 子命令的输出的更多信息,请参见监视 IP 接口和地址。
此文件中的项由 IP 地址和其对应的主机名组成。
# route -p add default address
您可以使用 netstat –r 命令验证路由表的内容。
有关管理路由的更多信息,请参见 route(1M) 和创建持久性(静态)路由。
以下示例说明了如何为接口配置静态 IP 地址。该示例首先在系统上启用 DefaultFixed NCP 以确保 dladm 和 ipadm 命令不修改反应性 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