最新回复 (
3 )
温馨提示:VPN 的本意为 Virtual Private Network(虚拟专用网络),请不要将其与中国大陆网民经常使用的网络代理(Proxy)混淆。
WireGuard 是一种现代的开源 VPN 协议,旨在提供更高的安全性和更好的性能。它具有以下几个主要特点:
注意:
提示:
若没有公网 IPv4 地址且不想用 IPv6 地址,除了找运营商索要之外,亦可通过 STUN + WebHook 获得,具体可参阅以下链接中的内容:
前两者可替换为云服务器或 VPS 等,但本教程仅围绕着软路由展开。
在“Luci -> 系统 -> 软件包”中点击“更新列表”,然后安装 Luci-proto-wireguard
软件包。安装完毕后,检查是否存在 luci-app-wireguard
和 luci-i18n-wireguard-zh-cn
这两个包,若不存在,如法炮制安装即可。
在“Luci -> 系统 -> 启动项”中找到 network 并点击重启。
在“Luci -> 网络 -> 接口”中点击“添加新接口…”。名称自取,此处假设名称为“wgserver”;协议选择“WireGuard VPN”,点击“提交”。
跳转到新页面后,在基本设置中,监听端口建议选择一个端口号大于 10000 的端口,此处假设监听端口为 14514;IP 地址必须填写私有 IP 且不能与当前路由器所在局域网网段有重合,此处假设 IP 地址为 10.23.45.1/24
,子网前缀长度按需填写,常见写法为 /24
、 /16
和 /8
。
在 Peers(对端) 中,点击“添加”。“允许的 IP”在 WireGuard VPN 网段中挑选单个 IP 填写进去,此处假设为 10.23.45.2/32
,子网前缀长度必须为 /32
,然后勾选“路由允许的 IP”。
对于私钥和公钥,在浏览器中新增分页并访问此网站:https://www.wireguardconfig.com/,然后依次输入以下数据:
10.23.45.0/24
。0.0.0.0/0, ::/0
(全局模式):客户端的所有流量均会被路由到服务端。10.23.45.0/24, 192.168.1.0/24
(策略模式):客户端指定网段内的流量会被路由到服务端,此处分别为 WireGuard VPN 网段和路由器局域网网段,若仅希望实现内网穿透则建议选择这种写法。wgserver.ddns.org:14514
。10.23.45.1
,不用加子网掩码。若软路由不具备处理 DNS 请求的能力,可填写公共 DNS 服务器地址。输入完毕后,点击“Generate Config”,下载 .zip
文件和服务端/客户端配置文件的二维码。此时不要关闭此分页,将软路由接口设置分页独立出来,并将“Server”配置中的“PrivateKey”和“PublicKey”分别填写到接口设置分页中的“私钥”和“公钥”框中,随后点击“保存&应用”。
提示:若不信任此网站,请使用 SSH 连接软路由,然后使用命令手动生成配置。相关命令请自行在 WireGuard 官网(https://www.wireguard.com/quickstart/)或其它地方中搜索。
在“Luci -> 网络 -> 防火墙”中,点击“添加”。
在基本设置中,名称自取;入站数据、出站数据和转发均设置为“接受”并勾选 MSS 钳制;“覆盖网络”选择先前创建的接口,此处为“wgserver”。
在端口触发中,“允许转发到目标区域”和“允许从源区域转发”均选择 lan 区域,随后点击“保存&应用”。
在“Luci -> 网络 -> 防火墙 -> 通信规则”中,滑到页面底部,在“新建转发规则”中输入规则名称并点击“添加并编辑…”。限制地址根据拥有的公网 IP 地址选择“仅 IPv4”或“仅 IPv6”,协议选择 UDP,源区域选择 wan 区域,目标区域选择“设备(输入)”区域,目标端口填写监听端口 14514,动作选择“接受”,随后点击“保存&应用”。
在“Luci -> 网络 -> 接口”中,找到先前创建的接口并点击“连接”。若显示 IP 地址,且在“Luci -> 状态 -> WireGuard 状态”中显示此接口的详细信息,则意味着 WireGuard 服务端配置成功。
iOS 用户需在 App Store 中切换到美区后下载 WireGuard 客户端,具体方法请自行搜索。Android 和 PC 用户请前往官网(https://www.wireguard.com/install/)下载安装包。
.conf
文件传输到手机中后,从 .conf
文件导入。.zip
文件解压缩,然后在客户端中点击“新增隧道”,选择解压出的 .conf
文件;点击“新增隧道”旁的箭头并点击“新增空隧道”,通过记事本打开 .conf
文件,将其中的配置内容复制到弹出的对话框中并输入隧道名称,随后点击“保存”。
10.23.45.1
,不用加子网掩码。若软路由不具备处理 DNS 请求的能力,可填写公共 DNS 服务器地址。若不填写则使用系统预设 DNS 服务器。ListenPort = 12345
:监听端口,若将此行删除则每次连接隧道时将随机选取一个非特权端口作为监听端口。DNS = 10.23.45.1
:DNS 服务器,若将此行删除则使用系统预设 DNS 服务器;。MTU = 1500
:建议不填或将此行删除。AllowedIPs = 10.23.45.0/24, 192.168.1.0/24
:允许的 IP。具体写法请参见章节 1.1.3 中的“Client Allowed IPs”部分。PersistentKeepalive = 25
:连接保活间隔。
连接隧道。若出现“上次握手时间”或“Latest handshake”,则意味着连接成功。
若仅拥有配置文件但未保存二维码,请访问此网站:https://www.wireguardconfig.com/qrcode,将配置文件中的内容复制到网页中并点击“Generate QR Code”,即可获取到二维码。
提示:本章节不涉及串流软件的教程。
观看端连接 WireGuard 隧道,然后在 Moonlight 中输入串流端的内网地址+端口号,进入 PC 桌面(PC 已提前配置好 Sunshine)。以下是各个观看端的串流设置及表现:
注意:理论上,最大串流码率取决于串流端的最大上传速度和观看端的最大下载速度,但由于 WireGuard 基于 UDP,实际可选择的最大串流码率可能会受到限制。具体请参见接下来的 FAQ。
(来自你站聊天室在 2024.11.29 的聊天记录)