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

退出打印视图

更新时间: 2014 年 7 月
 
 

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

每个基于 SPARC 的系统都有一个系统级 MAC 地址,缺省情况下所有接口都使用该地址。但是,某些应用程序要求主机上的每个接口都有唯一的 MAC 地址。类似地,某些类型的接口配置(如链路聚合和 IP 网络多路径 (IP multipathing, IPMP))也要求接口必须具有自己的 MAC 地址。

EEPROM 参数 local-mac-address? 决定了基于 SPARC 的系统上的所有接口是使用系统级 MAC 地址还是使用唯一 MAC 地址。以下过程介绍了如何使用 eeprom 命令检查 local-mac-address? 参数的当前值以及如何根据需要更改该参数的值。

  1. 成为管理员。
  2. 确定系统上的所有接口当前是否都使用系统级 MAC 地址。
    # eeprom local-mac-address?
    local-mac-address?=false

    在以上输出中,local-mac-address?=false 设置指示所有接口都使用系统级 MAC 地址。例如,必须先将 local-mac-address?=false 设置的值更改为 local-mac-address?=true,然后任何接口才能成为 IPMP 组的成员。


    注 -  配置链路聚合时,也应进行此更改。
  3. 如下所示更改 local-mac-address? 设置的值:
    # eeprom local-mac-address?=true

    重新引导系统时,具有出厂时安装的 MAC 地址的接口将使用这些出厂设置,而不使用系统级 MAC 地址。没有出厂时安装的 MAC 地址的接口将继续使用系统级 MAC 地址。

  4. 检查系统上所有接口的 MAC 地址。

    查找多个接口具有相同 MAC 地址的情况。在以下示例中,有两个接口使用系统级 MAC 地址 8:0:20:0:0:1

    # dladm show-linkprop -p mac-address
    LINK     PROPERTY        PERM VALUE        EFFECTIVE    DEFAULT   POSSIBLE
    net0     mac-address     rw   0:14:4f:f9:b1:a9 0:14:4f:f9:b1:a9 0:14:4f:f9:b1:a9 --
    net3     mac-address     rw   0:14:4f:fb:9a:d4 0:14:4f:fb:9a:d4 0:14:4f:fb:9a:d4 --
    net2     mac-address     rw   0:14:4f:f9:c:d 0:14:4f:f9:c:d 0:14:4f:f9:c:d --
    net1     mac-address     rw   0:14:4f:fa:ea:42 0:14:4f:fa:ea:42 0:14:4f:fa:ea:42 --
  5. (u53ef选) 如有必要,请手动配置其余的接口,以便所有接口都具有唯一的 MAC 地址。
    # dladm set-linkprop -p mac-address=mac-address interface
     

    注 -  仅当有两个或两个以上的网络接口具有相同 MAC 地址时,才需要执行此步骤。

    在以上示例中,您需要为 net0net1 配置在本地管理的 MAC 地址。例如,要用本地管理的 MAC 地址 06:05:04:03:02 重新配置 net0,您应输入以命令:

    # dladm set-linkprop -p mac-address=06:05:04:03:02 net0
     
  6. 重新引导系统。