简介
wireguard是什么?维基百科是这样描述的:
- WireGuard 是一种实现加密虚拟专用网络(VPN) 的通信协议和免费开源软件,其设计目标是易于使用,高速性能和低攻击面。
- 它旨在比IPsec和OpenVPN这两种常见的隧道协议具有更好的性能和更强大的功能;
- WireGuard 协议通过UDP传递流量。
通过描述,我们知道了wireguard其实就是一个FAST(速度快)、MODERN(流行)、SECURE (安全)的VPN TUNNEL(VPN隧道)。
那么如何安装呢?接下来,我将一步一步教大家如何进行安装和部署!!
准备工作
服务器准备
必要前提:
- 一个充满求知欲的大脑。
- 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。
我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。
注册链接: https://rainyun.ivwv.site
创建雨云服务器
以下步骤仅供参考,请根据实际需求选择配置。
- 点击 云产品 → 云服务器 → 立即购买。
- 选择距离你较近的区域,以保证低延迟。
- 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
- 最后按照提示进行购买。
- 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。
- 我们使用
PowerShell
进行SSH
远程连接到服务器,Win+R
打开运行窗口,输入powershell
后点击确定。
- 输入
ssh root@你的服务器IP
例如ssh root@154.9.227.239
回车后,首次需要输入yes
,再次回车后即可登录服务器。
- 到此为止,我们的云服务器就远程连接上了。
开始部署
确保 Docker Compose 已正确安装:
bash
docker compose version
第一步 - 更新服务器
bash
sudo apt update && sudo apt upgrade
第二步 - 创建 docker-compose.yml 文件
.yml 文件包含了创建 WireGuard UI Docker 容器所需的所有信息。
bash
sudo mkdir /opt/wg-ui
sudo nano /opt/wg-ui/docker-compose.yml
粘贴以下配置:
yaml
services:
wireguard:
image: linuxserver/wireguard:v1.0.20210914-ls7
container_name: wireguard
cap_add:
- NET_ADMIN
volumes:
- ./config:/config
ports:
- "5000:5000"
- "51820:51820/udp"
restart: unless-stopped
wireguard-ui:
image: ngoduykhanh/wireguard-ui:latest
container_name: wireguard-ui
depends_on:
- wireguard
cap_add:
- NET_ADMIN
# 使用 Wineguard 服务的网络。这使得能够在状态页面中显示活跃的客户
network_mode: service:wireguard
environment:
- SENDGRID_API_KEY
- EMAIL_FROM_ADDRESS
- EMAIL_FROM_NAME
- SESSION_SECRET
- WGUI_USERNAME=admin
- WGUI_PASSWORD=admin
- WG_CONF_TEMPLATE
- WGUI_MANAGE_START=true
- WGUI_MANAGE_RESTART=true
logging:
driver: json-file
options:
max-size: 50m
volumes:
- ./db:/app/db
- ./config:/etc/wireguard
restart: unless-stopped
记得将默认密码 WGUI_PASSWORD
修改为一个安全的密码。
第三步 - 启动容器并访问 GUI
启动容器:
bash
sudo docker compose -f /opt/wg-ui/docker-compose.yml up -d
启动成功后,使用浏览器访问 http://your_server_IP:5000
,将 your_server_IP
替换为你的服务器 IP 地址。
如果成功,你应该能看到 WireGuard UI 的登录页面。默认凭证是:
- 用户名:admin
- 密码:admin
首次登录后立即更改此密码!
第四步 - 配置路由
在"WireGuard 服务器"下,输入以下脚本并点击"应用配置"。
Post Up 脚本
bash
iptables -A FORWARD -i %1 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ -j MASQUERADE
Post Down 脚本
bash
iptables -D FORWARD -i %1 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth+ -j MASQUERADE
第五步 - 创建新的客户端配置
现在创建一个带有描述性名称的新客户端:
第六步 - 添加客户端
iOS / Android
Windows / Mac
Windows WireGuard / Mac WireGuard。
相关链接
雨云 - 新一代云服务提供商: https://www.rainyun.com/NTEzMTM1_?s=blog