首页 > 解决方案 > wireguard ios, route ip+net: sysctl: operation not supported

问题描述

我尝试在我的 ios 设备上从https://git.zx2c4.com/wireguard-apple/about/运行wireguard 项目。我有一个问题,我无法让它工作,当我尝试连接时,我不断收到以下错误: [NET] route ip+net: sysctl: operation not supported

从我的调试来看,错误来自wireguard-go库,可以在这里找到: https ://git.zx2c4.com/wireguard-go/

在一个论坛上,我发现从 IOS 9 开始, sysctl 被禁用。但是为什么我的构建不工作,如果我从 AppStore 安装wireguard 工作正常。

标签: iosvpnwireguard

解决方案


问题是go版本。使用 1.13.3 不工作,但使用 1.13.2。Go 必须通过 brew 安装,因为:

REAL_GOROOT := $(shell which 2>/dev/null)
export GOROOT := $(BUILDDIR)/goroot
$(GOROOT)/.prepared:    
   [ -n "$(REAL_GOROOT)" ]  
   mkdir -p "$(GOROOT)"     
   rsync -a --delete --exclude=pkg/obj/go-build "$(REAL_GOROOT)/" "$(GOROOT)/"  
   patch -p1 -f -N -r- -d "$(GOROOT)" < goruntime-boottime-over-monotonic.diff  
   touch "$@"

在 Homebrew 版本 1.13.3 上不再存在。您需要从这里安装旧公式: https ://raw.githubusercontent.com/Homebrew/homebrew-core/407fa456e9d7f94716ee6a63f151b256ed664125/Formula/go.rb

更新:他们更新了代码以使用 go 版本 1.13.3,但现在似乎不起作用。


推荐阅读