跳过导航链接 | |
退出打印视图 | |
在 Oracle Solaris 11.1 中使用固定网络配置连接系统 Oracle Solaris 11.1 Information Library (简体中文) |
本节介绍了 IP 接口的基本配置过程。下表介绍了配置任务,并提供了与这些任务相对应的过程的链接。
|
每个基于 SPARC 的系统都有一个系统范围的 MAC 地址,缺省情况下所有接口都使用该地址。但是,某些应用程序要求主机上的每个接口都有唯一的 MAC 地址。类似的,某些类型的接口配置(如链路聚合和 IP 多路径 (IP multipathing, IPMP))也要求接口必须具有自己的 MAC 地址。
EEPROM 参数 local-mac-address? 确定基于 SPARC 的系统上的所有接口是使用系统范围的 MAC 地址还是使用自己的唯一 MAC 地址。下面的过程说明如何使用 eeprom 命令检查 local-mac-address? 的当前值以及更改该值(如有必要)。
# eeprom local-mac-address? local-mac-address?=false
在此示例中,对 eeprom 命令的响应 local-mac-address?=false 表示所有接口确实使用了系统范围的 MAC 地址。只有 local-mac-address?=false 的值先更改为 local-mac-address?=true 后,接口才能成为 IPMP 组的成员。对于链路聚合,也应进行此更改。
# eeprom local-mac-address?=true
在步骤 6 中重新引导系统时,具有出厂 MAC 地址的接口将使用这些出厂设置,而不是系统范围的 MAC 地址。不具有出厂 MAC 地址的接口将继续使用系统范围的 MAC 地址。
查找多个接口具有相同 MAC 地址的情况。在此示例中,有两个接口使用系统范围的 MAC 地址 8:0:20:0:0:1。
# dladm show-linkprop -p mac-address LINK PROPERTY PERM VALUE DEFAULT POSSIBLE net0 mac-address rw 8:0:20:0:0:1 8:0:20:0:0:1 -- net1 mac-address rw 8:0:20:0:0:1 8:0:20:0:0:1 -- net3 mac-address rw 0:14:4f:45:c:2d 0:14:4f:45:c:2d --
注 - 仅当有两个或两个以上的网络接口具有相同 MAC 地址时继续执行下一步。否则,前进到最后一步。
# dladm set-linkprop -p mac-address=mac-address interface
对于上一步的示例,需要用本地管理的 MAC 地址配置 net0 和 net1。例如,要用本地管理的 MAC 地址 06:05:04:03:02 重新配置 net0,您应输入以命令:
# dladm set-linkprop -p mac-address=06:05:04:03:02 net0
有关此命令的更多信息,请参阅 dladm(1M) 手册页。
系统上启用的 NCP 类型决定系统的网络配置是反应性的还是固定的。具有反应性配置的系统与具有固定网络配置的系统行为不同。本书中的所有过程创建的永久性配置均应用于活动 NCP。因此,在执行任何过程之前,您必须了解哪个 NCP 处于活动状态,以便将配置应用于正确的配置文件。这样,在完成过程后,系统的网络配置便可按预期操作。
# netadm list TYPE PROFILE STATE ncp DefaultFixed online ncp Automatic disabled loc Automatic offline loc NoNet offline loc User offline loc DefaultFixed online
状态为 online(联机)的配置文件是系统中的活动 NCP。
要了解有关系统中 NCP 的详细信息,请使用带 -x 选项的 netadm 命令。
netadm list -x TYPE PROFILE STATE AUXILIARY STATE ncp DefaultFixed online active ncp Automatic disabled disabled by administrator loc Automatic offline conditions for activation are unmet loc NoNet offline conditions for activation are unmet loc User offline conditions for activation are unmet loc DefaultFixed online active
# netadm enable -p ncp NCP-name
其中 NCP-name 是某一类型的 NCP 的名称。
例如,假设您的系统网络配置是反应性的。如果您希望将使用本书中的过程创建的配置应用于 DefaultFixed NCP,请键入以下命令:
# netadm enable -p ncp defaultfixed
注意 - 切换活动配置文件时,会删除现有的网络配置并创建新的配置。在新的活动 NCP 中,会排除在以前的活动 NCP 上实现的任何持久性配置。 |
以下过程提供了可用于配置系统 IP 接口的基本步骤。
开始之前
检查在系统上处于活动状态的 NCP 以确保您将配置应用于正确的配置文件。
# ipadm create-interface-class interface
指您可以创建的以下三类接口之一:
IP 接口。此接口类是您执行网络配置时最常创建的接口类。要创建此接口类,请使用 create-ip 子命令。
STREAMS 虚拟网络接口驱动程序(VNI 接口)。要创建此接口类,请使用 create-vni 子命令。有关 VNI 设备或接口的更多信息,请参见 vni(7d) 手册页。
IPMP 接口。此接口用于配置 IPMP 组。要创建此接口类,请使用 create-ipmp 子命令。有关 IPMP 组的更多信息,请参见《管理 Oracle Solaris 11.1 网络性能》中的第 5 章 "IPMP 介绍"。
指接口的名称。该名称与用于创建接口的数据链路的名称相同。要了解系统上的数据链路,请使用 dladm show-link 命令。
# ipadm create-addr -a address [interface | addrobj]
指定要在接口上配置的 IP 地址。
注 - 隧道配置通常需要隧道接口的两个地址:一个本地地址和一个远程地址。有关本地和远程地址以及隧道配置的信息,请参见《配置和管理 Oracle Solaris 11.1 网络》中的第 6 章 "配置 IP 隧道"。
对于数字 IP 地址,请使用 CIDR 表示法。如果您不使用 CIDR 表示法,则会根据 name-service/switch 服务中为 netmask 列出的序列或通过使用有类地址语义计算网络掩码。
您也可以选择指定主机名,而非数字 IP 地址。如果在 /etc/hosts 文件中为主机名定义了相应的数字 IP 地址,则使用该主机名是有效的。如果未在文件中定义数字 IP 地址,则该数值可通过使用在 name-service/switch 服务中为 host 指定的解析器顺序唯一获取。如果给定的主机名存在多项,则会生成错误。
注 - 在引导过程中,先创建 IP 地址,再使命名服务联机。因此,您必须确保在 /etc/hosts 文件中定义用于网络配置的任何主机名。
在 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]
如果您未指定 interface,则会显示系统中所有接口的信息。
有关 ipadm show-* 子命令的输出的更多信息,请参见监视 IP 接口和地址。
此文件中的项由 IP 地址和其对应的主机名组成。
注 - 如果您要配置 DHCP 地址,则不需要更新 /etc/hosts 文件。
# route -p add default address
您可以使用 netstat -r 命令验证路由表的内容。
有关管理路由的详细信息,请参见route(1M) 和 routeadm(1M) 手册页。另请参见《配置和管理 Oracle Solaris 11.1 网络》中的"路由表和路由类型"。
示例 2-1 为网络接口配置静态 IP 地址
本示例介绍如何为接口配置静态 IP 地址。该示例首先在系统上启用 DefaultFixed NCP,从而允许您使用 dladm 和 ipadm 命令进行固定网络配置。
# 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 BRIDGE OVER net3 phys 1500 up -- -- # ipadm create-ip net3 # ipadm create-addr -a 192.168.84.3/24 net3 ipadm: net3/v4 # ipadm NAME CLASS/TYPE STATE UNDER ADDR lo0 loopback ok -- -- l0/v4 static ok -- 127.0.0.1/8 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 campus01 # route -p add default 192.168.84.1 # netstat -r Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ---------- --------- default some.machine.com UG 2 10466 192.168.84.0 192.168.84.3 U 3 1810 net3 localhost localhost UH 2 12 lo0 Routing Table: IPv6 Destination/Mask Gateway Flags Ref Use If --------------------------- ------------------------- ----- --- ------- ----- solaris solaris UH 2 156 lo0
请注意,如果 campus01 已在 /etc/hosts 文件中定义,可以在指定以下地址时使用主机名:
# ipadm create-addr -a campus01 net3 ipadm: net3/v4
示例 2-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 ipadm: 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