Я пытаюсь выполнить следующие системные команды из моего кода Go:
/usr/sbin/ip route del default dev enp0s31f6
/usr/sbin/route add default gw 10.0.100.1 enp0s31f6
Это код, который я должен выполнитькоманды:
cmd := exec.Command("ifconfig",""+ob.Name,item.Address,"netmask",item.Mask,"up")
cmd.Run()
// Delete default gateway
delCommand := exec.Command("ip","route","del","default","dev",ob.Name)
out,delerr := delCommand.Output()
fmt.Println(out,delCommand)
fmt.Println("del err",delerr)
//Add gateway
addCommand := exec.Command("route","add","default","gw",item.GW,ob.Name)
addOut,addErr := addCommand.Output()
fmt.Println(addCommand)
fmt.Println("addCommand ",addOut,addErr)
Однако, когда я запускаю вышеупомянутые команды из терминала, все работает
Я запускаю свой код с помощью sudo.
Вот ошибки, которые я получаю:
/usr/sbin/ip route del default dev enp0s31f6 exit status 2
/usr/sbin/route add default gw 10.0.100.1 enp0s31f6 exit status 7
Итак, после использования комбинированного вывода вот что я получаю
RTNETLINK answers: No such process
SIOCADDRT: Network is unreachable