要说 什么简单 省事
唯有 组网
就是有点爽 爱好 与 红尘
定义
这是个基于
UDP的异地组网工具
先放下官方的定义 对等体/节点/设备 Peer/Node/Device
诺 如下
| 名称 | 虚拟ip | 自带网段 |
|---|---|---|
| Isaac | 192.168.99.1/32 | |
| Alice | 192.168.99.2/32 | 192.168.2.0/24 |
| Bob | 192.168.99.3/32 | 192.168.3.0/24 |
| Carol | 192.168.99.4/32 | 192.168.4.0/24 |
| Dave | 192.168.99.5/32 | 192.168.5.0/24 |
安装
- 将
net.ipv4.ip_forward = 1添加到/etc/sysctl.conf
debian
1 | apt install wireguard-tools iptables |
alpine
1 | apk add wireguard-tools-wg-quick iptables wireguard-tools-openrc |
修改 /etc/conf.d/iptables 中 IPFORWARD 为 yes
配置
- 公钥私钥采用
wg genkey | tee key.privatekey | wg pubkey > key.publickey生成 每个人都是独立的 - 配置文件在
/etc/wireguard文件名就是网卡名 规则为^[a-zA-Z0-9_=+.-]{1,15}$ - 以下配置文件有精简
Alice 和 Bob 一起玩 Alice 有公网
wg-quick up wg_ab_a
Alice /etc/wireguard/wg_ab_a.conf
1 | [Interface] |
Bob /etc/wireguard/wg_ab_a.conf
1 | [Interface] |
Alice Bob Carol 一起玩 Alice 有公网
wg-quick up wg_abc_aBobCarol玩耍时通过Alice中转
Alice /etc/wireguard/wg_abc_a.conf
1 | [Interface] |
Bob /etc/wireguard/wg_abc_a.conf
1 | [Interface] |
Carol /etc/wireguard/wg_abc_a.conf
1 | [Interface] |
Alice Bob Carol 一起玩 都有公网
Q&A
Address 和 AllowedIPs 什么
站在 Alice 的角度
Address是组网的ip地址 只有同个局域网才能一起玩[Peer]可以找谁一起玩AllowedIPs是路由 找他可以通过那个路出去
1 | [Interface] |
至于 WireGuard 怎么知道是 Bob 还是 Carol 来找自己了
那不是有 PublicKey 字段嘛 我推测是用它判断的
站在 Bob 的角度
1 | [Interface] |
可以通过 Endpoint 这个去找 Alice 玩
我也想去找 Carol 玩 但是他和我都没得 公网
那我只能把相关的网段都给 Alice 让他去中转
参考地址
- https://wiki.alpinelinux.org/wiki/Configure_a_Wireguard_interface_(wg)
- https://github.com/pirate/wireguard-docs
- https://wiki.archlinux.org/title/WireGuard
- https://www.skyone.host/2024/wireguard-configure
- https://v2ex.com/t/934101
- https://www.reddit.com/r/homelab/comments/gw22bv/wireguard_confusion_on_allowedips_and_addresses
- https://www.cnblogs.com/milton/p/14178344.html
- https://www.cyberciti.biz/faq/how-to-set-up-wireguard-vpn-server-on-alpine-linux/
- https://github.com/smile365/blog/blob/master/wireguard.md
- https://forum.proxmox.com/threads/proxmox-lxc-container-alpine-linux-set-up-wireguard-vpn-server-howto-05-2022-rev1.110778/