问题标签 [wireguard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
77 浏览

raspberry-pi3 - Raspberry Pi3B+ 上的 Nordlynx 和 Buster

我想在我的 Raspberry Pi 3B+ 上使用 nordvpn 客户端。到目前为止一切顺利,我下载了客户端 3.8.6 并登录。

它使用 OpenVPN 技术工作,但是当我想使用 nordlynx 时,它连接到服务器,但我无法在任何地方下载/冲浪。

Ping 确实有效,但没有数据传输。

有没有人有任何建议来解决这个问题?

除了nordvpn之外,我还需要wireguard模块吗?

nordvpn 的支持没有提供任何有用的东西,只建议重新安装和 iptables flush...

提前谢谢了

0 投票
0 回答
100 浏览

ssh - 在另一个出口点使用wireguard服务器和隧道出口流量

我正在尝试创建一个wireguard 服务器,将所有传出流量通过另一个出口点进行隧道传输。场景基本上是这样的:

  • 客户端 C1(Android 手机)通过wireguard 应用程序连接到wireguard 服务器WG1
  • WG 服务器 WG1 应将所有流量通过隧道传输到出站服务器 OBS
  • 来自客户端 C1 的流量应该通过出站服务器 OBS 的公共 IP 看到
  • C1,WG1和OBS之间的流量应该在每个连接之间加密
  • WG1 和 OBS 服务器当前通过点对点wireguard 连接进行连接
  • 出站服务器 IP 可以并且将偶尔轮换以更改公共 IP,但客户端不需要更改 wireguard 配置

我想我正在寻找代理解决方案,但我不确定要搜索什么。如果有帮助,我是 AWS 云中的 ubuntu 服务器 20.04。

0 投票
1 回答
75 浏览

raspberry-pi - Wireguard 似乎没有通过流量,分配了奇怪的 IP

我通过 PiVPN 在 Raspberry Pi 4 上安装了 Wireguard。pi 直接插入我的网络交换机。

我完成了设置并为 pi 分配了一个静态 IP (10.0.0.157),生成了一个配置并尝试从我的笔记本电脑登录(笔记本电脑在个人热点上用于测试目的)。

Wireguard 使用配置文件连接并说它正在发送流量,但我无法加载任何内容或 ping 内部网络上的任何设备。

我还注意到我的笔记本电脑被分配了 10.0.6.1 的 IP,这没有意义,因为我的网络在 10.0.0.0/24 的 IP 范围内

知道为什么会发生这种情况或如何解决吗?

0 投票
0 回答
128 浏览

java - 任务 ':ui:kaptGenerateStubsReleaseKotlin' 执行失败

尝试为 Wireguard ( https://git.zx2c4.com/wireguard-android/about ) 构建 android 客户端。我收到以下错误:

Execution failed for task ':ui:kaptGenerateStubsReleaseKotlin'.

运行后:

./gradlew assembleRelease

使用时看不到任何相关内容--debug,尽管在 Java/Android 开发方面我是一个完全的菜鸟。除了 repo 中充满了不推荐使用的语法这一事实之外,还有什么想法可能是问题以及如何进行此构建?

0 投票
0 回答
685 浏览

c# - Wireguard 隧道源到 c#.Net:服务运行故障排除

我正在尝试在 c# .NET Framework 4.6 上制作一个简单的控制台应用程序客户端(starter.exe),以使用 Wireguard 源代码建立基于 WireGuard 协议的连接。

做了什么:

  • 从这里下载的wireguard源代码:git://git.zx2c4.com/wireguard-windows
  • 通过 build.bat在..\embeddable-dll-service\amd64\tunnel.dll中成功构建 Tunnel.dll
  • 在 Visual Studio 2015 中创建了一个项目。使用来自..\embeddable-dll-service\csharp的 c# 代码

从这里开始,一些奇怪的事情正在发生:

  • 如果启动 starter.exe \service <path to *.conf> 我收到错误

服务运行错误:服务进程无法连接到服务控制器。

  • 如果在没有参数的情况下启动 starter.exe 一切正常,直到我删除if{}块:

未处理的异常:System.ComponentModel.Win32Exception:服务没有及时响应
D:\Depository\BitBucket\WireGuard_Tunnel_Repository\WireGuardTunnel_proj\Launcher\Service 中 WireGuardTunnel.Service.Add(String configFile) 的启动或控制请求。 cs: WireGuardTunnel.Program.Main(String[] args) 中的第 69 行 D:\Depository\BitBucket\WireGuard_Tunnel_Repository\WireGuardTunnel_proj\Launcher\Program.cs:第 83 行

这意味着即使 if{} 块中的代码没有执行,它也会以某种方式影响应用程序的行为。

  • 接下来,由于我想让我的应用程序使用参数,我通过删除 Service.Run 后的 return 并将 args[1] 传递给 Service.Add(args[1]) 解决了这个问题。它工作正常,但我在日志中有一个额外的日志行(由于上面描述的 Service.Run 永久错误,第一个日志行):

服务运行错误:服务进程无法连接到服务控制器。
235660:[TUN] [chicago4] 监视网络接口
245661:[TUN] [chicago4] 解析 DNS 名称
245661:[TUN] [chicago4] 创建 Wintun 接口
225660:[TUN] [chicago4] 启动 WireGuard/0.3.1(Windows 6.1 .7601;amd64)

所以最后的问题:

  1. 为什么 Service.Run(confFile) 不起作用
  2. 为什么 Service.Run(confFile) 会影响 Service.Add(confFile)
  3. 为什么在我启动不带参数的 starte.exe 时执行 if{} 块

未经修改的原Program.cs:

0 投票
1 回答
1397 浏览

docker - 使用 Wireguard 容器后面的端口绑定访问 Docker 容器

简短的故事,我没有来自我的互联网提供商的静态 IP,然后我想到了使用 Raspberry Pi 4、Raspbian 和 linuxserver.io Wireguard 映像构建我自己的 VPN 服务器。然后,在这些 VPN 后面是 Nextcloud 脚本。到目前为止,我已经使用 docker-compose.yaml 完成了此操作,但返回错误:

当我访问http://my.vpn.ip:8080时,我希望我的 nextcloud web ui 可以通过我的 VPN IP 地址从外部访问

network_mode: service:wireguard我在我的 docker-compose.yaml 文件中添加了一行,这样 nextcloud 容器将与wireguard 容器在同一个网络中。但它似乎不适用于我已经设置的暴露端口 8080:80。当我启动时docker-compose up -d,它返回如下错误输出:

如果有人可以帮助我,我将不胜感激。谢谢你。

0 投票
2 回答
1059 浏览

iptables - 'ip -4 rule add table main suppress_prefixlength 0' 是什么意思?

ip -4 rule add table main suppress_prefixlength 0 该命令出现在连接wireguard vpn的过程中。

0 投票
1 回答
304 浏览

swift - 如何调试具有网络扩展作为隧道提供程序的 macOS 应用程序的问题?

我正在维护一个项目,而且我刚刚开始,所以我不太了解代码库。我的第一个任务是将项目使用的 Wireguard 库更新到最新版本。在我这样做之后,应用程序拒绝通过wireguard进行连接。我很确定应用程序中不起作用的部分是我的应用程序创建的网络首选项中的条目。在可以运行的版本中,安装的条目可以在不运行应用程序的情况下连接,在无法连接的版本中,该条目不起作用。我尝试登录控制台:

对于有效的版本,日志是:

对于不起作用的版本,日志是:

引起我注意的是插件在第二个日志中的pid = 0,这可能是插件没有根据日志加载的原因,但我想知道是否有更聪明的事情要做调试问题比阅读这个不是很详细的日志。有没有类似详细选项的东西?非常感谢您的帮助。

0 投票
3 回答
30619 浏览

endpoint - Wireguard 配置文件中的 Endpoint 和 AllowedIPs 字段有什么区别?

我对 Wireguard 的理解是服务端和客户端的接口(虽然看起来听不清?)都有自己的.conf文件。例如考虑以下.conf文件。

如何判断这是客户端文件还是服务器.conf文件(如果可能的话)?Endpoint这可能是一个非常简单的问题,但是和AllowedIPs字段之间有什么区别[Peer]?我从CryptoKey Routing推断,一旦interface接收到一个数据包,它就会使用interface私钥对其进行解密,并AllowedIPs根据所有内容检查发件人 IP peers,如果凭据实际上与它匹配,peer它是否接受它。另一方面,如果interface要发送一个数据包,它会使用peer公钥对其进行加密,但它会将其发送到Endpoint或其中一个AllowedIPs

编辑 1:我确实使用man wg过,但对我来说,定义Endpoint仍然很模糊。然而,该AllowedIPs领域似乎更容易掌握。

编辑 2:经过进一步研究,我认为该AllowedIPs字段指定了对等方可用于接收流量或向其发送流量的 IP 地址。如果有人可以确认或纠正这一点,我将不胜感激。

0 投票
0 回答
119 浏览

android - 通过 VPN 时信号连接超时

我有一个安装了 pihole 和wireguard 的树莓派。Pihole 工作正常,除了用于 Android 的 Signal Messenger 外,Wireguard 也一样。当我通过 VPN 连接时,我总是会超时。

我使用 PiVPN 脚本安装了 wiregurad,因此我有一个非常简单的配置,如下所示:

我手机上的配置也很简单。

我的路由表如下所示:

192.168.1.2 是我的 raspi 也是我的默认 DNS。我不明白为什么 Signal 试图连接到 192.168.210.1 并且只有在通过 VPN 连接时才会出现此异常。有人有想法吗?谢谢!