WireGuard 简易上手
其实,你既然搜到这个文章,也说明你已经对WireGuard有所了解。
简简单单介绍一下,WireGuard 是一个简单部署+快速的VPN,它的目标是比 IPsec 更快、更简单、更精简和更有用,并比 OpenVPN 性能要高得多。 WireGuard 能适用于许多不同的环境。现在它是跨平台的(Windows、macOS、BSD、iOS、Android)VPN。
部署目标
既然是简易上手,当然部署一套内网是最容易说明的。
我们的目标是通过部署实现,让三台异地主机能在同一个内网中互相访问!
安装WireGuard
1 | # Ubuntu 安装方式 |
Windows
用户直接下载客户端安装;macOS
用户可以登入非国区账号进行下载
配置Server端
Server 端建议在 Linux
部署,Windows
网络转发(内网通信)坑很大。
1. 启用IP转发(这样内网用户才能互相通信)
1 | echo 1 > /proc/sys/net/ipv4/ip_forward |
如果想永久保留配置,可以修改/etc/sysctl.conf
文件
1 | 将 net.ipv4.ip_forward=0 改为 net.ipv4.ip_forward=1 |
2. 生成公私钥
1 | wg genkey | tee privatekey | wg pubkey > publickey |
操作之后,你的目录就会有两个文件。注意保护好私钥哦~
3. 配置文件
新建/etc/wireguard/wg0.conf
并贴入以下内容。
记得要按需修改。
1 | [Interface] |
4. 启动服务
1 | wg-quick up wg0 |
运行之后,你就能看到 ListenPort 对应的UDP端口已经打开。
如果启动失败,出现RTNETLINK answers: Operation not supported
尝试重启主机或者升级系统。
配置客户端
按照服务端的方式生成客户端的共私钥
1 | [Interface] |
Address 要和 服务端配置相同 /32
代表固定IP
DNS 会修改全局DNS配置。如果没有特殊要求可以不填。(8.8.8.8在国内还是慢的,详情见 为什么我的百度访问这么慢???)
AllowedIPs 允许代理的网段,有几个配置可以自行使用
1 | AllowedIPs = 100.64.0.0/24 # 仅内网访问 |
常用命令速查
启/停
1 | wg-quick up wg0 |
自启动服务
1 | systemctl enable wg-quick@wg0 |
增/删用户
直接在conf增加一个[peer]就可以,或者使用
1 | wg set wg0 peer client_public_key allowed-ips 100.64.0.2/32 |
参考
WireGuard 简易上手