当前位置: 首页 > news >正文

晋城中英文网站建设百度地图关键词优化

晋城中英文网站建设,百度地图关键词优化,做响应式网站的流程,武汉网页设计培训学校《零入门kubernetes网络实战》视频专栏地址 https://www.ixigua.com/7193641905282875942 本篇文章视频地址(稍后上传) 本篇文章主要是使用golang自带的syscall包来创建tun类型的虚拟网络设备。 注意: 目前只能使用syscall包来创建tun类型的虚拟设备。 tun虚拟网…

《零入门kubernetes网络实战》视频专栏地址
https://www.ixigua.com/7193641905282875942

本篇文章视频地址(稍后上传)


本篇文章主要是使用golang自带的syscall包来创建tun类型的虚拟网络设备。

注意:

目前只能使用syscall包来创建tun类型的虚拟设备。

tun虚拟网卡设备的启动,IP配置,路由配置可能需要其他方式实现。

比方说通过netlink包方式来实现。

1、golang代码

package mainimport ("bytes""fmt""github.com/vishvananda/netlink""net""os""syscall""unsafe"
)const (tunDevice  = "/dev/net/tun"ifnameSize = 16
)type ifreqFlags struct {IfrnName  [ifnameSize]byteIfruFlags uint16
}func ioctl(fd int, request, argp uintptr) error {_, _, errno := syscall.Syscall(syscall.SYS_IOCTL, uintptr(fd), request, argp)if errno != 0 {return fmt.Errorf("ioctl failed with '%s'", errno)}return nil
}func fromZeroTerm(s []byte) string {return string(bytes.TrimRight(s, "\000"))
}func OpenTun(name string) (*os.File, string, error) {tun, err := os.OpenFile(tunDevice, os.O_RDWR, 0)if err != nil {fmt.Printf("----OpenTun----err:%v\n", err.Error())return nil, "", err}var ifr ifreqFlagscopy(ifr.IfrnName[:len(ifr.IfrnName)-1], []byte(name+"\000"))ifr.IfruFlags = syscall.IFF_TUN | syscall.IFF_NO_PIerr = ioctl(int(tun.Fd()), syscall.TUNSETIFF, uintptr(unsafe.Pointer(&ifr)))if err != nil {fmt.Printf("----OpenTun---ioctl----err:%v\n", err.Error())return nil, "", err}// 1,表示,程序结束后,创建的tun设备依旧在。// 默认为0,程序结束后,创建的tun设备就自动删除了err = ioctl(int(tun.Fd()), syscall.TUNSETPERSIST, 1)if err != nil {fmt.Printf("----OpenTun---ioctl---persist---err:%v\n", err.Error())return nil, "", err}ifname := fromZeroTerm(ifr.IfrnName[:ifnameSize])return tun, ifname, nil
}func configureIface(ifname string, ipn *net.IPNet, mtu int) error {iface, err := netlink.LinkByName(ifname)if err != nil {return fmt.Errorf("failed to lookup interface %v", ifname)}err = netlink.AddrAdd(iface, &netlink.Addr{IPNet: ipn, Label: ""})if err != nil {return fmt.Errorf("failed to add IP address %v to %v: %v", ipn.String(), ifname, err)}err = netlink.LinkSetMTU(iface, mtu)if err != nil {return fmt.Errorf("failed to set MTU for %v: %v", ifname, err)}err = netlink.LinkSetUp(iface)if err != nil {return fmt.Errorf("failed to set interface %v to UP state: %v", ifname, err)}err = netlink.RouteAdd(&netlink.Route{LinkIndex: iface.Attrs().Index,Scope:     netlink.SCOPE_UNIVERSE,Dst:       ipn,})if err != nil && err != syscall.EEXIST {return fmt.Errorf("failed to add route (%v -> %v): %v", ipn.String(), ifname, err)}return nil
}func main() {tun, fname, err := OpenTun("flannel-test")if err != nil {fmt.Printf("----Create--Tun------err:%v\n", err.Error())return}fmt.Printf("-----create---tun---name:%v\tfname:%v\n", tun.Name(), fname)_, ipn, _ := net.ParseCIDR("10.244.1.0/24")configureIface(fname, ipn, 1500)//time.Sleep(time.Hour)
}

在这里插入图片描述

2、本地编译

Makefile

build:CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.goscp:scp main root@10.211.55.122:/rootall:make build && make scp

在这里插入图片描述

3、远程服务器测试

route -n
å
ip a s | grep 10.211ip link sh flannel-test./main ip link sh flannel-testip a sh flannel-testroute -n

在这里插入图片描述

ip tuntap listethtool -i flannel-testethtool -i eth0

在这里插入图片描述

4、测试虚拟网卡flannel-test的连通性

在这里插入图片描述

5、/dev/net/tun: not pollable

在这里插入图片描述

read /dev/net/tun: not pollable

其实,曾经还出现过,此代码存在的情况下,也会报上面的错误。

可惜,已经不知道如何恢复异常场景了。


点击 下面 返回 专栏目录

<<零入门kubernetes网络实战>>技术专栏之文章目录

http://www.ds6.com.cn/news/56751.html

相关文章:

  • 郓城网站建设百度营销
  • 日本韩国携手出线广西网站seo
  • 沙洋建设局网站百度官方网站下载
  • 天河门户网站建设公司百度引流免费推广怎么做
  • 手机网站应该怎么做舆情分析报告案例
  • 联通做网站google网页搜索
  • 旅游网站国际业务怎样做游戏推广平台
  • 武昌做网站的公司站外推广
  • 中国建设部门官方网站白酒营销策划方案
  • 做鞋子的招聘网站有哪些上海外包seo
  • 政府网站管理系统 php全球疫情最新数据统计
  • 个人网站设计论文前言网站安全检测平台
  • 做网站导出用什么色彩模式最近一周国内热点新闻
  • 出口网站制作seochinazcom
  • wordpress换空间后内页全部404搜索引擎优化中的步骤包括
  • magento建站是傻瓜式的吗房地产新闻最新消息
  • 用cms做网站的具体步骤论坛推广
  • 设计师关注的十大网站百度统计app下载
  • 微信公众号手机登录入口江北seo页面优化公司
  • 如何更换网站新域名万网域名查询工具
  • 徐州人力资源和社会保障网短视频seo排名系统
  • 幼儿园网站建设方案结语网上销售
  • 税务局的网站是哪个公司做的网站优化内容
  • 本地主机做网站网站备案是什么意思
  • 编程培训网站湘潭seo公司
  • 做第三方库网站平台营销策略
  • 诊所网站模板如何对网站进行推广
  • 福州网站建设兼职天津seo公司
  • 网站如何做关网络营销推广方案有哪些
  • 手机建站系统源码搜索引擎的网址有哪些