最后,在 WireGuard 中的所有数据报文,都采用 UDP 的方式发送。
(个人观感:OSPF Area = WG Config | OSPF Peer = WG Peer | OSPF route = WG AllowedIPs)
WireGuard 安装
官方的安装教程为 [ [链接登录后可见] ]
注意 windows 没有官方程序 官方工具 Windows 版本建议下载 MSI,本例使用第三方制作的 TunSafe 程序 [ [链接登录后可见] ]
TunSafe 在 Windows 环境中安装时,需要安装 TunSafe Client 与 TunSafe-TAP Ethernet Adapter (GPL) 两个程序
前者是 GUI 界面,后者是程序所必需的 TAP 网卡(并且需要翻墙下载安装包)
安装好后可以设置成自动开启,并配置为系统服务
如果是 IOS / Android 系统,可以使用应用商店主动获取,应用 WireGuard 的图标为官网图标,也可以使用 TunSafe 客户端。
而 Linux 部分,官方有明确的安装说明。唯一注意 CentOS 7 和 Ubuntu 14 等版本的默认内核版本不支持自定义网卡 type 所以必须升级内核到 4.18 及更高版本。
Ubuntu 20 的安装很简单
代码登录后可见
WireGuard 主端配置
关于如何配置,官方其实有快速安装说明 [ [链接登录后可见] ]
但由于官方说明实在是很模糊,所以我还是重新强调一些关键点
首先你需要一个文件夹存放 WireGuard 的配置文件,本文路径为 /etc/wireguard/ 这个文件夹(默认安装就生成)
然后你需要知道如何生成一对公钥与私钥,命令可以使用下面这个
(私钥为 privatekey 公钥为 publickey)
代码登录后可见
以及本文的配置环境如下,括号中携带的是对应主机拥有的其他网段
主机 192.168.0.100 <—> 192.168.0.200
虚拟 172.16.1.11:8001 ( 172.16.11.0/24 ) <—> 172.16.1.12:8002 ( 172.16.12.0/24 )
建议练习手动步骤来理解 Wireguard 如何工作,如果懒人想直接使用自动方案,跳过本章节下拉从 6 开始
—
WireGuard 的主端配置
开始前,为了方便,我们创建一个 WireGuard 配置文件(等价参考,可以纯手动命令启动同等配置服务)
代码登录后可见
代码登录后可见
首先我们需要创建一个网卡配置文件(此配置名 wg0,等价参考上方 文件名)
代码登录后可见
代码登录后可见
然后我们需要给这个网络接口配上 IP 地址(此配置 172.16.1.11/24,等价参考上方 Address)
代码登录后可见
代码登录后可见
其次我们创建一个私钥,用于 Wireguard 使用,并配置权限禁止他人访问
(默认 /etc/wireguard/ 其实就已经 700 权限了)
代码登录后可见
代码登录后可见
接着我们启动该网络接口,使之正式可用
代码登录后可见
代码登录后可见
此时我们创建好了本地节点,还需要宣告哪些节点是我们的邻居,才能建立网络连接。
同时注意在查看 Wireguard 信息时,主端的 Publickey 为 代码登录后可见
—
WireGuard 的对端配置
在对端设备的配置和主端一致,所以在此依然创建一个 WireGuard 配置文件用于参考
代码登录后可见
代码登录后可见
这里直接快速创建
代码登录后可见
现在我们创建好了对端的配置,检查一下 Wireguard 信息
代码登录后可见
—