首页 > 其他分享 >golang netlink 方便的网络管理包

golang netlink 方便的网络管理包

时间:2023-05-13 18:13:39浏览次数:54  
标签:netlink github addr 网络管理 golang https com

netlink可以方便的处理golang 对于系统网络相关测试,比如我们需要设置网桥,配置ip,设置路由。。。。

参考使用

package main
 
import (
  "github.com/vishvananda/netlink"
)
 
func main() {
  eth, _ := netlink.LinkByName("enp0s2")
  addr, _ := netlink.ParseAddr("10.10.17.29/32")
  netlink.AddrAdd(eth, addr)
}

说明

netlink 原始来自docker 内部的网络操作方法,fork 并进行了不少的优化以及bug 修复,对于需要基于golang 进行系统网络相关的操作的应用来说是
一个很不错的选择

参考资料

https://github.com/vishvananda/netlink
https://github.com/opencontainers/runc

标签:netlink,github,addr,网络管理,golang,https,com
From: https://www.cnblogs.com/rongfengliang/p/17397852.html

相关文章

  • [golang] logrus日志包如何自定义级别
    在Logrus中,可以使用logrus.Level类型定义自定义的日志级别,以便更精细地控制日志输出。以下是使用Logrus自定义级别的基本步骤:首先,在代码中使用 logrus.New() 方法创建一个新的logrus.Logger对象,并使用 AddHook() 方法注册所需的Hook对象(可选)。例如,以下代码创建了一个......
  • GoLang 使用 goroutine 停止的几种办法
    [toc]前言我们有很多情况下需要主动关闭goroutine,如需要实现一个系统自动熔断的功能就需要主动关闭goroutine为什么要中断GoRoutine?场景:俩个相互依赖的的操作,“依赖”是指如果其中一个失败,那么另一个就没有意义,而不是第二个操作依赖第一个操作的结果(那种情况下,两个操作不能并行)。......
  • golang web页面动态加载实现
            Go的web页面动态加载实现。  1.在MySQL中添加表项users,构造多条数据。CREATETABLEIFNOTEXISTSusers(idINTUNSIGNEDAUTO_INCREMENT,usernameVARCHAR(255)NOTNULL,passwordVA......
  • 使用golang编写支持C++调用的动态库,接口支持结构体和回调函数
    网上有很多例子介绍如何使用cgo实现C/C++与golang进行接口交互。我有个项目是使用Qt写的客户端程序,但Qt在需要使用redis、支持表单的web服务、mq或网络化日志库等需求时,往往需要加载一大堆第三方库,且编译复杂,跨平台(如Windows/linuxarm/linuxx86)编译时较为复杂。鉴于有使用go......
  • Golang调用Dll案例
    Golang调用Dll案例前言在家办公已经两个多星期了,目前最大的困难就是网络很差。独自一个人用golang开发调用dll的驱动程序。本来就是半桶水的我,还在为等待打开一个页面而磨平了耐心。本想依葫芦画瓢把这个驱动做了。可网上找到的案例都是一些简单的调用dll。对于各种传参、获取......
  • golang调用dll,windows
    使用syscall.LoadLibrary(dllPath)函数加载dll,syscall.Syscall(...)函数调用具体的函数接口funcGoCallDll1(a,bint)uintptr{ dllFile:=syscall.NewLazyDLL(dllFileName) fmt.Println("dll:",dllFile.Name) add:=dllFile.NewProc("add") fmt.Println("......
  • Golang for循环遍历小坑
    一、for循环循环:让程序多次执行相同的代码块for循环是Go语言中唯一一个循环结构for循环经典语法先执行表达式1执行表达式2判断是否成立,如果成立执行循环体循环体执行完成后,执行表达式3再次执行表达式2,判断是否成立.for循环用的最多的地方就是遍历数组或切片等for表达式1......
  • Go语言(Golang)数据库编程
    Go数据库编程一、连接数据库准备连接到数据库要想连接到SQL数据库,首先需要加载目标数据库的驱动,驱动里面包含着于该数据库交互的逻辑。sql.Open()数据库驱动的名称数据源名称得到一个指向sql.DB这个struct的指针sql.DB是用来操作数据库的,它代表了0个或者多个......
  • golang在编译测试时使用ldflags动态设置包中变量的值
    Example: mkdir$GOPATH/src/gotest/touchgo_test.go packagegotestimport"testing"vartimestringvarversionstringfuncTestBuild(t*testing.T){t.Log(time)t.Log(version)} ReadMe.txtgotest-ldflags="-X'gotest......
  • Golang刷题日志--岛屿问题
    1.给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例代码:import"fmt"funcnumIsIands(grid[][]byte)int{ //记录岛......