WireGuard:随时随地一键回家
双十一薅了腾讯云三年vps的羊毛,准备拿来部署一个局域网方便在外用家里的开发机。wireguard ubuntu 原生的 VPN 工具,不过因为协议没有混淆,部署在海外 VPS 很容易被封,建议只用于正常 VPN 需求。部署很简单只需要: 1.公钥/私钥 2.wg配置文件 即可。
安装
sudo apt update && sudo apt install wireguard
服务端
首先打开云主机的 12345 端口(wg server通信用)
生成密钥
$ wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey
$ sudo vim /etc/wireguard/wg0.conf
配置
# wg0.conf
# PostUp 的设置是为了让 peer 的非内部 ip 段流量可以走 eth0,即实现全局代理,不加这个脚本只能实现基本的局域网
# Address 任意一个内网段地址都行
[Interface]
Address = 192.168.99.1/24
ListenPort = 12345
PrivateKey =
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
sudo wg set wg0 peer <公钥> allowed-ips 192.168.99.2
转发设置
sudo vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sudo sysctl -p
生效
sudo wg-quick up wg0
开机自启
sudo systemctl enable wg-quick@wg0
客户端
配置
# AllowedIPs可以直接设置0.0.0.0即全局流量走wg,当前例子里所有99.x的请求走wg
[Interface]
PrivateKey =
Address = 192.168.99.2/24
[Peer]
PublicKey =
AllowedIPs = 192.168.99.0/24
Endpoint = <服务器公网IP>:12345
PersistentKeepalive = 15
生效
sudo wg-quick up wg0
开机自启
sudo systemctl enable wg-quick@wg0
MacOs
需要注意 mac etc 目录
sudo mkdir -p /usr/local/etc/wireguard
cd wireguard
umask 077
wg genkey | tee privatekey | wg pubkey > publicke
# 剩下配置方法和 Linux 一致
Windows
Download: https://download.wireguard.com/windows-client/wireguard-installer.exe
Written on November 13, 2021