Debian 10设置WireGuard VPN服务器
如何在Debian 10 Linux服务器上安装和设置WireGuard VPN服务器?
如何将Debian 10配置为WireGuard VPN服务器?
WireGuard是具有最新加密技术的开源,免费,现代,快速的VPN服务器。
与IPSec和OpenVPN相比,它更快,更简单。
最初是为Linux内核发布的,但是它正在获得对其他操作系统(例如FreeBSD和其他操作系统)的跨平台支持。
本教程说明如何在Debian 10 Linux服务器上安装和设置WireGuard VPN。
Debian 10设置WireGuard VPN服务器的步骤
我们的示例设置包括在运行Debian 10 LTS服务器的云服务器与Debian/Ubuntu/RHEL/SUSE/OpenSUSE/CentOS Linux桌面客户端(或iOS/Android应用)之间的简单对等连接:安装和安装的步骤如下。
在Debian Linux 10上将WireGuard配置为VPN服务器。
步骤1更新系统
运行apt命令/apt-get命令以安装Debian 10安全更新:
{Hyman@mum-vpn:~ }$ sudo apt update {Hyman@mum-vpn:~ }$ sudo apt upgrade
步骤2启用Debian 10 buster backportsRepo
Wireguard在Debian向后移植的仓库中。
因此,按如下所示启用反向移植:
{Hyman@mum-vpn:~ }$ sudo sh -c "echo 'deb http://deb.debian.org/debian buster-backports main contrib non-free' > /etc/apt/sources.list.d/buster-backports.list"
`使用cat命令验证仓库:
{Hyman@mum-vpn:~ }$ cat /etc/apt/sources.list.d/buster-backports.list
更新仓库,运行:
{Hyman@mum-vpn:~ }$ sudo apt update
Hit:1 http://mirrors.linode.com/debian buster InRelease Hit:2 http://mirrors.linode.com/debian-security buster/updates InRelease Hit:3 http://mirrors.linode.com/debian buster-updates InRelease Get:4 http://deb.debian.org/debian buster-backports InRelease [46.7 kB] Get:5 http://deb.debian.org/debian buster-backports/main amd64 Packages [292 kB] Get:6 http://deb.debian.org/debian buster-backports/main Translation-en [227 kB] Get:7 http://deb.debian.org/debian buster-backports/contrib amd64 Packages [7,448 B] Get:8 http://deb.debian.org/debian buster-backports/contrib Translation-en [5,492 B] Get:9 http://deb.debian.org/debian buster-backports/non-free amd64 Packages [23.3 kB] Get:10 http://deb.debian.org/debian buster-backports/non-free Translation-en [30.3 kB] Fetched 632 kB in 2s (287 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done All packages are up to date.
搜索WireGuard软件包
运行以下命令:
{Hyman@mum-vpn:~ }$ apt search wireguard
Sorting... Done Full Text Search... Done wireguard/buster-backports 1.0.20200319-1~bpo10+1 all fast, modern, secure kernel VPN tunnel (metapackage) wireguard-dkms/buster-backports 0.0.20200318-1~bpo10+1 all fast, modern, secure kernel VPN tunnel (DKMS version) wireguard-tools/buster-backports 1.0.20200319-1~bpo10+1 amd64 fast, modern, secure kernel VPN tunnel (userland utilities)
步骤3在Debian 10 LTS上安装WireGuard VPN服务器
现在,我们获得了具有最新安全补丁程序的服务器更新,并且启用了反向破坏。
现在该在Debian 10服务器上设置WireGuard VPN服务器了。
输入:
{Hyman@mum-vpn:~ }$ sudo apt install wireguard
步骤4配置WireGuard服务器
首先,我们需要为WireGuard服务器创建一个私钥和公钥对。
让我们使用cd命令如下所示进入/etc/wireguard /目录:
{Hyman@mum-vpn:~ }$ sudo -i {root@mum-vpn:~ }# cd /etc/wireguard/
执行以下命令:
{Hyman@mum-vpn:~ }# umask 077; wg genkey | tee privatekey | wg pubkey > publickey
要查看创建的键,请使用cat命令和ls命令:
{Hyman@mum-vpn:~ }# ls -l privatekey publickey {Hyman@mum-vpn:~ }# cat privatekey ## Please note down the private key ## {Hyman@mum-vpn:~ }# cat publickey
通过编辑wg0.conf在Debian上设置WireGuard VPN
如下编辑或更新/etc/wireguard/wg0.conf文件:
{Hyman@mum-vpn:~ }$ sudo nano /etc/wireguard/wg0.conf ## OR ## {Hyman@mum-vpn:~ }$ sudo vim /etc/wireguard/wg0.conf
追加以下配置指令:
## Set Up WireGuard VPN on Debian By Editing/Creating wg0.conf File ## [Interface] ## My VPN server private IP address ## Address = 192.168.10.1/24 ## My VPN server port ## ListenPort = 51194 ## VPN server's private key i.e. /etc/wireguard/privatekey ## PrivateKey = eEvqkSJVw/7cGUEcJXmeHiNFDLBGOz8GpScshecvNHU ## Save and update this config file when a new peer (vpn client) added ## SaveConfig = true
使用vim文本编辑器时,保存并关闭文件。
步骤5设置UFW防火墙规则
我假设您已配置UFW,并且我们将使用ufw命令打开UDP 51194端口,如下所示:
{Hyman@mum-vpn:~ }$ sudo ufw allow 51194/udp
有关更多信息,请参见如何在Debian 10 LTS上使用UFW配置防火墙。
步骤6启用并启动WireGuard服务
在启动时使用systemctl命令打开WireGuard服务,运行:
{Hyman@mum-vpn:~ }$ sudo systemctl enable wg-quick@wg0
启动服务,执行:
{Hyman@mum-vpn:~ }$ sudo systemctl start wg-quick@wg0
获取服务状态,运行:
{Hyman@mum-vpn:~ }$ sudo systemctl status wg-quick@wg0
使用ip命令验证名为wg0的接口是否已在Debian服务器上启动并正在运行:
{Hyman@mum-vpn:~ }$ sudo wg {Hyman@mum-vpn:~ }$ sudo ip a show wg0
步骤7 Wireguard VPN客户端配置
安装和配置VPN客户端的过程与设置服务器相同。
让我们在Debian Linux 10桌面上安装客户端:
{Hyman@debian-10-vpn-client:~ }$ sudo sh -c "echo 'deb http://deb.debian.org/debian buster-backports main contrib non-free' > /etc/apt/sources.list.d/buster-backports.list" {Hyman@debian-10-vpn-client:~ }$ sudo apt update
在Linux桌面上安装Wireguard,运行:
{Hyman@debian-10-vpn-client:~ }$ sudo apt install wireguard
接下来,我们需要在Debian/Debian/CentOS Linux destkop上创建VPN客户端配置:
{Hyman@debian-10-vpn-client:~ }$ sudo sh -c 'umask 077; touch /etc/wireguard/wg0.conf' {Hyman@debian-10-vpn-client:~ }$ sudo -i {root@debian-10-vpn-client:~ }# cd /etc/wireguard/ {root@debian-10-vpn-client:~ }# umask 077; wg genkey | tee privatekey | wg pubkey > publickey {root@debian-10-vpn-client:~ }# ls -l publickey privatekey ## Note down the privatekey ## {root@debian-10-vpn-client:~ }# cat privatekey
编辑/etc/wireguard/wg0.conf文件:
{Hyman@debian-10-vpn-client:~ }$ sudo nano /etc/wireguard/wg0.conf ## OR ## {Hyman@debian-10-vpn-client:~ }$ sudo vim /etc/wireguard/wg0.conf
追加以下指令:
[Interface] ## This Desktop/client's private key ## PrivateKey = uJPzgCQ6WNlAUp3s5rabE/EVt1qYh3Ym01sx6oJI0V4 ## Client ip address ## Address = 192.168.10.2/24 [Peer] ## Debian 10 server public key ## PublicKey = qdjdqh2pN3DEMDUDRob8K3bp9BZFJbT59fprBrl99zM ## set ACL ## AllowedIPs = 192.168.10.0/24 ## Your Debian 10 LTS server's public IPv4/IPv6 address and port ## Endpoint = 172.105.112.120:51194 ## Key connection alive ## PersistentKeepalive = 20
启用并启动VPN客户端/对等连接,运行:
{Hyman@debian-10-vpn-client:~ }$ sudo systemctl enable wg-quick@wg0 {Hyman@debian-10-vpn-client:~ }$ sudo systemctl start wg-quick@wg0 {Hyman@debian-10-vpn-client:~ }$ sudo systemctl status wg-quick@wg0
允许桌面客户端和Debian服务器通过VPN连接(对等)
我们需要配置服务器端对等VPN选项,并允许桌面客户端计算机与服务器之间的连接。
让我们回到Debian 10 LTS服务器并编辑wg0.conf文件,以添加Peer信息,如下所示(在服务器上执行`commands'框):
{Hyman@mum-vpn:~ }$ sudo systemctl stop wg-quick@wg0 {Hyman@mum-vpn:~ }$ sudo vi /etc/wireguard/wg0.conf
追加以下配置:
[Peer] ## Desktop/client VPN public key ## PublicKey = 2H8vRWKCrddLf8vPwwTLMfZcRhOj10UBdc0j8W7yQAk= ## client VPN IP address (note the /32 subnet) ## AllowedIPs = 192.168.10.2/32
保存并关闭文件。
接下来再次启动该服务,运行:
{Hyman@mum-vpn:~ }$ sudo systemctl start wg-quick@wg0
步骤8验证
就这些了。
到目前为止,必须使用称为WireGuard的对等VPN安全地连接Debian服务器和客户端。
让我们测试连接。
在客户端计算机/台式机系统上执行以下ping命令:
{Hyman@debian-10-vpn-client:~ }$ ping -c 4 192.168.10.1 {Hyman@debian-10-vpn-client:~ }$ sudo wg ## try to ssh into server using our VPN connection ## {Hyman@debian-10-vpn-client:~ }$ ssh [email protected]
步骤9防火墙配置
现在,我们已经为服务器和客户端设置并配置了对等VPN网络。
但是,您可能希望授予所有VPN客户端访问Internet的权限。
为此,我们需要设置IPv4和IPv6防火墙规则,包括NAT和IP转发。