系统管理指南:IP 服务

ProcedureSPARC: 如何确保接口的 MAC 地址是唯一的

使用此过程配置 MAC 地址。

一些应用程序要求主机上的每个接口都具有唯一的 MAC 地址。但是,每个基于 SPARC 的系统都具有系统范围的 MAC 地址,缺省情况下所有接口都使用该地址。以下是在 SPARC 系统上可能希望为接口配置出厂安装的 MAC 地址的两种情况。

EEPROM 参数 local-mac-address? 确定 SPARC 系统上的所有接口使用系统范围的 MAC 地址还是其唯一 MAC 地址。以下过程说明如何使用 eeprom 命令检查 local-mac-address? 的当前值以及更改它的值(如有必要)。

  1. 在要配置接口的系统上,承担主管理员角色或成为超级用户。

    主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 确定系统上的所有接口当前是否都使用系统范围的 MAC 地址。


    # eeprom local-mac-address?
    local-mac-address?=false

    在此示例中,对 eeprom 命令的响应 local-mac-address?=false 表示所有接口确实使用了系统范围的 MAC 地址。local-mac-address?=false 的值必须先更改为 local-mac-address?=true,然后接口才能成为 IPMP 组的成员。对于聚合,也应该将 local-mac-address?=false 更改为 local-mac-address?=true

  3. 如有必要,请按如下所示更改 local-mac-address? 的值:


    # eeprom local-mac-address?=true
    

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

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

    查找多个接口具有相同 MAC 地址的情况。在此示例中,所有接口都使用系统范围的 MAC 地址 8:0:20:0:0:1


    ifconfig -a
    lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
          inet 127.0.0.1 netmask ff000000  
    hme0: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
          inet 10.0.0.112 netmask ffffff80 broadcast 10.0.0.127
          ether 8:0:20:0:0:1 
    ce0: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
          inet 10.0.0.114 netmask ffffff80 broadcast 10.0.0.127
          ether 8:0:20:0:0:1 
    ce1: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
          inet 10.0.0.118 netmask ffffff80 broadcast 10.0.0.127
          ether 8:0:20:0:0:1

    注 –

    仅当多个网络接口仍具有相同 MAC 地址时,才继续执行下一步。否则,转到最后一步。


  5. 如有必要,请手动配置其余的接口,以便所有接口都具有唯一的 MAC 地址。

    /etc/hostname.interface 文件中为特定接口指定唯一的 MAC 地址。

    在步骤 4 的示例中,需要用本地管理的 MAC 地址配置 ce0ce1。例如,要用本地管理的 MAC 地址 06:05:04:03:02 重新配置 ce1,可将以下行添加到 /etc/hostname.ce1 中:


    ether 06:05:04:03:02 
    

    注 –

    要防止手动配置的 MAC 地址与网络中的其他 MAC 地址冲突所带来的任何风险,必须始终配置本地管理的 MAC 地址,如 IEEE 802.3 标准定义的那样。


    也可以使用 ifconfig ether 命令为当前会话配置接口的 MAC 地址。但是,使用 ifconfig 直接进行的任何更改在重新引导后都不会保留。有关详细信息,请参阅 ifconfig(1M) 手册页。

  6. 重新引导系统。