组网的方式有很多,相关工具也很多,仅记录自己的使用过程。目前不是最终方案,网络基础知识非常弱,怕把家庭网搞崩,一直没有对内网进行调整,包括PVE
自主机负责把虚拟机的流量通过NAT
或路由转发进WireGuard
网络。
目标
实现工作地NAS
、家NAS
组内网,对内网速度无任何要求,能正常SSH或网页访问即可。比如家里Ubuntu
虚拟机跑点Docker
服务,组内网后方便调试。
1
2
3
4
5
6
7
8
9
10
11
|
┌──────────────┐
│ 阿里云服务器 │ <───公网IP───> Internet
│ WireGuard │
└──────┬───────┘
│
┌───────────┼───────────┐
│ │
┌────────────┐ ┌────────────┐
│ 济南 NAS主机 │ │ 北京 NAS主机 │
│ WireGuard客户端 │ │ WireGuard客户端 │
└────────────┘ └────────────┘
|
准备
-
一台公网服务器,正好手里有台阿里云
-
家PVE
-
工作地PVE
开干
阿里云配置Server端
-
阿里云端口开发

-
部署wg-easy
创建config
文件夹和docker-compose.yml
文件,文件内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
services:
wg-easy:
image: ghcr.io/wg-easy/wg-easy:15
container_name: wg-easy
restart: unless-stopped
environment:
- INSECURE=true
volumes:
- ./config:/etc/wireguard
- /lib/modules:/lib/modules:ro
ports:
- "51820:51820/udp"
- "51821:51821/tcp"
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
net.ipv4.ip_forward: "1"
net.ipv4.conf.all.src_valid_mark: "1"
net.ipv6.conf.all.disable_ipv6: "0"
net.ipv6.conf.all.forwarding: "1"
net.ipv6.conf.default.forwarding: "1"
|
目录结构参考:

- 启动
wg-easy
服务
- 访问
http://<阿里云公网IP>:51821
配置WireGuard
登录后,点击右上角用户,修改允许的IP,这里修改我们的大内网IP段。

- 创建两个客户端,保持间隔写20,其他都默认即可,创建完下载配置文件,后面客户端会会用到
NAS
Ubuntu
用的比较多,这里以Ubuntu
为例,如果用群辉/飞牛/极空间,把Wireguard
客户端安装到自己NAS
环境即可。(多台NAS都要创建和配置各自的客户端连接)
- 安装Wireguard
1
|
sudo apt install wireguard -y
|
- 配置客户端
1
|
sudo vim /etc/wireguard/wg0.conf
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# wg0.conf 内容为 wg-easy 生成的客户端内容,参考如下:
[Interface]
PrivateKey = WL6Oaltpc4ODQC+GN+4A+a2rabSeoztl0Q4j6cbo7E4=
Address = 10.8.0.4/24, fdcc:ad94:bacf:61a4::cafe:4/112
DNS = 1.1.1.1, 2606:4700:4700::1111
MTU = 1420
[Peer]
PublicKey = pgB04H4JrVAfZmohVabcfdgEoUKRbZO3ge8TMvKy2mRU=
PresharedKey = QMbWan7Sk+RgVq15+Y0YVMZxXVDcAr+D2GCS9R2kOESc=
AllowedIPs = 10.8.0.0/24
PersistentKeepalive = 20
Endpoint = 39.102.xx.xxx:51820
|
- 启动服务
- 查看服务状态

至此异地的两台NAS可以互相访问,如果其他电脑需要访问这两台NAS,则继续在wg-esay
创建客户端,启动即可。
比如,我把另一台电脑加入NAS大内网,然后就可以愉快的访问两台NAS环境了

完活
一台电脑,两台异地虚拟机可以通过:10.8.0.0/24
网段相互访问了。

📎 参考文章