在Go语言中,你可以使用exec
包来执行命令行命令,并通过调用ip link
命令来添加主机路由。下面是一个示例代码:
package main
import (
"log"
"os/exec"
)
func main() {
destination := "192.168.201.0"
iface := "ens9"
gateway := "0.0.0.0"
genmask := "255.255.255.0"
// 添加虚拟接口
addIfaceCmd := exec.Command("ip", "link", "add", "route", "dev", iface)
err := addIfaceCmd.Run()
if err != nil {
log.Fatal(err)
}
// 设置目标地址和子网掩码
addAddrCmd := exec.Command("ip", "addr", "add", destination+"/24", "dev", "route")
err = addAddrCmd.Run()
if err != nil {
log.Fatal(err)
}
// 添加默认网关
addRouteCmd := exec.Command("ip", "route", "add", "default", "via", gateway, "dev", "route")
err = addRouteCmd.Run()
if err != nil {
log.Fatal(err)
}
log.Println("主机路由添加成功!")
}
上述代码将创建一个虚拟接口(名称为”route”)并设置目标地址、子网掩码以及默认网关。请确保程序在具有足够权限的环境下运行。
希望这个示例对你有所帮助!如有其他问题,请随时提问。
内容由零声教学AI助手提供,问题来源于学员提问