mirror of
https://github.com/net-byte/vtun
synced 2024-03-14 10:50:03 +08:00
27 lines
573 B
Go
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)
|
|
}
|
|
}
|