AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1089092
Accepted
javathunderman
javathunderman
Asked: 2022-01-06 11:17:26 +0800 CST2022-01-06 11:17:26 +0800 CST 2022-01-06 11:17:26 +0800 CST

通过 VPS 连接到wireguard peer

  • 772

我当前的 Wireguard 设置有一个连接到不同本地网络上的两个设备的 VPS。每个家庭网络设备都使用 Wireguard 连接到 VPS,但未配置为接受彼此的连接(它们尚未在彼此的配置文件中添加为对等点)。

我想使用类似于反向代理服务器的 VPS,以便家庭设备 1 可以连接到 VPS 并将其流量路由到家庭设备 2,而无需配置两个家庭设备之间的直接连接(本质上是轮辐模型)。有没有办法以这种方式路由流量?

当前家庭网络设备配置文件:

[Interface]
Address = 10.0.0.2/8
SaveConfig = true
ListenPort = 53910
FwMark = 0xca6c
PrivateKey = <privkey>

[Peer]
PublicKey = <pubkey>
AllowedIPs = 10.0.0.1/32
Endpoint = <IP address>

服务器配置文件:

[Interface]
Address = 10.0.0.1/8
SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE;
ListenPort = 51820
PrivateKey = <privkey>

[Peer]
PublicKey = <pubkey>
AllowedIPs = 10.0.0.2/32
Endpoint = <IP of home network device 1>

[Peer]
PublicKey = <pubkey>
AllowedIPs = 10.0.0.3/32
Endpoint = <IP of home network device 2>

在这些当前规则下,如果我尝试从设备 1 对设备 2 执行 ping 操作,我会收到此错误消息(这似乎表明对等方彼此了解,但配置不正确?)

user@device1:~/wireguard$ ping 10.0.0.3
PING 10.0.0.3 (10.0.0.3) 56(84) bytes of data.
From 10.0.0.2 icmp_seq=1 Destination Host Unreachable
ping: sendmsg: Required key not available

谢谢!

ubuntu iptables nginx reverse-proxy wireguard
  • 1 1 个回答
  • 122 Views

1 个回答

  • Voted
  1. Best Answer
    Justin Ludwig
    2022-01-07T12:07:14+08:002022-01-07T12:07:14+08:00

    更新您客户端的 WireGuardAllowedIPs设置,以包括您希望每个客户端通过其与 VPS 的 WireGuard 连接访问的其他设备的 IP 地址。例如,像这样允许设备 1 使用 WireGuard 仅连接到设备 2:

    [Interface]
    Address = 10.0.0.2/8
    ...
    
    [Peer]
    PublicKey = <VPS pubkey>
    AllowedIPs = 10.0.0.3/32
    ...
    

    或者像这样允许设备 1 通过 WireGuard 连接到设备 2 以及 VPS 本身:

    [Interface]
    Address = 10.0.0.2/8
    ...
    
    [Peer]
    PublicKey = <VPS pubkey>
    AllowedIPs = 10.0.0.1/32, 10.0.0.3/32
    ...
    

    或者像这样允许设备 1 使用 WireGuard 连接来连接到10.0.0.0/8块中的任何主机:

    [Interface]
    Address = 10.0.0.2/8
    ...
    
    [Peer]
    PublicKey = <VPS pubkey>
    AllowedIPs = 10.0.0.0/8
    ...
    

    有关完整示例,请参阅此WireGuard hub-and-spoke 指南。

    • 1

相关问题

  • 如何在 Ubuntu 上设置简单的防火墙?

  • 设置没有密码的用户

  • 在 Ubuntu 上设置电子邮件服务器

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve