打开/关闭搜索
搜索
打开/关闭菜单
54
677
62
1925
md5.pw
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
上传文件
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
登录
请求账号
查看“︁极速安全:在搬瓦工 VPS 上部署 WireGuard (WG) 详细指南”︁的源代码
来自md5.pw
分享此页面
更多语言
查看
阅读
查看源代码
查看历史
associated-pages
页面
讨论
更多操作
←
极速安全:在搬瓦工 VPS 上部署 WireGuard (WG) 详细指南
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
= 极速安全:在搬瓦工 VPS 上部署 WireGuard (WG) 详细指南 = '''WireGuard''' 是被整合进 Linux 内核的新一代 VPN 协议,以其极简的代码库、极高的性能和先进的加密技术著称。相比传统的 OpenVPN 或 IPsec,WireGuard 在搬瓦工(BandwagonHost)VPS 上能提供更低的延迟和更高的吞吐量,非常适合作为个人的安全加密通道。 本文将手把手教你如何在 Ubuntu/Debian 系统上手动部署 WireGuard 服务端,并配置客户端连接。 == 准备工作 == * 一台搬瓦工 VPS(推荐使用 '''Ubuntu 20.04/22.04''' 或 '''Debian 10/11''' 系统)。 * 确保已通过 SSH 连接到服务器 root 用户。 == 第一步:安装 WireGuard == 得益于搬瓦工提供的 KVM 架构和较新的内核,安装 WireGuard 非常简单。 在终端执行以下命令更新软件源并安装: <syntaxhighlight lang="bash"> apt update && apt install -y wireguard qrencode </syntaxhighlight> * ''注意:这里顺便安装了 <code>qrencode</code>,后面用于生成手机扫描的二维码。'' == 第二步:生成密钥对 == WireGuard 使用类似 SSH 的公钥/私钥体系。我们需要分别为“服务端”和“客户端”生成密钥。 === 1. 生成服务端密钥 === <syntaxhighlight lang="bash"> cd /etc/wireguard umask 077 wg genkey | tee server_private.key | wg pubkey > server_public.key </syntaxhighlight> === 2. 生成客户端密钥 === <syntaxhighlight lang="bash"> wg genkey | tee client_private.key | wg pubkey > client_public.key </syntaxhighlight> 现在目录下应该有4个文件。你可以用 <code>cat</code> 命令查看并记录它们的内容('''千万不要泄露私钥 Private Key''')。 == 第三步:配置服务端 == 创建并编辑 WireGuard 的主配置文件 <code>wg0.conf</code>: <syntaxhighlight lang="bash"> nano /etc/wireguard/wg0.conf </syntaxhighlight> 将以下内容粘贴进去('''注意替换密钥部分'''): <syntaxhighlight lang="ini"> [Interface] # 服务端私钥 (server_private.key 的内容) PrivateKey = <这里填入你的 server_private.key> # 服务端内网 IP,一般保持默认 Address = 10.0.0.1/24 # 监听端口 (UDP),如果被防火墙拦截可尝试修改 ListenPort = 51820 # 启动后执行的路由规则 (开启 NAT 转发) PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o eth0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # 关闭后清除路由规则 PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o eth0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE [Peer] # 客户端公钥 (client_public.key 的内容) PublicKey = <这里填入你的 client_public.key> # 允许该客户端使用的内网 IP AllowedIPs = 10.0.0.2/32 </syntaxhighlight> * '''注意''':如果你的网卡名称不是 <code>eth0</code>(可以用 <code>ip a</code> 查看),请将 PostUp/PostDown 中的 <code>eth0</code> 替换为实际网卡名称(如 <code>ens3</code>)。 == 第四步:开启 IP 转发 == 为了让 VPS 能转发流量,必须开启内核 IP 转发功能。 <syntaxhighlight lang="bash"> echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf sysctl -p </syntaxhighlight> == 第五步:启动服务 == 启动 WireGuard 并设置开机自启: <syntaxhighlight lang="bash"> wg-quick up wg0 systemctl enable wg-quick@wg0 </syntaxhighlight> 如果没有任何报错,输入 <code>wg</code> 命令应该能看到接口状态。 == 第六步:配置客户端 == === 选项 A:手机端 (iOS/Android) === 这是最酷的一步!我们可以直接在终端生成配置并转为二维码。 1. 创建客户端配置文件模板 <code>client.conf</code>: <syntaxhighlight lang="bash"> nano /etc/wireguard/client.conf </syntaxhighlight> 2. 填入以下内容: <syntaxhighlight lang="ini"> [Interface] # 客户端私钥 (client_private.key 的内容) PrivateKey = <这里填入你的 client_private.key> Address = 10.0.0.2/24 DNS = 8.8.8.8 [Peer] # 服务端公钥 (server_public.key 的内容) PublicKey = <这里填入你的 server_public.key> # 服务端公网 IP : 端口 Endpoint = <你的VPS公网IP>:51820 # 路由流量:0.0.0.0/0 代表代理所有流量 AllowedIPs = 0.0.0.0/0 # 保持连接心跳,防止 NAT 断连 PersistentKeepalive = 25 </syntaxhighlight> 3. 生成二维码: <syntaxhighlight lang="bash"> qrencode -t ansiutf8 < client.conf </syntaxhighlight> 此时你的 SSH 终端里会直接显示一个巨大的二维码,打开手机 WireGuard APP 扫描即可连接! === 选项 B:电脑端 (Windows/macOS) === 将上面的 <code>client.conf</code> 内容复制,保存为 <code>wg0.conf</code>,导入电脑版 WireGuard 客户端即可。 == 常见问题排查 == ; Q: 连上了但无法上网? : A: 检查 '''第四步''' 是否开启了 IP 转发。另外检查 VPS 的防火墙(UFW/IPTables)是否放行了 51820 UDP 端口。 : <syntaxhighlight lang="bash">ufw allow 51820/udp</syntaxhighlight> ; Q: 搬瓦工某些机房连不上? : A: WireGuard 使用 UDP 协议,极少数地区的运营商可能会对大流量 UDP 进行 QOS 限速或阻断。如果遇到这种情况,可以尝试更换 ListenPort 端口,或者配合 udp2raw 使用(进阶玩法)。 ---- ''Created by AlexLynn for md5.pw Community.'' [[Category:500 常见应用指南 — Application Guides]] [[Category:300 VPS 设置与管理 — VPS Setup and Management]]
返回
极速安全:在搬瓦工 VPS 上部署 WireGuard (WG) 详细指南
。
查看“︁极速安全:在搬瓦工 VPS 上部署 WireGuard (WG) 详细指南”︁的源代码
来自md5.pw