shadowguard
shadowguard
us:1.99刀 下载
我使用的VPS是debian系统
VPS服务器安装
echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable-wireguard.list
printf 'Package: *\nPin: release a=unstable\nPin-Priority: 150\n' > /etc/apt/preferences.d/limit-unstable
apt-get update
apt-get install wireguard-dkms wireguard-tools
设置服务器的 NAT 流量转发
vim /etc/sysctl.conf
找到这一行 #net.ipv4.ip_forward = 1 去掉注释符 “#”
net.ipv4.ip_forward = 1
执行 sysctl 并生效
sysctl -p
创建文件夹
mkdir -p /etc/wireguard && chmod 0777 /etc/wireguard
cd /etc/wireguard
umask 077
创建服务私钥与公钥
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],将看下面操作
这样将上面wg0.conf修改完后退出保存
回到服务端的界面
输入ifconfig命令 看有没有eth0 有的话很好
没有的话请记下你有的其他网卡名称 然后替换下面配置文件postup和postdown两行里的eth0
启动网卡
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.