vtun/common/osutil/osutil.go
2021-04-19 17:17:33 +08:00

27 lines
573 B
Go

package osutil
import (
"log"
"os"
"os/exec"
"github.com/songgao/water"
)
func ConfigTun(cidr string, iface *water.Interface) {
execCmd("/sbin/ip", "link", "set", "dev", iface.Name(), "mtu", "1300")
execCmd("/sbin/ip", "addr", "add", cidr, "dev", iface.Name())
execCmd("/sbin/ip", "link", "set", "dev", iface.Name(), "up")
}
func execCmd(c string, args ...string) {
cmd := exec.Command(c, args...)
cmd.Stderr = os.Stderr
cmd.Stdout = os.Stdout
cmd.Stdin = os.Stdin
err := cmd.Run()
if nil != err {
log.Fatalln("failed to exec /sbin/ip error:", err)
}
}