搭建 WireGuard,这篇文章就够了!最详细的 WireGuard教程,一键搞定繁琐的 WireGuard配置, WireGuard 安装部署图文教程送上
前言
此教程面向小小白萌新,从购买 VPS 到使用 SSH 登录并安装和配置WireGuard,尽量详细一些,老鸟请自行飞过。
此教程使用 Windows 系统,如果你是 Mac 用户,需要先自行解决 SSH 的登录使用问题,其实也很简单的啦,自己网上去搜索 Mac SSH登录 。
简介
来看这篇文章的萌新都是肯定知道 WireGuard 是用来干嘛的了,我也懒得再长篇细说了,
显然,这篇文章不会像官方的文档或者白话文那样特殊性的展示肌肉。
而是可以直接让你上手使用 WireGuard,达到你所想要的需求,哪怕你一点经验都没有。
准备
一个 SSH 远程管理软件,使用 Xshell 5,这个是必须的。
打开链接后,便会自动下载了,如果没有自动下载,你自行选择 下载 即可,下载好了就安装它。
备注:如果 Xshell 5 提示升级,直接忽略即可,不要升级到 Xshell 6,新版本增加了某些使用限制
为了避免国内的流氓代理,请使用本人提供的 Xshell 5 程序 (官网原版,请放心使用)
购买一个VPS
选择合适的VPS套餐,VPS套餐来自:搬瓦工(Bandwagon Host)
推荐使用搬瓦工 6.25% 优惠码: BWH26FXH3HIQ
香港优化线路,推荐
CPU
|
内存
|
硬盘
|
流量
|
价格
|
链接
|
1 核
|
1024 MB
|
20 GB
|
100GB / 月
|
$99.99 / 年
| |
1 核
|
2048 MB
|
40 GB
|
200GB / 月
|
$199.99 / 年
| |
1 核
|
4096 MB
|
80 GB
|
300GB / 月
|
$39.99 / 月
| |
2 核
|
8192 MB
|
160 GB
|
500GB / 月
|
$79.99 / 月
| |
4 核
|
16384 MB
|
320 GB
|
1000GB / 月
|
$159.99 / 月
|
CN2 GIA 优化线路 - 推荐
CPU
|
内存
|
硬盘
|
流量
|
价格
|
链接
|
1 核
|
512 MB
|
10 GB
|
300GB / 月
|
$39.99 / 年
| |
2 核
|
1024 MB
|
20 GB
|
1000GB / 月
|
$19.99 / 季
| |
3 核
|
2048 MB
|
40 GB
|
2000GB / 月
|
$39.99 / 季
| |
4 核
|
4096 MB
|
80 GB
|
3000GB / 月
|
$27.99 / 月
| |
6 核
|
8GB
|
160 GB
|
5000GB / 月
|
$55.99 / 月
| |
8 核
|
16GB
|
320 GB
|
8000GB / 月
|
$109.99 / 月
|
CN2 优化线路
CPU
|
内存
|
硬盘
|
流量
|
价格
|
链接
|
1 核
|
512 MB
|
10 GB
|
500GB / 月
|
$29.99 / 年
| |
1 核
|
1024 MB
|
20 GB
|
1000GB / 月
|
$49.99 / 年
| |
1 核
|
2048 MB
|
40 GB
|
2000GB / 月
|
$99.99 / 年
| |
2 核
|
4096 MB
|
80 GB
|
3000GB / 月
|
$19.99 / 月
| |
2 核
|
8 GB
|
160 GB
|
5000GB / 月
|
$39.99 / 月
| |
3 核
|
16 GB
|
320 GB
|
8000GB / 月
|
$79.99 / 月
|
普通优化线路
CPU
|
内存
|
硬盘
|
流量
|
价格
|
链接
|
1 核
|
512 MB
|
10 GB
|
1000GB / 月
|
$19.99 / 年
| |
1 核
|
1024 MB
|
20 GB
|
2000GB / 月
|
$39.99 / 年
|
其他 - 这个套餐可换机房
CPU
|
内存
|
硬盘
|
流量
|
价格
|
链接
|
1 核
|
512 MB
|
10 GB
|
500GB / 月
|
$19.99 / 年
| |
2 核
|
1024 MB
|
20 GB
|
1 TB / 月
|
$49.99 / 年
| |
3 核
|
2 GB
|
40 GB
|
2 TB / 月
|
$99.99 / 年
| |
4 核
|
4 GB
|
80 GB
|
3 TB / 月
|
$19.99 / 月
| |
5 核
|
8 GB
|
160 GB
|
4 TB / 月
|
$39.99 / 月
| |
6 核
|
16 GB
|
320 GB
|
5 TB / 月
|
$79.99 / 月
|
选择哪个套餐?如果你不知道选择哪个套餐
下面这是最常见的购买套餐
备注
|
CPU
|
内存
|
硬盘
|
流量
|
价格
|
链接
|
其他
|
1 核
|
512 MB
|
10 GB
|
500GB / 月
|
$19.99 / 年
| |
CN2
|
1 核
|
512 MB
|
10 GB
|
500GB / 月
|
$29.99 / 年
| |
GIA
|
2 核
|
1024 MB
|
20 GB
|
1000GB / 月
|
$19.99 / 季
| |
GIA
|
1 核
|
512 MB
|
10 GB
|
300GB / 月
|
$39.99 / 年
| |
香港
|
1 核
|
4096 MB
|
80 GB
|
300GB / 月
|
$39.99 / 月
| |
香港
|
2 核
|
8192 MB
|
160 GB
|
500GB / 月
|
$79.99 / 月
|
没有找到合适的套餐?你可以前往官网详细查看:快速通道链接
哪个套餐好?
一般来说,推荐购买香港优化线路 或 CN2 GIA 优化线路,或者哪个便宜选择那个,当然如果你使用量比较多或者想要分享给同学和朋友一起用的话,选择合适的套餐即可。又或者你土豪的话,选择最贵的也行。
香港优化线路的VPS的速度最快。 但价格贵,流量相对少一些……
注意,记住一分钱一分货。
如果出现 out of stock 这样的提示,那就是这个套餐卖完了,先选择其他套餐即可,等后面有货了再变更套餐。
购买
在上面表格中选择想要购买的套餐,然后点击购买即可。
将套餐添加到购物车
说明一下,在Billing Cycle选项那里选择:$xxxx USD Annually,按年付的意思
推荐按年付,比按月付最高可省55%的钱
Location 选择: HK - Hong Kong xxxxx (如果你购买的是香港线路的话)
否则选择: US - Los Angeles xxxxx
然后点击Add To Cart
结算
推荐使用搬瓦工 6.25% 优惠码:BWH26FXH3HIQ
这个优惠码是搬瓦工目前最高优惠的优惠码
输入优惠码之后点击 Validate Code >>
然后点击Checkout
如下图所示:已经使用搬瓦工优惠码
然后会提示你注册账号 (如果你没账号或者还没登录)
请按照下面图片提示来填写~
要注意的是,Country 选项记得选择China,Payment Method 选择Alipay
不要忘了勾上 I have read and agree to the Terms of Service
然后Complete Order
付款
点击Pay now
之后便会跳转到支付宝付款界面,完成付款即可
获取VPS信息
确保你已经成功付款之后
再点击网页中的 KiwiVM Control Panel
这是首次登录的界面,稍等一会,等待资源分配即可。
等待两三分钟,刷新一下。
这是已经在运行的界面,请记下IP address然后点击stop
当出现:Great Success!Virtual server will stop in a few seconds.
证明VPS已经停止了,我们需要重装一个系统。点击左边的Install new OS
之后选择centos-7-x86_64-bbr
再勾上:I agree that all existing data on my VPS will be lost.
然后点击Reload
(注意:如果你下面的列表里实在找不到centos-7-x86_64-bbr
那么请选择 centos-7-x86_64 )
安装此系统之后便会自动启用 BBR 优化加速。
当点击Reload之后,稍等片刻将会出现下图所示的界面,
请务必记下: You will need a new root password to access your VPS:xxxx
还有:New SSH Port:
一个是root密码,一个是SSH端口,
例如我的root密码是:xM529uLLeeTB,SSH端口是:26654
OK,这时我们已经获取到VPS的信息了。
登录VPS
打开Xshell 5,新建一个会话。
主机写上你的VPS IP地址,端口写上SSH端口。
之后点击 用户身份验证,用户名:root,密码:你的root 密码。然后点击确定
之后选择连接。
然后会提示SSH安全警告,选择,接受并保存。
这是登录成功后的界面
WireGuard客户端
下载安装
下载后安装,并启动,即可看到主界面:
生成密钥对(Key Pair)
在开始前,我们需要先创建至少2个密钥对(公钥和私钥)。
在TunSafe软件的界面中,点击
File
菜单,再点击 Generate Key Pair
,即可出现公钥私钥生成界面。
通过点击
Randomize
按钮,软件会生成一对密钥,其中Private Key为私钥,Public Key为公钥,为了方便配置服务端和客户端,我们需要生成至少两对密钥。
新开一个记事本,将生成的公钥和私钥保存下来,建议参考下列格式记录清楚,稍后配置时需要使用。
注意:出于安全考虑,不要照搬本教程的公钥和私钥。密钥对必须对应,不能将第一次生成的公钥和第二次生成的私钥组合起来使用。
以上就完成了密钥对的生成,下面开始配置客户端的配置文件。
创建(编辑)客户端配置文件
通过点击 TunSafe 主界面右侧的
Edit Config
按钮,可以打开编辑文件进行编辑。
文件中有很多注释内容,本例将简单进行概述:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| [Interface] # [Interface] 以下为本机(客户端)的配置情况。 PrivateKey = +ERZhs7mDpIXjcnabVl+WytG80xjKCUEWlFsQrKtaUc= # 此行为客户端私钥(Private Key),请在生成的密钥对中选取客户端的私钥并粘贴进来。 ListenPort = 9876 # 此行为指定监听的端口,也作为发送(源)端口,可自行修改,不要求和服务器一致。 DNS = 8.8.8.8 # 此行为设定连接后客户端所使用的DNS服务器。 Address = 10.0.2.1/24 # 此行为设定客户端连接后所使用的IP地址,可以维持默认,也可以自行指定,但是需要和服务端配置在同一网段(如都在 10.0.2.0/24网段),不然会被丢弃。 # BlockInternet = route, firewall # 此行为TunSafe的专有选项,意思为是否要屏蔽所有不安全的互联网流量,建议维持默认关闭(注释, # )的状态。 [Peer] # [Peer] 以下为连接服务器的配置。 PublicKey = R8m0mgZWEH1b+synpBYyqSTOuEsw1gU46u457IzsohA= # 此行为服务器的公钥,请在生成的密钥对中选取服务端的公钥并粘贴进来。 # PresharedKey = SNz4BYc61amtDhzxNCxgYgdV9rPU+WiC8woX47Xf/2Y= # 此行为预共享密钥,对于一般安全要求,无需指定。 AllowedIPs = 0.0.0.0/0 # 此行为指定允许数据包发送的IP范围,如果要允许发送至所有IP的数据包,设置为 0.0.0.0/0 即可。 Endpoint = 123.45.67.89:9876 # 此行为指定你的服务端的IP和端口,如果已知服务器的IP和端口,可以先填写进去。 PersistentKeepalive = 25 # 此行为定期发送“保持活动”的数据包,维持默认的 25 (秒)即可。 |
以上为客户端配置文件的设置,修改完毕后保存退出即可。
WireGuard服务端:
下载与安装
请先确保VPS已经更新到最新系统(含内核),建议使用
apt-get update
和 apt-get dist-upgrade
进行更新。
在服务端上获取 WireGuard 有两种方式,第一种可以修改
apt-get
所使用的 source.list
,增加 unstable
源分支,具体操作详见: https://www.wireguard.com/install/ 。
备注: WireGuard 服务端需要依赖动态内核模块支持框架(Dynamic Kernel Module Support Framework ,DKMS),请确保已经安装。
系统环境配置
安装结束后,首先我们需要允许IP转发,通过执行
sysctl -a |grep net.ipv4.ip_forward
命令,检查 net.ipv4.ip_forward
参数是否为1,如果不为1,则需要修改 /etc/sysctl.conf
文件,找到 net.ipv4.ip_forward
修改为1,或者新增一行 net.ipv4.ip_forward = 1
,保存退出后使用 sysctl -p
命令使设置立刻生效。创建服务端配置文件
下面,我们可以开始创建服务端的配置文件了,使用编辑器新建一个位于
/etc/wireguard/
目录下的配置文件,本例中为 /etc/wireguard/wg0.conf
:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| [Interface] # [Interface] 以下为本机(服务器)参数指定。 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # 此行为定义启动该配置文件后,所执行的命令,该iptables命令用于创建一条转发规则。注意:如果服务器的网卡不叫 eth0 ,请注意修改,详见末尾疑难解答。 PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE # 此行为定义停止该配置文件后,所执行的命令,该iptables命令用于删除所创建的转发规则。注意:如果服务器的网卡不叫 eth0 ,请注意修改,详见末尾疑难解答。 ListenPort = 9876 # 此行为定义服务端所监听的端口。 PrivateKey = +LAP1sZG1T6ljf6SQ/f2XOOiUyFzn5UrY8gd/tyJK2I= # 此行为服务器的私钥,请在生成的密钥对中选取服务端的私钥并粘贴进来。 [Peer] # [Peer] 以下为接入客户端的设定。 PublicKey = /09mvABMFRs3fONigHcMlyK9rbnAj87ELDTA7tLmzDI= # 此行为客户端的公钥,请在生成的密钥对中选取客户端的公钥并粘贴进来。 AllowedIPs = 10.0.2.0/24 # 此行为允许客户端所使用的IP地址范围,需要和客户端所设置的IP地址位于同一网段,如客户端的IP为 10.0.2.1/24 ,那么这里可以设置为 10.0.2.0/24 ;如果客户端为 172.16.0.1/24 ,那么这里则需要设置为 172.16.0.0/24 。 |
完成设置后保存并退出,回到命令行后执行:
wg-quick up wg0
即可基于我们刚写好的配置文件(wg0.conf)启动服务端。
备注:如果需要每次开机自动启动服务端的 WireGuared ,可执行:
systemctl enable wg-quick@wg0
命令,其中 wg0 为配置文件的文件名(不含扩展名)。开始连接
回到客户端,点击 TunSafe 软件的
Connect
按钮,如果没有任何错误,且提示 Connected ,则说明连接成功。对于Android 和 iOS 及其他平台客户端请自行谷歌搜索下载使用.
疑难解答
※连接不上,始终在重试。
请检查客户端的服务器IP、端口,服务器和客户端的密钥对配置是否正确,有必要请重新配置一次服务器和客户端的密钥对,另外也可能是由服务端的网络防火墙屏蔽,请检查
iptables
或 ufw
等策略是否正确。
如果配置无误,有一定可能性是由于线路不稳定(UDP丢包)或者你所在运营商(含客户端、服务端)的网络屏蔽了UDP协议。
※连接上了,但是无法上网。
请确保客户端配置文件中指定的IP地址(Address)在服务端配置文件中指定的IP地址(AllowedIPs)范围内,如客户端
[Interface]
下的 Address
设置的是 10.0.2.1/24
,那么服务端 [Peer]
下的 AllowedIPs
则需要设置为 10.0.2.0/24
。
如果确认IP范围无误,请使用
sysctl -a |grep net.ipv4.ip_forward
命令检查 net.ipv4.ip_forward
是否为 1 ,如果不是,请检查是否正确编辑了 /etc/sysctl.conf
文件,或者 sysctl
是否已经生效。
如果
net.ipv4.ip_forward
确认为1,请使用 ifconfig
或 ip addr
命令检查设置了公网IPv4或IPv6的网卡是否叫 eth0
,如果不是 eth0
,请重新编辑服务器端的配置文件,将 PostUp
和 PostDown
参数中的 eth0
部分修改为你的网卡名,某些网卡可能叫 enoXX
、 ensXX
、 enpXsXX
,请以你的系统为准。
如果你的服务器同时部署了自定义的防火墙策略,请确保
PostUp
所添加的 iptables 策略位于 FORWARD
链的顶部。
没有评论:
发表评论