怎么通过 WireGuard 怎么访问局域网中其他设备

2022-06-04 19:13:57 +08:00
 me221

Server 端安装在有公网的云主机上.

WireGuard 的网段是 10.0.0.0/24

家中的路由器网段是 192.168.31.0/24

我按照 Google 的一些教程配置了 WireGuard, 现在只能通过 WireGuard 的 IP 访问所有连入 WireGuard 局域网中的设备. 并不能访问其所在的局域网.

问: 如何在外通过192.168.31.1访问位于家中的局域网, 家中只有 Windows 系统,没有软路由.

7321 次点击
所在节点   WireGuard
22 条回复
JLTHU
2022-06-04 19:40:21 +08:00
那需要你内网的其中一台设备(比如 192.168.31.2 )充当网关去做 SNAT

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to-source 192.168.31.2
jasonyang9
2022-06-04 21:55:02 +08:00
核心配置就是 1 楼讲的,局域网中的 WG 节点必须开启 IP 转发和 MASQUERADE ,或者说 SNAT ;
但 Windows 不清楚,一般都是 Linux 跑 WG 。

推荐看看这个站的教程,写的比较通透,各种拓扑都有。典型的点到站配置:

https://www.procustodibus.com/blog/2020/11/wireguard-point-to-site-config/#configure-routing-on-host-b
zro
2022-06-04 22:25:18 +08:00
不做 NAT 也可以,家中网段加条静态路由。。
clickhouse
2022-06-05 01:10:46 +08:00
iptables 配置一下转发就行。
noqwerty
2022-06-05 02:49:05 +08:00
不想折腾的话可以直接 Tailscale ,你需要的功能可以直接用 subnet router 或者 exit node 实现
me221
2022-06-05 08:29:27 +08:00
@JLTHU @jasonyang9 感谢你们提供的方法, 不过没有 Linux 设备了,无法尝试.

@zro 在 Windows 运行了 **route ADD 192.168.31.0 MASK 255.255.255.0 192.168.31.1 METRIC 3 IF 14** 还是不行. 请问一下 route 添加在那个网卡(wifi 网卡还是 Wireguard 虚拟网卡)


@noqwerty Tailscale 确实好用! 不过还是想自己折腾
Kinnice
2022-06-05 08:37:58 +08:00
route ADD 192.168.31.0 MASK 255.255.255.0 wg 的对端 ip
Kinnice
2022-06-05 08:39:00 +08:00
就是你家里的 wireguard 获得的 ip 10.0.0.x
me221
2022-06-05 18:40:59 +08:00
@Kinnice 还是不行呐 防火墙啥的都关闭了 也不知道怎么排查流量的走向
Kinnice
2022-06-05 20:25:49 +08:00
@me221 使用 netmaker 吧
zro
2022-06-05 21:48:51 +08:00
@me221 9# 先两边都互相 tracert 一下,然后就能检查出路由有没有写对了。。
dennisun
2022-06-06 15:39:16 +08:00
我的情况是:

server 端是威联通 VPN 自带的 wg 功能

家中宽带有公网 ip ,端口转发到威联通

在威联通内配置 A (公司-windows ),B (另一套房子-windows )两个 peer

现在是 A 和 B 均能访问家里的局域网,但是 A 和 B 两者之间无法互动,求教~
me221
2022-06-29 11:22:16 +08:00
最终的解决方案: 放弃了 Windows , 使用 Linux 开发 ipv4 转发即可.....
dasidj12
2022-06-29 17:17:01 +08:00
你好,遇到同样问题 能贴下配置文件吗?
dasidj12
2022-06-29 17:29:30 +08:00
me221
2022-06-29 20:40:40 +08:00
@liekkas20 明天回复您!(现在没设备…
me221
2022-06-30 12:11:00 +08:00
me221
2022-06-30 12:14:12 +08:00
@liekkas20 GitHub: [Github]( https://git hub.com/antwuu/Profile/tree/main/Conf/WireGuard)
推荐参考#2 的连接. 写的很全很通透
dasidj12
2022-06-30 14:40:34 +08:00
@me221 感谢!
billytom
2022-07-01 20:52:26 +08:00
在这里借楼请教下 V2 的大神

[debian11 ,ufw 防火墙] 服务器端:192.168.188.99 (内网 IP ) 10.0.100.1 ( wireguard IP ) 192.168.192.248 ( Zerotier IP )
WG 网段 10.0.100.0/24
Zerotier 网段:192.168.192.0/24

公司内网网段:192.168.10.0/24 ; 192.168.80.0/24
私人家庭网段:10.0.123.0/24 ; 10.0.122.0/24 ; 10.0.121.0/24

现在有个问题,我服务器端安装了 wireguard 和 zerotier ,wireguard 工作用,接入公司网络。zerotier 私人用接入家庭网络。在这台 192.168.188.99 服务器上,我可以 ping 通公司和私人的所有网段内机器。

但远程的话,用 zerotier 接入,可无障碍访问 公司网段 和 私人家庭网段 ,但如果用 wireguard 接入,就只能访问该服务器和公司网段,而靠 zerotier 连接到改服务器的 10.0.xx.0/24 的机器全都无法访问 (简单点说就是想通过 wireguard 接入从而访问家里电脑不能)

路由表:
root@WG:/etc/ufw# ip route
default via 192.168.188.254 dev ens192 metric 100 onlink
10.0.100.0/24 dev wg0 proto kernel scope link src 10.0.100.1
10.0.120.0/24 via 192.168.192.188 dev ztyxa66ssl proto static metric 5000
10.0.121.0/24 via 192.168.192.172 dev ztyxa66ssl proto static metric 5000
10.0.122.0/24 via 192.168.192.232 dev ztyxa66ssl proto static metric 5000
10.0.123.0/24 via 192.168.192.119 dev ztyxa66ssl proto static metric 5000
192.168.188.0/24 dev ens192 proto kernel scope link src 192.168.188.99 metric 100
192.168.192.0/24 dev ztyxa66ssl proto kernel scope link src 192.168.192.248

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/857269

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX