WireGuard VPN 服务器一键安装脚本详细部署教程
WireGuard VPN 服务器一键安装脚本详细部署教程
本教程将基于 hwdsl2/wireguard-install 项目,详细指导您在 Linux 服务器上快速搭建 WireGuard VPN 服务。
1. 准备工作
- 一台 Linux 服务器:可以是云服务器、虚拟专用服务器(VPS)或专用服务器。脚本支持 Ubuntu、Debian、AlmaLinux、Rocky Linux、CentOS、Fedora、openSUSE 和 Raspberry Pi OS 等主流发行版。
- Root 权限:您需要有
sudo权限的用户来执行安装命令。 - 防火墙设置:如果您的服务器有外部防火墙(例如 AWS EC2 的安全组或 GCE 的防火墙规则),需要手动开放 WireGuard 使用的 UDP 端口(默认为
51820)。
2. 下载脚本
首先,通过 SSH 连接到您的服务器,使用 wget 或 curl 下载安装脚本。
1 | # 使用 wget 下载 |
如果上述地址无法访问,也可以使用备用链接:
1 | https://github.com/hwdsl2/wireguard-install/raw/master/wireguard-install.sh |
3. 安装 WireGuard
脚本提供了两种安装方式,您可以根据需要选择。
方式一:全自动安装(使用默认选项)
这是最快的方式,脚本会使用默认配置自动完成安装,无需人工干预。
1 | sudo bash wireguard.sh --auto |
默认配置如下:
- 端口:
51820(UDP) - 第一个客户端名称:
client - 客户端 DNS:Google Public DNS
方式二:交互式安装(自定义选项)
如果您需要自定义服务器的端口、DNS 等设置,可以使用交互式安装。
1 | sudo bash wireguard.sh |
运行后,脚本会提示您输入以下信息,您也可以直接按回车键使用括号内的默认值:
- VPN 服务器的 DNS 名称或 IP 地址:客户端用于连接的公网 IP 或域名。
- UDP 端口:默认为
51820。 - VPN 客户端的 DNS 服务器:默认为 Google DNS (
8.8.8.8,1.1.1.1)。 - 第一个客户端的名称:默认为
client。
安装成功后,脚本会在当前目录下生成一个名为 <客户端名称>.conf 的配置文件(例如 client.conf),这是客户端连接所需的全部信息。
4. 管理 VPN 用户
安装完成后,再次运行脚本 sudo bash wireguard.sh,会出现一个菜单,让您管理用户或卸载 WireGuard。
同时,脚本也支持通过命令行参数直接管理用户,非常方便:
- 列出所有客户端:
sudo bash wireguard.sh --listclients - 添加新客户端:
sudo bash wireguard.sh --addclient [新客户端名称] - 显示客户端的二维码(用于手机扫码连接):
sudo bash wireguard.sh --showclientqr [客户端名称] - 移除客户端:
sudo bash wireguard.sh --removeclient [客户端名称] - 卸载 WireGuard:
sudo bash wireguard.sh --uninstall
5. 客户端配置
获取配置文件:将服务器上生成的
<客户端名称>.conf文件下载到您的本地设备。您可以通过cat命令查看文件内容并手动复制创建:1
cat /root/client.conf
安装客户端软件:从 WireGuard 官网 下载并安装适用于您操作系统(Windows、macOS、Android、iOS)的客户端。
导入并连接:
- Windows/macOS:打开 WireGuard 客户端,点击“导入隧道”,选择您的
.conf文件,然后点击“连接”。 - Android/iOS:打开 App,点击“+”号,可以选择“扫描二维码”(使用
--showclientqr命令生成)或“从文件导入”。
- Windows/macOS:打开 WireGuard 客户端,点击“导入隧道”,选择您的
6. 高级用法:使用自定义选项自动安装
对于需要脚本化部署的高级用户,可以结合 --auto 参数和命令行选项来定制安装。
示例:
1 | sudo bash wireguard.sh --auto --serveraddr vpn.example.com --port 54321 --clientname myphone --dns1 1.1.1.1 |
或者使用 Bash Here Document 提供输入:
1 | sudo bash wireguard.sh <<ANSWERS |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 极客的赛博空间 | 专注 AI 与技术分享!
评论









