绑定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)
}
}