Skip to content

Commit cd281a6

Browse files
committed
chore: update routes.json example, add cider_mapping case
1 parent 6b5bb64 commit cd281a6

File tree

2 files changed

+32
-10
lines changed

2 files changed

+32
-10
lines changed

doc/README_CN.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
- 🔐 **安全加密** - ChaCha20-Poly1305(默认)、AES-256-GCM、XOR/Plain 可选
3535
- 🚀 **双路径 P2P** - IPv6 直连 + STUN 打洞,自动降级到中继模式
3636
- 🌐 **智能路由** - 自动选择最佳路径:IPv6(最低延迟)→ STUN(NAT穿透)→ 中继
37+
- 🔄 **CIDR 映射** - 通过网段映射解决网络冲突问题(仅 Linux)
3738
- 🌍 **跨平台** - Linux、macOS、Windows 预编译二进制文件
3839

3940
## 📋 目录
@@ -280,7 +281,8 @@ openssl rand -base64 32
280281
| `private_ip` | 分配给客户端的虚拟 IP | `"10.0.1.1"` |
281282
| `mask` | VPN 网络的子网掩码 | `"255.255.255.0"` |
282283
| `gateway` | 路由网关 IP | `"10.0.1.254"` |
283-
| `ciders` | 可通过此客户端路由的 CIDR 范围 | `["192.168.1.0/24"]` |
284+
| `ciders` | 可通过此客户端路由的 CIDR 范围(其他客户端看到的映射后的 CIDR) | `["192.168.1.0/24"]` |
285+
| `cider_mapping` | CIDR 映射,用于解决网络冲突(仅 Linux)。将 `ciders` 映射到真实的网络 CIDR | `{"192.168.11.0/24": "192.168.10.0/24"}` |
284286

285287
**💡 动态路由重载:**
286288

etc/routes.json.example

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,71 +5,91 @@
55
"private_ip": "10.0.1.1",
66
"mask": "255.255.255.0",
77
"gateway": "10.0.1.254",
8-
"ciders": ["192.168.100.0/24", "192.168.101.0/24"]
8+
"ciders": ["192.168.100.0/24", "192.168.101.0/24"],
9+
"cider_mapping": {}
910
},
1011
{
1112
"cluster": "production",
1213
"identity": "prod-app-server-01",
1314
"private_ip": "10.0.1.2",
1415
"mask": "255.255.255.0",
1516
"gateway": "10.0.1.254",
16-
"ciders": []
17+
"ciders": [],
18+
"cider_mapping": {}
1719
},
1820
{
1921
"cluster": "production",
2022
"identity": "prod-db-server-01",
2123
"private_ip": "10.0.1.3",
2224
"mask": "255.255.255.0",
2325
"gateway": "10.0.1.254",
24-
"ciders": []
26+
"ciders": [],
27+
"cider_mapping": {}
2528
},
2629
{
2730
"cluster": "staging",
2831
"identity": "staging-gateway-01",
2932
"private_ip": "10.0.2.1",
3033
"mask": "255.255.255.0",
3134
"gateway": "10.0.2.254",
32-
"ciders": ["192.168.200.0/24"]
35+
"ciders": ["192.168.200.0/24"],
36+
"cider_mapping": {}
3337
},
3438
{
3539
"cluster": "staging",
3640
"identity": "staging-app-server-01",
3741
"private_ip": "10.0.2.2",
3842
"mask": "255.255.255.0",
3943
"gateway": "10.0.2.254",
40-
"ciders": []
44+
"ciders": [],
45+
"cider_mapping": {}
4146
},
4247
{
4348
"cluster": "development",
4449
"identity": "dev-workstation-01",
4550
"private_ip": "10.0.3.1",
4651
"mask": "255.255.255.0",
4752
"gateway": "10.0.3.254",
48-
"ciders": []
53+
"ciders": [],
54+
"cider_mapping": {}
4955
},
5056
{
5157
"cluster": "development",
5258
"identity": "dev-workstation-02",
5359
"private_ip": "10.0.3.2",
5460
"mask": "255.255.255.0",
5561
"gateway": "10.0.3.254",
56-
"ciders": []
62+
"ciders": [],
63+
"cider_mapping": {}
5764
},
5865
{
5966
"cluster": "remote-workers",
6067
"identity": "remote-alice",
6168
"private_ip": "10.0.100.1",
6269
"mask": "255.255.255.0",
6370
"gateway": "10.0.100.254",
64-
"ciders": []
71+
"ciders": [],
72+
"cider_mapping": {}
6573
},
6674
{
6775
"cluster": "remote-workers",
6876
"identity": "remote-bob",
6977
"private_ip": "10.0.100.2",
7078
"mask": "255.255.255.0",
7179
"gateway": "10.0.100.254",
72-
"ciders": []
80+
"ciders": [],
81+
"cider_mapping": {}
82+
},
83+
{
84+
"cluster": "production",
85+
"identity": "client-with-conflict",
86+
"private_ip": "10.0.1.4",
87+
"mask": "255.255.255.0",
88+
"gateway": "10.0.1.254",
89+
"ciders": ["192.168.11.0/24"],
90+
"cider_mapping": {
91+
"192.168.11.0/24": "192.168.10.0/24"
92+
}
7393
}
7494
]
7595

0 commit comments

Comments
 (0)