Unraid必看的WireGuard高级进阶设置

大鹏出品,欢迎转载,转载注明出处
Unraid优惠折扣码55折:大鹏YYDS

此篇为Unraid下WireGuard快速入门教程的补充教程。
默认情况下,“使用NAT”设置为是,Unraid上的所有网络流量都使用Unraid的IP地址,只需要简单的设置,就可以快速正常使用。
一、Unraid下WireGuard高级设置详细说明
如果你有自定义IP地址的Docker或有严格网络要求的虚拟机,则需要对WireGuard进行一些更改:
在 WireGuard 隧道配置中,将“使用 NAT”设置为“否”
在你的路由器中,添加一条静态路由,让你的网络通过你的 Unraid 系统的 IP 地址访问 WireGuard“本地隧道网络池”。例如,对于 10.253.0.0/24 的默认池,应该添加此静态路由: 以爱快路由器设置为例,网络设置-静态路由-添加
目标地址:10.253.0.0/24(又名 10.253.0.0,子网掩码为 255.255.255.0)
网关/下一跳网关:<你的Unraid系统IP地址,例如192.168.1.100>
优先级:1(路由器可能没有这个选项,以实际为准)
如果使用pfSense,则还需要勾选“静态路由过滤 - 绕过相同接口上流量防火墙规则”的框。请参见这里。
如果你有自定义IP地址的Docker,请在Docker设置页面上将“主机访问自定义网络”设置为“已启用”。

编辑切换为居中
二、自定义IP的Docker和虚拟机之WireGuard推荐设置
1.★★★★★推荐的Unraid下wireguard高级设置
当“使用 NAT”= 否“,并且“主机访问自定义网络”= 启用+路由器已设置静态路由
Unraid服务器和Docker(网络类型bridge/host)-可访问✔
局域网的虚拟机和其他系统 - 可访问✔
具有自定义 IP 的Docker- 可访问✔
2.WireGuard常见的4种踩坑设置
当“使用NAT”=是,并且“主机访问自定义网络”=禁用(静态路由可选)时
Unraid服务器和Docker(网络类型bridge/host)-可访问✔
局域网的虚拟机和其他系统 - 可访问✔
具有自定义IP的Docker-不可访问✗
(这是推荐的快速入门设置)
当“使用NAT”=是,并且“主机访问自定义网络”=启用(静态路由可选)时
Unraid服务器和Docker(网络类型bridge/host)-可访问✓~~
局域网上的虚拟机和其他系统 - 不可访问
具有自定义 IP 的码头工人 - 不可访问
(避坑此配置)
当“使用NAT”=否,并且没有设置静态路由时
Unraid服务器和Docker(网络类型bridge/host)-可访问✓
局域网上的虚拟机和其他系统 - 不可访问
具有自定义 IP 的Docker - 不可访问
(避坑此设置,如果真正了解并需要“使用 NAT”= 否,则必须在路由器中添加静态路由)
当“使用 NAT”= 否,并且“主机访问自定义网络”= 禁用+路由器已设置静态路由
Unraid服务器和Docker(网络类型bridge/host)-可访问✔
局域网上的虚拟机和其他系统 - 可访问✔
具有自定义 IP 的Docker - 不可访问✗
(不推荐的不完整设置)
三、关于DNS设置
以上教程应该适用于通过IP地址或完全限定域名(例如my.unraid.net)访问设备。局域网自定义短名称,如“tower”可能不起作用,也不会有任何由路由器管理的DNS条目。
要使它们在隧道上工作,请返回Unraid中的VPN管理器页面,从基本模式切换到高级模式,并将所需DNS服务器的IP地址添加到“peer DNS服务器”字段中(保存后不要忘记将更新后的配置文件同步到客户端)。你可以使用连接到局域网的路由器的IP地址,或者你可以使用像8.8.8.8这样的全球公用DNS。
四、Unraid之WireGuard 故障排除
WireGuard不是一个善于交流的协议,事实上它被设计成无形的!如果出现问题,真的没有任何报错消息,要么它工作了,要么就不工作。它不能被端口扫描器检测到。
如果WireGuard无法连接,请进行如下检查:
确认隧道在 Unraid 端和客户端都处于活动状态。请注意,“活动”并不意味着“已连接”。它只是意味着隧道从那一端开始。如果 DDNS/端口转发/等都设置正确,那么两端将连接并且 Unraid 仪表板将显示“握手”和正在传输的数据。
确认你的 DDNS 指向你当前的公网IP地址,并分配给你的“本地端点”
确认你通过路由器将正确的 UDP 端口转发到 Unraid,并将同一端口分配给“本地端点”
如果你在设置客户端后对配置进行了任何更改,则需要重新设置客户端,以便它们具有最新的配置。
请确保在按“查看对等配置”之前保存更改,否则你的二维码/配置文件不会更新数据。
其他补充:
对于你的第一个客户端,推荐先使用蜂窝数据连接(而非 wifi)进行WireGuard客户端配置。这排除了与客户端网络相关的问题,并且二维码是传输设置的最简单方法。在你的手机上测试正常后,请转到其他客户端。
如果你无法在客户端和服务器之间进行握手,请尝试做一些实际使用隧道的操作。客户端在开始连接之前可能正在等待流量。
禁用客户端上的任何节能功能,尤其是手机在低功耗模式下可能无法正确使用 VPN。此外,你可能需要禁用手机上的任何“数据保护程序”功能,以便 VPN 不受限制。
如果你的“peer连接类型”包括其中一个 LAN 选项,但你只能访问 Unraid,请转到“设置”->“网络设置”并查看“启用桥接”是否为“是”。如果禁用桥接,你将无法通过 WireGuard 访问你的 LAN。
如果你通过 Internet 从另一个网络进行连接,请确保双方的网络使用不同的子网。例如,你不能连接两个都使用 192.168.1.0/24 的网络。
如果你将 Cloudflare 用于 DDNS,请务必将 Cloudflare“代理状态”配置为“仅 DNS”而不是“已代理”。请注意,此更改需要一些时间才能生效。
如果你可以从某些位置连接但不能从其他位置连接,请记住“损坏的”远程位置可能有阻止 UDP 流量的防火墙。希望 WireGuard 将来会支持 TCP,但目前还没有解决方法。
如果没有正常工作,请切换到高级模式并确认“本地隧道网络池”尚未在你的网络或你要连接的网络之一上使用。如果存在冲突,你需要将其更改为不同的专用网络(10.0.0.0 到 10.255.255.255 | 172.16.0.0 到 172.31.255.255 | 192.168.0.0 到 192.168.255.255)
如果由于某种原因无法访问 Unraid webgui,并且需要阻止 WireGuard 隧道自动启动,请从闪存驱动器中删除此文件并重新启动:/ boot/config/wireguard/autostart
请注意,如果你有自定义IP的 Docker 或具有严格网络要求的虚拟机,你可能会遇到问题。请参考前面的高级进阶推荐设置部分。
仍然无法连接?考虑连接必备设置可能会有所帮助:
客户端本身(WireGuard 配置、网络配置、DNS、本地防火墙、节能模式)
客户端的本地 LAN 和路由器配置(除非这是数据连接上的移动设备)
客户端的 Internet 连接/ISP
客户端和服务器之间的互联网
服务器的 Internet 连接/ISP
服务器的本地局域网和路由器配置
服务器本身(WireGuard 配置、网络配置)
五、关于Unraid社区
