背景:
我已经在本地(私有)网络上配置了一个Wireguard服务器。例如专用网络: 192.168.1.0/24 Wireguard客户端具有相同的IP网络192.168.1.X
在我的网络中有一些非Wireguard兼容设备(IP摄像机,DVR)具有静态本地IP地址.
查询:
当我以Wireguard客户端的身份连接到Wireguard服务器(从本地网络之外)时,我希望访问那些具有本地静态IP地址的非Wireguard兼容设备。我已经确保不会有任何IP冲突。
发布于 2021-03-13 00:11:18
当您想通过WireGuard将单个外部主机连接到局域网时,您需要做的三件关键事情是:
AllowedIPs配置的WireGuard设置中包括局域网的IP块(或至少要访问的每个局域网端主机的IP地址)。sysctl -w net.ipv4.ip_forward=1)iptables规则完成)这里有一个完整的例子:
https://www.procustodibus.com/blog/2020/11/wireguard-point-to-site-config/
在该示例中,局域网的子网是192.168.200.0/24,因此在外部主机的WireGuard配置中设置了AllowedIPs (示例中的端点A):
AllowedIPs = 192.168.200.0/24在该示例中,包转发和伪装是通过在局域网端WireGuard主机上添加以下WireGuard配置(示例中的主机β)来完成的:
# IP forwarding
PreUp = sysctl -w net.ipv4.ip_forward=1
# IP masquerading
PreUp = iptables -t mangle -A PREROUTING -i wg0 -j MARK --set-mark 0x30
PreUp = iptables -t nat -A POSTROUTING ! -o wg0 -m mark --mark 0x30 -j MASQUERADE当WireGuard接口wg0位于局域网端WireGuard主机上时,外部主机可以通过其局域网地址连接到局域网上的任何主机--在示例中,外部主机(端点A)可以通过端点B的本地地址192.168.200.22连接到局域网主机(端点B)。
https://unix.stackexchange.com/questions/638889
复制相似问题