登录
首页 >  Golang >  Go问答

在Windows 10上设置wg0接口的步骤

来源:stackoverflow

时间:2024-02-18 13:36:22 404浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《在Windows 10上设置wg0接口的步骤》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

我无法在 windows (10) 上使用 wgctl 管理wireguard 接口。我在linux上用过,一切都很好。我使用的是 windows 10 最新更新、wireguard.exe 最新版本、go 1.17.3 最新版本。

我正在使用使用 wireguard.exe /installtunnelservice /path/wg0.conf 创建的隧道。如果我使用wireguard gui 管理隧道,一切都会正常。但我需要以编程方式完成它。

c:\>wg
interface: wg0
  public key: k0bz3bk...5tcwo=
  private key: (hidden)
  listening port: 57538

peer: 7w6toxi...f7zao=
  endpoint: 159....105:51820
  allowed ips: 100.127.128.0/18
  latest handshake: 43 seconds ago
  transfer: 31.61 kib received, 115.69 kib sent
  persistent keepalive: every 25 seconds

...

以下代码退出时显示“文件不存在”。将代码写入库后,我认为wireguard.exe使用的是nt内核模式,而库不支持它?有人可以确认一下吗?解决这个问题的最佳方法是什么?

package main
import (
    "log"

    "golang.zx2c4.com/wireguard/wgctrl"
    "golang.zx2c4.com/wireguard/wgctrl/wgtypes"
)
func main() {
    wgc, err := wgctrl.New()
    if err != nil {
        log.Printf("wgctrl.New: %s", err)
    }
    defer wgc.Close()

    cfg := wgtypes.Config{}

    port := 51822
    cfg.ListenPort = &port

    err = wgc.ConfigureDevice("wg0", cfg)
    if err != nil {
        log.Printf("wgc.ConfigureDevice: %s", err)
    }
}

正确答案


在 GitHub 上升级问题后,结果发现这是库中的一个错误,在我发布此内容后不久就得到了及时修复。

好了,本文到此结束,带大家了解了《在Windows 10上设置wg0接口的步骤》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>