标签: wireguard

连接到 Wireguard VPN 时使本地资源可用

背景:
我已在本地(专用)网络上配置了 Wireguard VPN 服务器。[假设专用网络:192.168.1.0/24] Wireguard 客户端具有相同的 IP 网络 192.168.1.X

我的网络中存在一些具有静态本地 IP 地址的非 Wireguard 兼容设备(IP 摄像机、DVR)。

查询:
当我作为 Wireguard 客户端连接到 Wireguard 服务器(从本地网络外部)时,我想使用其本地静态 IP 地址访问那些非 Wireguard 兼容设备。我已经确保不会有任何IP冲突。

networking vpn wireguard

8
推荐指数
1
解决办法
5万
查看次数

使用 Wireguard 连接 2 个站点(网络)

以下是我想要实现的目标。有人可以提出具有具体步骤的解决方案吗?如果 Wireguard 无法满足要求,替代解决方案是什么?

两个站点(RA 和 RB)上的路由器都有静态公共 (WAN) IP 地址和域名。每个站点上都有一个运行的 Wireguard 服务器。
两个站点上的所有设备都有静态 LAN 地址。
某些设备不具备支持 Wireguard 客户端连接到 Wireguard 服务器的功能。
两个站点都具有相同的本地网络 (192.168.1.0/24)。
两个路由器都有不同的 DHCP 范围。大多数设备都位于静态 LAN 地址上。

要求:

当两台 Wireguard 服务器均已启动并运行时。我可以将每台服务器作为 Wireguard 客户端连接到其他 Wireguard 服务器,以便可以连接这两个站点吗?
当两个站点都通过 Wireguard 连接时,我可以从站点 B 访问站点 A 设备吗?反之亦然?
如果我可以从外部 Wireguard 客户端连接到任何 Wireguard 服务器,我可以访问两个站点上的设备吗?

在此输入图像描述

networking vpn wireguard

7
推荐指数
2
解决办法
1万
查看次数

为什么我的 LAN 电缆在我的计算机上打开 UDP 端口?

操作系统:Debian 12

我经常从事 OPSEC 工作,因为安全对我来说非常重要。现在我有一个新的路由器,当我插入 LAN 电缆时,它会在我的计算机上打开一个端口。当我断开 LAN 电缆时,该端口被关闭。我的路由器上没有配置端口转发

未插入 LAN:

$ sudo ss -lntup
Netid  State    Recv-Q   Send-Q      Local Address:Port      Peer Address:Port  Process                                                                         
udp    UNCONN   0        0           192.168.122.1:53             0.0.0.0:*      users:(("dnsmasq",pid=2717,fd=5))                                              
tcp    LISTEN   0        32          192.168.122.1:53             0.0.0.0:*      users:(("dnsmasq",pid=2717,fd=6)) 
Run Code Online (Sandbox Code Playgroud)

局域网已插入:

$ sudo ss -lntup
Netid  State    Recv-Q   Send-Q      Local Address:Port      Peer Address:Port  Process                                                                         
udp    UNCONN   0        0           192.168.122.1:53             0.0.0.0:*      users:(("dnsmasq",pid=2717,fd=5))                                              
udp    UNCONN   0        0                 0.0.0.0:33955          0.0.0.0:*                                                                                                                
tcp    LISTEN   0        32          192.168.122.1:53             0.0.0.0:*      users:(("dnsmasq",pid=2717,fd=6)) 
Run Code Online (Sandbox Code Playgroud)

当我重新插入 LAN 时,它会打开另一个端口:

$ sudo ss -lntup
udp …
Run Code Online (Sandbox Code Playgroud)

networking security debian port wireguard

6
推荐指数
1
解决办法
1538
查看次数

两个 LAN 之间的 Wireguard 连接,以及路由器后面的 Wireguard 盒

我有两个家庭 LAN(相距 100 公里)通过互联网提供商路由器连接到互联网,并希望它们通过两台单板计算机(NanoPi R2S)与wireguard VPN 连接。NanoPi R2S 板已经安装了armbian 和wireguard。

其中一个互联网连接具有静态和其他动态互联网 IP。两者都是在动态DNS中输入的,现在我有机会在nanopis上安装动态DNS客户端,因为路由器上的客户端不能很好地工作。我可以通过两个互联网路由器上的 NAT 虚拟服务器功能公开wireguard 计算机。

站点A:

  • 静态公网 IP AAAA 和名称 sitea
  • LAN 192.168.0.0/24,默认网关 192.168.0.1
  • NanoPi eth0 带 DHCP 预留 192.168.0.250

站点B:

  • 动态公共 IP BBBB 和名称 siteb
  • LAN 192.168.1.0/24,默认网关 192.168.1.1
  • NanoPi eth0 带 DHCP 预留 192.168.1.250

我认为站点 B 会建立从动态 IP 站点到站点 B 公开的服务器端口的连接。

那么站点 A (192.168.0.0/24) 上的所有计算机都应该有一条附加路由,该路由将通过 192.168.0.250 将流量引导至站点 B (192.168.1.0/24)。同样,站点 B (192.168.1.0/24) 上的所有计算机都应具有通过 192.168.1.250 引导站点 A (192.168.0.0/24) 流量的路由。那行得通吗?

我应该为 wg0 接口分配哪些 IP?10.0.0.0/24?那么路线会是什么样子呢?那么如何路由 10.0.0.0/24 流量呢?我需要路由它吗?我应该如何配置wireguard?我想我不需要 Wireguard 的确切命令。我只需要指导,如何组织流量(IP、路由)。

使用 eth0 和 wg0,NanoPi …

networking vpn wireguard

5
推荐指数
1
解决办法
1万
查看次数

Wireguard指定监听地址

有没有办法将 Linuxwireguard 模块配置为仅侦听特定 IP 地址的传入连接,而不是默认侦听所有可用地址?我找不到这方面的任何文档。

linux wireguard

5
推荐指数
1
解决办法
2482
查看次数

当 ListenAddress 设置为 Wireguard VPN IP 时,SSH 无法启动

wg0假设我有一个名为的wireguard 网络10.0.0.1/24。我使用 systemd 在启动时启动它:

# systemctl enable wg-quick@wg0
Run Code Online (Sandbox Code Playgroud)

我希望 sshd 仅侦听wireguard 地址 ,10.0.0.1而不是0.0.0.0。所以我设置ListenAddress/etc/ssh/sshd_config

ListenAddress  10.0.0.1
#ListenAddress  ::
AddressFamily  inet
Run Code Online (Sandbox Code Playgroud)

注意我设置了地址族,因为我在这里仅使用 IPv4 而不是 IPv6。我认为如果不设置,ssh将继续监听::IPv6。

如果我保存配置并重新启动 sshd,效果很好。但是服务器重新启动后,尽管在 systemd 中启用了 ssh,但仍无法启动。系统日志输出告诉我们原因:

sshd[xxx]: error: Bind to port 22 on 10.0.0.1 failed: Cannot assign requested address.
Run Code Online (Sandbox Code Playgroud)

显然,我们有一个竞争条件,即 sshd 在 Wireguard 接口准备好之前尝试(但失败)启动。

显而易见的解决方案是编辑/etc/systemd/system/sshd.service并添加wg-quick@wg0为依赖项。After=然而, 、Wants=、 或的组合并Requires=不能解决问题。似乎wg-quick@wg0报告它已经完成,尽管网络接口实际上还没有准备好。

systemd sshd wireguard

3
推荐指数
1
解决办法
3350
查看次数

Wireguard 多行配置值

是否可以将配置命令拆分为多行而不是一个长字符串?

例如

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)

当使用更多命令时,该行会变得很长且难以阅读。我想将其拆分,以便每个命令可以使用一行。就像是:

PostUp = iptables -A FORWARD -i %i -j ACCEPT; \
   iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)

手册页说它基于 ini 格式,但对此主题没有任何帮助。

wireguard

3
推荐指数
1
解决办法
999
查看次数

几分钟后 Wireguard 无法连接

我与 5 个对等点建立了 Wireguard 网络。所有这些作品之间的联系。但对于一个对等点,我必须对他执行 ping 操作,或者采取其他措施来保持连接。如果我有几分钟没有使用 Wireguard 上的对等点,我必须重新启动 Wireguard 接口才能再次获得连接。

客户端是一个虚拟机,运行在 KVM / Debian 11 上。

公共IP上的Web服务器始终可以访问。

debian vpn wireguard

1
推荐指数
1
解决办法
7172
查看次数

标签 统计

wireguard ×8

networking ×4

vpn ×4

debian ×2

linux ×1

port ×1

security ×1

sshd ×1

systemd ×1