This is a creation in Article, where the information may have evolved or changed.
Package Mainimport ("FMT" "NET" "OS" "Os/exec" "Strings") Func Main () {if Len (OS. Args) !=2{FMT. Printf("usage:\n%s 110.10.25.0/24\n", OS. Args[0]) Return} _, ipnet, err: = Net. PARSECIDR(OS. Args[1]) If err! = Nil {FMT. Printf("Parseip error:\n%s\n", err) return} Intfs, err: = Net. Interfaces() if err! = Nil {FMT. Printf("Get Addr error:\n%s\n", err) return} _, LanIP10, _: = Net. PARSECIDR("10.0.0.0/8") _, LanIP172, _: = Net. PARSECIDR("172.18.0.0/16") _, LanIP192, _: = Net. PARSECIDR("192.168.0.0/16") for _, intf: = range Intfs {list, _: = intf. Addrs() for _, Addr: = Range List {if!strings. Contains(addr. String(),":") {list: = Strings. Split(addr. String(),"/") If Len (list)! =2{Continue} I: = Net. Parseip(list[0]) If i = = Nil {Continue} if ipnet. Contains(i) {FMT. Printf("Wanip:%s,oldname:%s\n", I, intf. Name) FMT. Println("Start Rename to WAN") Rename (intf. Name,"WAN") Continue} if LanIP10. Contains(i) | | LanIP172. Contains(i) | | LanIP192. Contains(i) {FMT. Printf("Lanip:%s,oldname:%s\n", I, intf. Name) FMT. Println("Start Rename to LAN") Rename (intf. Name,"LAN")}}}}}func rename (Oldname, newname string) {cmd: = exec. Command("netsh","Interface","Set","Interface","Name","=", Oldname,"NewName","=", NewName) out, Err: = cmd. Output() if err! = Nil {FMT. Println(ERR) return} FMT. Println(String ( out))}