使用 Golang 添加路由可以借助 os/exec
包来执行系统命令。根据你提供的信息,以下是一个示例代码:
package main
import (
"fmt"
"log"
"os/exec"
)
func addRoute(destination string, iface string, gateway string, genmask string) {
cmd := exec.Command("ip", "route", "add", destination, "via", gateway)
if iface != "" {
cmd.Args = append(cmd.Args, "dev", iface)
}
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
fmt.Println("Route added successfully.")
}
func main() {
destination := "192.168.201.0/24"
gateway := "0.0.0.0"
genmask := "255.255.255.0"
iface := "" // 如果未输入接口名,则留空;如果有接口名,请替换为实际的接口名
addRoute(destination, iface, gateway, genmask)
}
在 main()
函数中,我们可以通过调用 addRoute()
函数来添加路由。其中,destination
是目标网络地址,iface
是要发送数据的接口名称(如果为空则不指定),gateway
是网关地址,genmask
是子网掩码。
请注意,在运行此代码之前,请确保您具有足够的权限以执行此类系统命令。
内容由零声教学AI助手提供,问题来源于学员提问