为什么要用wireguard
必用理由就一个,它被并入linux内核,效率极高。我也是因为openvpn使用中发现警告太多,配置过于复杂,然后发现好多人转向wg,配置非常精简且灵活。
真正的p2p
跟其他vpn不一样的是它没有严格意义上的server端或者client端,所以你既可以组建单网管的,也可以实现mesh互通。
几个其他教程中有误或者已经过时的地方
- mesh时要删除preshared key,这是个误解,正确配置preshare key可以mesh;
- 有人说节点变多了配置就会是灾难,这里有两个问题,一是wg只是热重载那么更新配置不会中断连接,也就是底层具备配置更新的能力,二是目前已经有项目在做这块功能了,蛮好的,wg保持他的稳定、精简即可
- 各大平台都有官方的gui端,至于linux要么必须要是5.6+内核,如果是ubuntu,5.4+即可
- 只要指定了endpoint,它就是主动去勾搭,另一端默默享受就好
- AllowIPs,它会自动转发相应网段到wg0网卡,换一句话说是否暴露本地lan网段就靠它
- 其实wireguard的配置生成器很多,可以找一个上手,会了以后还是自己动手最灵活
常用命令
debian安装apt install wireguard-tools
私钥生成wg genkey > privatekey
公钥生成wg pubkey < privatekey > publickey
或者一步到位生成wg genkey | tee privatekey | wg pubkey > publickey
共享密钥生成(非必要操作)wg genpsk > presharedkey
查看wg状态wg
或者wg show
激活配置/开始wg-quick up wg0
关闭配置/关闭wg-quick down wg0
生成二维码cat client.conf | qrencode -o - -t UTF8
重启服务systemctl restart wg-quick@wg0
热更新配置wg syncconf wg0 <(wg-quick strip wg0)
开机启动
systemctl enable wg-quick@wg0
systemctl start wg-quick@wg0