要说 什么简单 省事
唯有 组网
就是有点爽 爱好
与 红尘
定义
这是个基于
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_a
Bob
Carol
玩耍时通过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/