问题标签 [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 回答
164 浏览

docker - 如何到达家庭服务器(通过wireguard连接到我的VPS)和VPS通过docker运行nginx-proxy+companion

以下设置:

在数据中心的我的 VPS 上在线:Ubuntu Server (18.04) 正在运行。码头工人正在运行。Nginx-proxy 和letsencrypt 伴侣正在运行。已安装 Wireguard 服务器。Wireguard 服务器的 IP 是 10.0.0.1

在家里:我在我的电脑上运行一个 Ubuntu 服务器(18.04)。nginx 服务器 (docker) 已启动并正在运行。我可以通过它的 IP 从我的 LAN 客户端访问它。Wireguard 客户端安装并连接到我的 VPS 上的 Wireguard 服务器。(家用电脑有wireguard IP 10.0.0.10)

VPS 和 PC 都可以通过它们的 10.0.0.0/24 网络相互 ping 通。我可以毫无问题地从我的 vps 访问我家 PC 上的网络服务器。(我在 docker 中运行 nginx 的家用 PC 上公开端口 8080)。

现在的问题:

如何让我的 nginx-proxy 和letsencrypt 伴侣访问我的wireguard 连接的家庭服务器IP,以便我可以通过互联网连接(由Letsencrypt SSL 保护)到我的家庭电脑网络服务器?我尝试了一些没有成功的事情:

选项 1 在浏览器中返回“502 Bad Gateway”。

选项 2 无法启动,因为 docker 抱怨如下:

我感谢有关如何解决此问题以使我的家庭服务器通过我的公共域名 ssl 加密运行的任何帮助/想法。

谢谢

0 投票
1 回答
891 浏览

docker - 访问我自己的域的 Linuxserver/Wireguard 问题

我已经在同一个 VPS 上运行了 5 个容器:

  • 容器 1 指向 traefik.xx.com(子域)。

  • 容器 2 指向 cloud.&&.com(子域)。

  • 容器 3 指向 api.xx.com(子域)。

  • 容器 4 指向 xx.com(主域)

  • 容器 5 指向 oauth.xx.com(子域)

  • 第六个容器是 vpn.xx。com(子域)

当我的手机(在本例中是客户端或对等方)上的wireguard VPN 关闭时,我可以浏览这些域,并且可以从任何地方访问它们。

但是,一旦我开始在作为客户端或对等方的手机上运行 Wireguard VPN,这些域就无法访问,但我可以浏览其他网站,例如 google 和 youtube.Etc。我的域也可以在其他没有运行我的wireguard vpn的设备上访问。

我对 docker-compose.yml 的设置:

我尝试在主机网络上使用network_mode: hostdocker 运行,它工作正常,我可以在运行 wireguard VPN 时访问上述域,但还有另一个问题是容器与主机中的 DNS 端口 53 冲突,并且登录wireguard 说

端口 53 已在使用中。

就我而言,上述工作是因为容器 DNS 无法工作,它必须改用主机 DNS。所以解决方案是使用iptables将容器的 DNS 转发到主机 DNS 并使主机 DNS 完全控制。

你能帮我解决这个问题吗?或者有人有解决方案吗?

0 投票
3 回答
16734 浏览

networking - 我可以让 Wireguard VPN 对等方互相交谈吗?

我有一台运行 Wireguard 的服务器,并且有多个客户端(对等方)连接到它并正在运行。我不太确定 VPN 是如何工作的,但这是我目前的设置。

我的/etc/wireguard/wg0.conf服务器看起来像这样。

我的客户端上的配置wg0.conf看起来像这样。

一切都启动并运行后,从我的具有 IP 地址的客户端172.16.16.2,我可以 ping 服务器172.16.16.1。我可以从我的其他客户端做同样的事情172.16.16.3,我可以 ping 服务器 172.16.16.1

有趣的是,从我的服务器上,我可以 ping 所有的同行!也就是说,从 内部172.16.16.1,我可以 ping172.16.16.2172.16.16.3。但这是设置的主要目的!

现在,我希望我的同龄人能够相互交谈,也就是说,我必须能够172.16.16.2从我的其他同龄人那里 ping 通,172.16.16.3反之亦然,但这不起作用。它说网络无法访问。

这个想法是,我希望它像 LAN 服务器一样工作,其中一个服务器充当网关,多个对等方/客户端可以相互通信,也可以与服务器通信。

这可能吗?如果是,我错过了什么?

0 投票
0 回答
23 浏览

networking - http overwiregarud vs 纯https

我有一个 HTTP 服务在我的 android 应用程序使用的服务器上运行。我正在考虑各种方法,以便客户端可以以安全的方式将数据发送到服务器。一种常见的方法是使用 HTTPS 协议并使用负载平衡器或代理来执行 SSL 终止。

相反,我正在考虑使用 Wiregaurd 作为安全的通信媒介。所以我将首先安装wiregarud客户端作为我的android应用程序的一部分,并通过这个wiregarud通道将所有流量发送到从http端点提供服务的服务器。

这两种方法中哪一种在安全性和速度方面更好?

0 投票
0 回答
730 浏览

wireguard - Wireguard - 如何使用 Wireguard VPN 拆分隧道限制对没有静态 IP 的应用程序的 VPN 访问?

我想将托管在云上的一些业务应用程序限制为仅限我们的员工使用 Wireguard VPN(客户端服务器设置,为他们的私人浏览提供拆分隧道)。

对于在具有静态 IP 的独立服务器上运行的应用程序,我们可以轻松地实现这一点,方法是将它们的 IP 添加到wireguard“允许的 IP”中,并在应用程序服务器中创建防火墙规则以仅接受来自我们的 VPN 服务器(也托管在云上)的连接. 请注意,Wireguard 在第 4 层进行路由。

但是对于使用应用程序负载平衡器或无服务器设置的应用程序,它们没有静态 IP,我们使用像 Cloudflare 这样具有 IP 范围的代理服务器,然后我们添加 Wireguard 允许的 IP。这是第 7 层解决方案。

有没有更好的方法(最好在第 4 层),使用 Wireguard VPN 限制对没有静态 IP 的应用程序的访问。

此外,我们在 VPN 服务器中有一个私有 DNS,可用于设计解决方案。

谢谢维韦克

0 投票
1 回答
264 浏览

nginx - 使用 Nginx 反向代理获取 404

nginx 服务器相对较新,并且尝试做相对棘手的事情。请放轻松。

我不知道我的配置有什么问题。我正在尝试做一个非常基本的反向代理。进行 SSL 加密的第一个服务器块肯定有效。如果我取消注释第二个服务器块,我的所有流量都会转发到我的主服务器,它运行良好。问题是,我只希望某些子域暴露在互联网上,比如我的 gitea 服务器。所以我注释掉了第二个块并在底部添加了 server 块,它只与 gitea 子域匹配。当我这样做时,我得到的只是一个 404。

我还看到一些奇怪的问题,如果我在没有指定子域的情况下访问该站点,我会从不再托管的站点中获取一个页面,就像它已被缓存一样。我看到一个 stackoverflow 帖子建议删除 sendfile 选项,这似乎没有影响任何事情。我想我会问你们。

我还应该提到,我转发的地址是在wireguard隧道的另一边。我不认为这是一个问题,因为我已经看到它无论如何都可以工作,但它可能是。

0 投票
0 回答
129 浏览

google-cloud-platform - GCP中的wireguard服务器,可以连接,但很少将数据发送回客户端

我在 GCP 中设置了一个wireguard 服务器。客户端可以连接到服务器,服务器和客户端之间有数据传输。但在客户端,我无法连接到任何互联网资源。

以下是客户端连接到服务器时的信息。

在我刚刚在内部更改 GCP 中的防火墙规则之前。但是客户端无法连接到服务器。

在我添加防火墙规则以在控制台中打开 51820 端口之后。客户端可以连接到服务器。但是服务只是发回一些数据,客户端无法访问互联网。

因为我可以在 GCP 中安装软件,所以它应该有互联网连接。

我需要在 GCP 中为 wairguard 设置什么吗?

谢谢。

0 投票
3 回答
13586 浏览

wireguard - Wireguard VPN - 如果以前工作过,如何修复不支持的操作?

尝试启动我的 VPN 接口sudo wg-quick down wg0;sudo wg-quick up wg0

RTNETLINK answers: Operation not supported Unable to access interface: Protocol not supported

我不确定发生了什么,但我唯一做的就是重新启动。我没有更新我的包。仍然有一些明显的变化。

0 投票
1 回答
200 浏览

wireguard - Wireguard 端口号

我尝试在两个主机 A 和 B 之间建立一个线保护隧道。配置隧道时,端点需要端口号。问题是:双方可以使用相同的端口号吗?

0 投票
0 回答
191 浏览

amazon-web-services - 如何通过 WireGuard VPN 解析在 Route53 中创建的私有托管区域中的资源记录

我创建了工作正常的 WireGuard VPN 隧道,但本地主机只能通过 IP 地址访问。我想使用私有托管区域以及为每个主机提供静态名称,因此我可以通过 FQDN 访问主机,例如“myhost.myprivatesubdomain.mydomain.com”。

我在 AWS 文档中发现,我可以使用 Route53 来做到这一点,但要实现它,我需要创建“客户端 VPN 端点”。该过程得到了很好的解释,但有一个问题,与端点相关的每小时成本约为 0.15 美元/小时(~100 美元/月)。对于这样一个简单的服务来说很多。

我认为有几种方法可以做到这一点。

  • 为公共区域保留 Route53,并为私有主机区域使用例如 UnBound DNS 服务器。(不确定)
  • 创建自己的 DNS 并完全删除 Route53(很多工作但可行)

如果我可以在 Route53 中保留私有区域设置并使用额外的 DNS 服务器来处理这个 ENDPOINT 问题,那么最好的办法就是!(不确定这是否真的可能)

我在 DNS 设置方面不是很熟练,所以我一直在尝试找到处理这种情况的 Internet 资源,但没有成功。

有人能指出我正确的方向吗?

提前致谢。