shadowGuard搭建、使用

Liunx系统Ubuntu17.10(Vultr机主:https://www.vultr.com/

 

服务器安装

https://www.wireguard.com/install/

设置服务器的 NAT 流量转发

vim /etc/sysctl.conf

找到这一行 #net.ipv4.ip_forward = 1 去掉注释符 “#”

或者,直接在最后面复制粘,添加也可以:

net.ipv4.ip_forward = 1

执行 sysctl 并生效

sysctl -p

创建服务私钥与公钥

wg genkey | tee privatekey | wg pubkey > publickey

制作服务器配置文件

vim wg0.conf

粘贴以下内容

[Interface]
Address = 10.200.100.1/24
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51820
PrivateKey = [SERVER PRIVATE KEY]

[Peer]
PublicKey = [CLIENT PUBLIC KEY]
AllowedIPs = 10.200.100.2/32

上方的 [SERVER PRIVATE KEY],用cat privatekey命令显下的内容取代

下方的[CLIENT PUBLIC KEY],将看下面操作

014

这样将上面wg0.conf修改完后退出保存

启动网卡

wg-quick up wg0

服务器安装完成

简单说明

客户端为A,服务端为B。

以上google为例

A数据以B公钥加密传输到B,B以B私钥解密转发google

B收到google回馈数据再以A公钥加密传输到A,A再以A私钥解密

所以服务器保存服务器私钥及客户端公钥,客户端保存客户端私钥及服务端公钥

常见问题解决

DKMS module not available

If the following command does not list any module after you installed wireguard-dkms,

$ modprobe wireguard && lsmod | grep wireguard

or if creating a new link returns

# ip link add dev wg0 type wireguard
RTNETLINK answers: Operation not supported

you probably miss the linux headers.

These headers are available in linux-headers or linux-lts-headers depending of the kernel installed on your system.