问题标签 [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.
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 加密运行的任何帮助/想法。
谢谢
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: host
docker 运行,它工作正常,我可以在运行 wireguard VPN 时访问上述域,但还有另一个问题是容器与主机中的 DNS 端口 53 冲突,并且登录wireguard 说
端口 53 已在使用中。
就我而言,上述工作是因为容器 DNS 无法工作,它必须改用主机 DNS。所以解决方案是使用iptables将容器的 DNS 转发到主机 DNS 并使主机 DNS 完全控制。
你能帮我解决这个问题吗?或者有人有解决方案吗?
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.2
和172.16.16.3
。但这是设置的主要目的!
现在,我希望我的同龄人能够相互交谈,也就是说,我必须能够172.16.16.2
从我的其他同龄人那里 ping 通,172.16.16.3
反之亦然,但这不起作用。它说网络无法访问。
这个想法是,我希望它像 LAN 服务器一样工作,其中一个服务器充当网关,多个对等方/客户端可以相互通信,也可以与服务器通信。
这可能吗?如果是,我错过了什么?
networking - http overwiregarud vs 纯https
我有一个 HTTP 服务在我的 android 应用程序使用的服务器上运行。我正在考虑各种方法,以便客户端可以以安全的方式将数据发送到服务器。一种常见的方法是使用 HTTPS 协议并使用负载平衡器或代理来执行 SSL 终止。
相反,我正在考虑使用 Wiregaurd 作为安全的通信媒介。所以我将首先安装wiregarud客户端作为我的android应用程序的一部分,并通过这个wiregarud通道将所有流量发送到从http端点提供服务的服务器。
这两种方法中哪一种在安全性和速度方面更好?
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,可用于设计解决方案。
谢谢维韦克
nginx - 使用 Nginx 反向代理获取 404
nginx 服务器相对较新,并且尝试做相对棘手的事情。请放轻松。
我不知道我的配置有什么问题。我正在尝试做一个非常基本的反向代理。进行 SSL 加密的第一个服务器块肯定有效。如果我取消注释第二个服务器块,我的所有流量都会转发到我的主服务器,它运行良好。问题是,我只希望某些子域暴露在互联网上,比如我的 gitea 服务器。所以我注释掉了第二个块并在底部添加了 server 块,它只与 gitea 子域匹配。当我这样做时,我得到的只是一个 404。
我还看到一些奇怪的问题,如果我在没有指定子域的情况下访问该站点,我会从不再托管的站点中获取一个页面,就像它已被缓存一样。我看到一个 stackoverflow 帖子建议删除 sendfile 选项,这似乎没有影响任何事情。我想我会问你们。
我还应该提到,我转发的地址是在wireguard隧道的另一边。我不认为这是一个问题,因为我已经看到它无论如何都可以工作,但它可能是。
google-cloud-platform - GCP中的wireguard服务器,可以连接,但很少将数据发送回客户端
我在 GCP 中设置了一个wireguard 服务器。客户端可以连接到服务器,服务器和客户端之间有数据传输。但在客户端,我无法连接到任何互联网资源。
以下是客户端连接到服务器时的信息。
在我刚刚在内部更改 GCP 中的防火墙规则之前。但是客户端无法连接到服务器。
在我添加防火墙规则以在控制台中打开 51820 端口之后。客户端可以连接到服务器。但是服务只是发回一些数据,客户端无法访问互联网。
因为我可以在 GCP 中安装软件,所以它应该有互联网连接。
我需要在 GCP 中为 wairguard 设置什么吗?
谢谢。
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
我不确定发生了什么,但我唯一做的就是重新启动。我没有更新我的包。仍然有一些明显的变化。
wireguard - Wireguard 端口号
我尝试在两个主机 A 和 B 之间建立一个线保护隧道。配置隧道时,端点需要端口号。问题是:双方可以使用相同的端口号吗?
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 资源,但没有成功。
有人能指出我正确的方向吗?
提前致谢。