WireGuard_实践
转载注明来源: 本文链接 来自osnosn的博客,写于 2023-07-29.
参考文档
- 【彻底理解 WireGuard 的路由策略】
- 【Wireguard 全互联模式(full mesh)配置指南】
- 【Wireguard 全互联模式(full mesh)配置指南】
- 【WireGuard 官网 installation】
- 【】
OpenWRT
- op-21.02, op-22.03,
opkg install luci-app-wireguard
即可,相关依赖都会装齐。重启整个op系统,才生效。- 在 Network -> Interface -> "Add new interface" 创建一个新接口。
- "General Setting" 中,
Protocol 选择 WireGuard.
Bring up on boot 勾上。
Private key 生成一个。
IP Addresses 设置一个自定义IP (和LAN,WAN,不冲突的网段),如"192.168.23.3/24"。- 如果填写 "192.168.23.3/32",则两机连接后,ping不通。
- "Advanced Settings" 中,
Use default gateway 不勾。
Use DNS servers advertised 不勾。 - "Firewall Settings" 中,创建一个叫 WG0 的 zone。
- "DHCP Server" 中,不设置DHCP服务。
- "Peers" 中,先不动。后面再添加。
- "General Setting" 中,
- 点击创建/保存。
- 在 Network -> Firewall 中,检查新创建的zone "WG0" 的设置为,
Input: accept;
Output: accept;
Forward: reject 或 drop;
Masquerading:不勾。
- 在 Network -> Interface -> "Add new interface" 创建一个新接口。
- 设置 peer,需要对方 服务端的pubkey,以及preshared key。
如果gui的网页上有,则可以在网页上copy。如果没有,要用命令行生成。
"echo '私钥' | wg pubkey" 获取私钥对应的 公钥。
"wg genpsk > psk_txt" 生成一个新的 预共享密钥。
"wg show" 可以看到当前系统的 服务端公钥,已经配置的peer公钥。
以下两个命令,用于更换 服务端密钥:
"wg genkey > prikey" 生成一个新的 私钥。
"wg pubkey < prikey > pubkey" 获取私钥对应的 公钥。 - 两台机器用wireguard连接,需要双方 互相添加peer。
A机,添加peer,公钥写 B机的服务端公钥。预共享密钥填写同一个。
B机,添加peer,公钥写 A机的服务端公钥。预共享密钥填写同一个。
peer 中 Private Key 是用来生成配置文件的,不用于连接。留空(op-22.03)。 - op-21.02 添加 peer:
- 在 Network -> Interface 中,"Edit" 编辑刚才创建的 "WG0"接口。
在 peer 选项卡中,"Add peer" 添加一个peer。
Description: 自定义名称。
Public Key: 对方的 服务器公钥,可以在对方机器中,用 "wg show"查看。
Preshared Key: 预共享密钥,可以用 "wg genpsk" 生成一个。双方填同一个。
Allowed IPs: 一定要填, 至少填 wg 自身的网段。如 "192.168.23.0/24"。不写的话,连接后ping不到对方。
Route Allowed IPs: 一定要勾上。不勾的话,连接后ping不到对方。
Endpoint Host: 对方的IP。如果对方在nat后面,连接不上,则留空。
Endpoint Port: 对方的UDP监听口。如果对方的IP留空,则留空。
Persistent Keep Alive: 要填一个非零值。否则不会主动连接。(不知道要等多久,或者等什么触发条件)。如果对方的IP留空,则留空。
- 在 Network -> Interface 中,"Edit" 编辑刚才创建的 "WG0"接口。
- op-22.02 添加 peer:
- 在 Network -> Interface 中,"Edit" 编辑刚才创建的 "WG0"接口。
在 peer 选项卡中,"Add peer" 添加一个peer。
多了两个选项,其他的选项和 op-21.03 一样。
Private Key: 是用来生成peer配置文件,不用于连接。可以留空。就是配置内容需要有个prikey,写这里,用于抄到配置文件"[interface]"中的。
Configuration Export: 如果填了 "private key" 就可以点击它,生成peer的配置文件。
- 在 Network -> Interface 中,"Edit" 编辑刚才创建的 "WG0"接口。
----end----
转载注明来源: 本文链接 https://www.cnblogs.com/osnosn/p/17589669.html
来自 osnosn的博客 https://www.cnblogs.com/osnosn/ .
标签:wg,公钥,实践,留空,peer,WireGuard,op From: https://www.cnblogs.com/osnosn/p/17589669.html