「教程」vps上部署WireGuard,搭建网络隧道
WireGuard是什么
WireGuard ®是一款极其简单但快速且现代的 VPN,它采用了最先进的加密技术。它旨在比IPsec更快、更简单、更精简、更实用,同时避免大量麻烦。它旨在比 OpenVPN 性能更高。WireGuard 被设计为通用 VPN,可在嵌入式接口和超级计算机上运行,适用于许多不同情况。它最初是为 Linux 内核发布的,现在已跨平台(Windows、macOS、BSD、iOS、Android)并可广泛部署。它目前正在大力开发中,但它可能已经被视为业内最安全、最易于使用和最简单的 VPN 解决方案。
WireGuard官网:https://www.wireguard.com/
开始部署
服务器环境:Ubuntu 20.04 64bit
1.手动安装Wireguard
SSH vps后台
ssh 你的用户名@你的服务器IP
sudo -i #root权限更新软件源
sudo apt update安装wireguard软件
apt install wireguard resolvconf -y开启IP转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p2.进入配置存储路径,调整目录权限
cd /etc/wireguard/
chmod 0777 /etc/wireguard
umask 077 #调整目录默认权限3.生成服务器秘钥
wg genkey > server.key #生成私钥
wg pubkey < server.key > server.key.pub #通过私钥生成公钥4.生成客户端(client1)秘钥
wg genkey > client1.key #生成私钥
wg pubkey < client1.key > client1.key.pub #通过私钥生成公钥显示所有生成的秘钥
cat server.key && cat server.key.pub && cat client1.key && cat client1.key.pub5.自动创建服务器配置文件
[Interface]
PrivateKey = xxxxxx= #此处为client1的私钥
Address = 10.0.1.10 #此处为peer规定的客户端IP
MTU = 1420 #自己服务器的MTU值
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
#注意eth0需要为本机网卡名称
[Peer]
PublicKey = xxxxxx= #此处为server的公钥
AllowedIPs = 10.0.1.0/24 #此处为允许的服务器IP
Endpoint = 100.100.10.100:10000 #服务器对端IP+端口
PersistentKeepalive = 256.设置服务器开机自启动
systemctl enable wg-quick@wg07.启动wireguard
wg-quick up wg0 #启动wg0
wg-quick down wg0 #关闭wg0以上vps服务端便搭建完毕
接下来设置客户端
例:PC/MAC端
wireguard客户端下载地址:https://www.wireguard.com/install/
客户端配置(以client1为例)
[Interface]
PrivateKey = xxxxxx= # #此处为client1的私钥
Address = 10.0.1.10 #此处为peer规定的客户端IP
MTU = 1420
[Peer]
PublicKey = xxxxxx= # #此处为server的公钥
AllowedIPs = 10.0.1.0/24 #此处为允许的服务器IP
Endpoint = 100.100.10.100:10000 #服务器对端IP+端口例:群晖端
使用群晖套件中心安装wireguard套件。
矿神套件源:https://spk7.imnks.com/
SSH群晖后台
ssh 你的用户名@你的服务器IP
sudo -i #root权限进入wireguard目录
cd /etc/wireguard编辑wg0.conf
nano wg0.conf编辑wg0.conf
[Interface]
PrivateKey = xxxxxx= #此处为client1的私钥
Address = 10.0.1.10 #此处为peer规定的客户端IP
MTU = 1420
# 启用 IP 转发(可选,如果未在 sysctl.conf 中设置)
PreUp = sysctl -w net.ipv4.ip_forward=1
# PostUp 和 PostDown 的 iptables 规则
PostUp = iptables -A FORWARD -i wg0 -o eth2 -j ACCEPT
PostUp = iptables -A FORWARD -i eth2 -o wg0 -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth2 -s 10.0.1.0/24 -d 192.168.1.0/24 -j MASQUERADE
PostUp = iptables -t nat -A POSTROUTING -o eth2 -s 10.0.1.0/24 -d 192.168.1.0/24 -j MASQUERADE # 反向 SNAT 规则
PostDown = iptables -D FORWARD -i wg0 -o eth2 -j ACCEPT
PostDown = iptables -D FORWARD -i eth2 -o wg0 -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth2 -s 10.0.1.0/24 -d 192.168.1.0/24 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o eth2 -s 10.0.1.0/24 -d 192.168.1.0/24 -j MASQUERADE # 删除反向 SNAT 规则
[Peer]
PublicKey = Bgq1r41YfERI/wn9JBiyGeturxUE/UKRN08zRK2twxs= #此处为server的公钥
AllowedIPs = 10.0.1.0/24 #此处为允许的服务器IP
Endpoint = 100.100.10.100:10000 #服务器对端IP+端口
PersistentKeepalive = 25启动配置
sudo wg-quick up wg0 # 启动
sudo wg-quick down wg0 # 关闭查看连接状态
sudo wg show wg0设置开机启动
sudo wg-autostart enable wg0 # 开启开机启动
sudo wg-autostart disable wg0 # 关闭关闭开机启动
「教程」vps上部署WireGuard,搭建网络隧道
https://blog.ibm5100.cn/index.php/archives/7/