docs: add full network architecture diagram to README
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
131
README.md
131
README.md
@@ -1,7 +1,136 @@
|
||||
# OpenWrt 管理指令
|
||||
|
||||
**目標設備**:`192.168.42.10`(OpenWrt 24.10.4)
|
||||
**WAN IP**:`125.229.110.50`(PPPoE)
|
||||
**WAN IP**:`125.229.110.50`(PPPoE / HiNet)
|
||||
|
||||
---
|
||||
|
||||
## 整體架構圖
|
||||
|
||||
### 網路拓撲
|
||||
|
||||
```
|
||||
Internet (HiNet)
|
||||
│
|
||||
PPPoE 125.229.110.50
|
||||
│
|
||||
┌────────────────────▼────────────────────┐
|
||||
│ OpenWrt 24.10.4 │
|
||||
│ 192.168.42.10 │
|
||||
│ │
|
||||
│ ┌─ 服務 ──────────────────────────┐ │
|
||||
│ │ dnsmasq odhcpd sqm banip │ │
|
||||
│ │ miniupnpd dropbear uhttpd │ │
|
||||
│ └─────────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌─ 防火牆 (nftables / fw4) ────────┐ │
|
||||
│ │ taiwan_ips set(每週一 04:00 更新)│ │
|
||||
│ └─────────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌─ WireGuard wg0 ──────────────────┐ │
|
||||
│ │ 10.0.0.1/24 port 51820/UDP │ │
|
||||
│ └─────────────────────────────────┘ │
|
||||
└────────────────┬────────────────────────┘
|
||||
│ br-lan 192.168.42.0/24
|
||||
│
|
||||
┌─────────┬───────────┼───────────┬─────────────┐
|
||||
▼ ▼ ▼ ▼ ▼
|
||||
.100 .101 .115 .117 .124 / .126
|
||||
Jump Box RustDesk SQL Server SQL Server 反代 / Headscale
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 防火牆區域(Firewall Zones)
|
||||
|
||||
```
|
||||
┌──────────┐ REJECT in ┌──────────┐ ACCEPT in
|
||||
│ wan │ ──────────────▶ │ lan │ ◀────────────
|
||||
│(pppoe_wan│ REJECT fwd │192.168.42│ ACCEPT fwd
|
||||
│ wan6) │ │ .0/24 │
|
||||
└──────────┘ └──────────┘
|
||||
▲
|
||||
ACCEPT in
|
||||
ACCEPT fwd
|
||||
┌──────────┐
|
||||
│ vpn │
|
||||
│ (wg0) │
|
||||
│10.0.0/24 │
|
||||
└──────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 對外開放的 Port(WAN → LAN)
|
||||
|
||||
| WAN Port | 協定 | 目標 | 服務 | Taiwan IP 限制 |
|
||||
|---|---|---|---|:---:|
|
||||
| `22` | TCP | `192.168.42.100:22` | SSH Jump Box | ✅ |
|
||||
| `80` | TCP | `192.168.42.124:80` | Nginx Proxy Manager | — |
|
||||
| `443` | TCP | `192.168.42.124:443` | Nginx Proxy Manager | — |
|
||||
| `7835` | TCP | `192.168.42.100:7835` | Bore Tunnel | ✅ |
|
||||
| `8080` | TCP | `192.168.42.126:8080` | Headscale | — |
|
||||
| `9090` | TCP | `192.168.42.126:9090` | Headscale | — |
|
||||
| `9000–10000` | TCP | `192.168.42.100:9000–10000` | Bore Range | — |
|
||||
| `21115–21119` | TCP/UDP | `192.168.42.101:21115–21119` | RustDesk HBBS/HBBR | — |
|
||||
| `30022` | TCP | `192.168.42.115:22` | SSH → .115 | — |
|
||||
| `50022` | TCP | `192.168.42.117:22` | SSH → .117 | — |
|
||||
| `50443` | TCP | `192.168.42.126:50443` | Headscale DERP | — |
|
||||
| `51433` | TCP | `192.168.42.115:1433` | SQL Server (.115) | — |
|
||||
| `31433` | TCP | `192.168.42.117:1433` | SQL Server (.117) | — |
|
||||
| `51820` | UDP | router wg0 | WireGuard | — |
|
||||
|
||||
---
|
||||
|
||||
### LAN 裝置
|
||||
|
||||
| IP | 主機名稱 / 用途 |
|
||||
|---|---|
|
||||
| `192.168.42.10` | OpenWrt 路由器 |
|
||||
| `192.168.42.100` | Jump Box(SSH、Bore)|
|
||||
| `192.168.42.101` | RustDesk Server |
|
||||
| `192.168.42.115` | SQL Server A |
|
||||
| `192.168.42.117` | SQL Server B |
|
||||
| `192.168.42.124` | Nginx Proxy Manager + Gitea(:31337)|
|
||||
| `192.168.42.126` | Headscale |
|
||||
| `192.168.42.220` | TimmydeMBP |
|
||||
|
||||
---
|
||||
|
||||
### WireGuard VPN 拓撲
|
||||
|
||||
```
|
||||
外部(任意網路)
|
||||
│
|
||||
│ UDP 51820
|
||||
▼
|
||||
192.168.42.10 ←→ wg0: 10.0.0.1/24
|
||||
│
|
||||
├── 10.0.0.2 Workstation
|
||||
└── 10.0.0.3 iPhone 15 Pro Max
|
||||
|
||||
VPN client 加入後可存取:
|
||||
├── 192.168.42.0/24 (整個 LAN)
|
||||
└── 10.0.0.0/24 (其他 VPN peer)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Taiwan IP 過濾機制
|
||||
|
||||
```
|
||||
外部請求
|
||||
│
|
||||
▼
|
||||
nftables 檢查 source IP 是否在 taiwan_ips set
|
||||
│
|
||||
├── 是 → 允許通過(SSH Jump Box、Bore Tunnel)
|
||||
└── 否 → REJECT
|
||||
```
|
||||
|
||||
- IP 清單來源:`https://www.ipdeny.com/ipblocks/data/countries/tw.zone`
|
||||
- 自動更新:每週一 04:00(`crontab`)
|
||||
- 手動更新:`sh /root/42_10/update_tw_ip.sh`
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user