本文以 Debian 10 为例,介绍如何搭建 WireGuard 服务端,并说明对应的客户端搭建方法和配置文件的格式。Ubuntu 20.04 系统与之大同小异。
注:请先参照 Debian & Ubuntu 服务器的初始化配置 一文对服务器进行各种必要的配置。本文以 sammy
用户为例,进行 WireGuard 的部署,并默认已按初始化配置文章对服务器进行了配置。
准备工作
安装步骤所需软件包:
1 | sudo apt update |
安装 WireGuard
添加 backports 源:
1 | sudo sh -c "echo 'deb https://deb.debian.org/debian buster-backports main contrib non-free' > /etc/apt/sources.list.d/buster-backports.list" |
安装软件包:
1 | sudo apt update |
配置服务端
切换到 root 用户:
1 | sudo -i |
创建私钥、公钥:
1 | cd /etc/wireguard |
记录私钥、公钥:
1 | cat privatekey # 服务端私钥 |
创建配置文件,并添加内容:
1 | exit # 退出 root 用户 |
1 | [Interface] |
防火墙配置:
1 | sudo ufw allow 自定义端口/udp |
启动服务:
1 | sudo systemctl enable wg-quick@wg0 |
查看服务状态:
1 | sudo systemctl status wg-quick@wg0 |
查看实际效果:
1 | sudo wg |
至此,服务端的配置大体完成,稍后还需要在客户端配置后,在服务端添加客户端的节点信息。
客户端配置
Debian 10 下客户端的安装流程、私钥公钥生成方法,和服务端的步骤类似,此处不再赘述。
创建配置文件,并添加内容:
1 | sudo vim /etc/wireguard/wg0.conf |
1 | [Interface] |
启动服务:
1 | sudo systemctl enable wg-quick@wg0 |
查看服务状态:
1 | sudo systemctl status wg-quick@wg0 |
服务端再配置
在服务器上:
1 | sudo systemctl stop wg-quick@wg0 |
增加 [Peer]
信息,修改后总体如下:
1 | [Interface] |
启动服务:
1 | sudo systemctl start wg-quick@wg0 |
至此,服务端、客户端配置已完成。
References
Debian 10 set up WireGuard VPN server