尝试使用以下方法启动我的 VPN 接口sudo wg-quick down wg0;sudo wg-quick up wg0:
RTNETLINK answers: Operation not supported
Unable to access interface: Protocol not supported
我不确定发生了什么,但我唯一做的就是重新启动。我没有更新我的软件包。还是有什么明显改变了。
我已经在 Windows Server 2017 上安装了 WireGuard。当我通过客户端应用程序(管理器)激活隧道时,一切正常。重新启动计算机后,WireGuard 无法自动启动。日志包含以下错误:
[tun] [wg0] Unable to create Wintun interface: Error registering rings: Error listing NDIS interfaces: no interfaces found
我可以通过客户端应用程序显式/手动激活隧道,但如果机器重新启动,我需要隧道自动启动。
我将它安装在其他 Windows Server 2017 机器上,在这些机器上,WireGuard 会在系统启动时自动启动。
感谢您帮助解决机器启动时 WireGuard 自动启动的问题。
我发现不同的 Wireguard 私钥可能会产生相同的公钥。\n在“不同密钥”下,我的意思是在计算公钥的 curve25519 期间,忽略私钥第一个字节中的最后四位。
\n如果有人能解释这种奇怪的(?)行为,我将不胜感激。
\n例子:
\n\xe2\x9d\xaf echo "Mp4S2elbVWEo2xzGtefU8eIccYMkX3XD8y3yNGeOMXE=" | wg pubkey\nYG8wJtIMuqTmO7l4OMDBkT516y8NigBilaqZt3fDdCU=\n\xe2\x9d\xaf echo "MJ4S2elbVWEo2xzGtefU8eIccYMkX3XD8y3yNGeOMXE=" | wg pubkey\nYG8wJtIMuqTmO7l4OMDBkT516y8NigBilaqZt3fDdCU=\n\xe2\x9d\xaf echo "MZ4S2elbVWEo2xzGtefU8eIccYMkX3XD8y3yNGeOMXE=" | wg pubkey\nYG8wJtIMuqTmO7l4OMDBkT516y8NigBilaqZt3fDdCU=\n\xe2\x9d\xaf echo "M54S2elbVWEo2xzGtefU8eIccYMkX3XD8y3yNGeOMXE=" | wg pubkey\nYG8wJtIMuqTmO7l4OMDBkT516y8NigBilaqZt3fDdCU=\nRun Code Online (Sandbox Code Playgroud)\n 我已经开始通过WireGuard设置我自己的VPN 服务它在以下情况下工作得很好......
配置 (工作)
Client
[Interface]
PrivateKey = *hidden*
Address = 10.6.0.2/24
DNS = 1.1.1.1
[Peer]
PublicKey = *hidden*
PresharedKey = *hidden*
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = vpn.myserver.net:51820
Run Code Online (Sandbox Code Playgroud)
我已将AllowedIPs (IPv4)设置为 0.0.0.0/0,允许客户端通过服务器路由其 DNS 请求,同时防止 DNS 泄漏。
我的PiHole 服务使用eth0接口,而Wireguard使用它自己调用的wg0. Pihole (DNS)
的私有 IPv4是,服务器网关是。10.0.0.510.0.0.1
配置 (目前不工作)
Client
[Interface]
PrivateKey = *hidden*
Address = 10.6.0.2/24
DNS = 10.0.0.5
[Peer]
PublicKey = *hidden*
PresharedKey …Run Code Online (Sandbox Code Playgroud) 我需要调用WireGuard VPN内的REST API 。WireGuard VPN 是客户端管理的,所以我无法修改它。我刚刚获得了访问 VPN 的配置文件。
我需要一个仅具有发送UDP数据包功能的纯代码解决方案。我的应用程序无法修改我的网络或 REST API 服务器网络的网络配置。
此代码解决方案可能使用Go、Python 或 JavaScript,因为我们现有的代码库已经使用所有这些语言。
如果 Java 或C#中有足够有用的解决方案,我们可以将这些语言添加到我们的构建链中。