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 / 问题 / 1073018
Accepted
TRW
TRW
Asked: 2021-07-30 08:53:20 +0800 CST2021-07-30 08:53:20 +0800 CST 2021-07-30 08:53:20 +0800 CST

带移动办公的 Wireguard Site2Site

  • 772

我必须连接到与 Wireguard 连接的网络。

Lan1:
  10.240.0.0/24
  via 10.100.1.1/32 on public static ip A.B.C.D/32

Lan2:
  192.168.0.0/24
  via 10.100.1.6/32 on dynamic ip from provider

10.240.0.0 网络是多台公共服务器上的有线保护网络 (wg0),其中一台服务器是“网关”,具有与 10.100.1.1 的特殊 wg1 接口。所以我可以从网关访问 192.168.0.0 网络中的所有节点。在 Lan2 上,它是一个带有一些服务器的经典本地网络。同样在那个对等点上,我可以到达 Lan1 后面的所有节点。

现在我想在“狂野”的某个地方添加一个新的对等点——移动办公室。用户应该可以同时访问 Lan1 和 Lan2,例如访问 10.240.0.0/24 和 192.168.0.0/24。对端本身就是一个手机,以 Wireguard 客户端为例。

Lan1 网关 wg1.conf

[Interface]
Address = 10.100.1.1/32
...

PostUp   = iptables  -A FORWARD -i %i -j ACCEPT; iptables  -A FORWARD -o %i -j ACCEPT; iptables  -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
PostDown = iptables  -D FORWARD -i %i -j ACCEPT; iptables  -D FORWARD -o %i -j ACCEPT; iptables  -t nat -D POSTROUTING -o eth0 -j MASQUERADE;

# road-warrior
[Peer]
PublicKey = ...
AllowedIps = 10.100.1.2/32

# Lan2 gateway
[Peer]
PublicKey = ...
AllowedIps = 10.100.1.6/32, 192.168.0.0/24

和 Lan2 主机

[Interface]
Address = 10.100.1.6/32
...

PostUp   = iptables  -A FORWARD -i %i -j ACCEPT; iptables  -A FORWARD -o %i -j ACCEPT; iptables  -t nat -A POSTROUTING -o ens18 -j MASQUERADE
PostDown = iptables  -D FORWARD -i %i -j ACCEPT; iptables  -D FORWARD -o %i -j ACCEPT; iptables  -t nat -D POSTROUTING -o ens18 -j MASQUERADE

# lan1_gate
[Peer]
PublicKey = ...
EndPoint = fqdn:port
AllowedIPs = 10.100.1.1/32, 10.240.0.0/24

我只能在该手机上定义(据我所知)lan1 网关的对等方,因为我无权访问 lan2_gateway 但我想通过 lan1_gateway 将所有流量 von 192.168.0.0 路由到 lan2_gateway

[Interface]
Address = 10.100.1.2/32
...

[Peer]
PublicKey = ...
EndPoint = fqdn:port
AllowedIPs = 10.100.1.1/32, 192.168.0.0/24, 10.240.0.0/24

当我用lan1连接公路战士时,我可以到达10.240.0.0/24但不能到达192.168.0.0。怎么了?我是否需要 lan1_gate 上的另一个转发规则将 192.168.0.0 的流量转发到 10.100.1.6?那应该已经完成​​了。

#> ip r s
default via 172.31.1.1 dev eth0 onlink
...
10.100.1.2 dev wg1 scope link 
10.100.1.6 dev wg1 scope link 
...
10.240.0.4 dev wg0 scope link 
10.240.0.5 dev wg0 scope link 
...
172.31.1.1 dev eth0 proto kernel scope link src A.B.C.D 
192.168.10.0/24 dev wg1 scope link 

有任何想法吗?

wireguard
  • 1 1 个回答
  • 64 Views

1 个回答

  • Voted
  1. Best Answer
    Justin Ludwig
    2021-07-31T11:24:11+08:002021-07-31T11:24:11+08:00

    除非您在 Lan1 网关主机上设置了一些额外的防火墙规则,否则来自“公路勇士”手机的流量将使用手机的原始 WireGuard 源地址从您的 Lan1 网关转发到您的 Lan2 网关10.100.1.2。因此,您需要将手机的地址添加到AllowedIPsLan2 网关主机的 WireGuard 配置中的设置中:

    AllowedIPs = 10.100.1.1/32, 10.100.1.2/32, 10.240.0.0/24
    

    AllowedIPs当数据包的源地址未包含在此设置中时,Lan2 网关将丢弃它从与 Lan1 网关的 WireGuard 连接接收到的任何数据包。

    • 1

相关问题

  • 无法通过 Google Compute Engine VM 上的 systemd-networkd 配置 Wireguard 设备

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