绑定bond或team后,多个网口的mac地址只有一个,可以用下边这个库获取真实mac

package main

import (
	"fmt"
	"github.com/safchain/ethtool"
	"net"
)

func main() {
	interfaces, err := net.Interfaces()
	if err != nil {
		panic( err)
	}
	for _, inter := range interfaces {
		e, err := ethtool.NewEthtool()
		if err != nil {
			panic(err.Error())
		}
		defer e.Close()

		permAddr, err := e.PermAddr(inter.Name)
		if err != nil {
			panic(err.Error())
		}
		fmt.Printf(inter.Name+": %+v\n", permAddr)
	}
}