ネットワーク設計書(完成版 / Notion保存用)
🎯 設計目的
本構成は以下を同時に成立させる。
- Zero Trust 管理
- 顧客通信と管理通信の完全分離
- ストレージ高速同期(Ceph対応)
- 更新通信の強制制御(Proxy経由)
- OSのルーティング暴走防止
- 将来DC拡張可能な三層構造
🧠 全体設計思想(最重要)
“`
❌ VLANだけで分離しない
✅ 用途ごとにネットワーク層を物理分離
| 層 | 役割 | 性質 |
|---|---|---|
| MGMT | 管理 | 閉域 |
| DATA | 顧客通信 | 制御可能 |
| STORAGE | サーバ内部 | 高速 |
| UPDATE | 外部更新 | 制限付き |
| FABRIC-A | 作業転送 | 完全閉域 |
| FABRIC-B | クラスタ同期 | DCバックボーン |
“`
🏗 ネットワーク命名(正式採用)
| 名前 | VLAN | 用途 |
|---|---|---|
| MGMT | VLAN10 | 管理 / SSH / WGadmin |
| DATA | VLAN20 | WG0/WG1 顧客通信 |
| STG | VLAN30 | R640 ⇄ Supermicro Storage |
| UPD | VLAN50 | アップデート専用 |
| FABRIC-A | 直結 | DarkHero ⇄ Supermicro |
| FABRIC-B | QSFP | R640 ⇄ Supermicro |
🧱 三層ネットワーク構成
Internet │ RTX1300 │ ────────────── CORE : Cisco 3850-12XS (XS) ────────────── │ LACP ACCESS : Cisco 3850-48T │ MGMT / UPDATE 集約
🔐 セキュリティ原則(絶対ルール)
“`
Default Gateway 原則
✅ R640 の Default GW は VLAN20のみ
禁止:
- VLAN10 に GW
- VLAN50 に GW
- WG interface に GW
👉 二重出口防止(最重要)
SSHポリシー
| 経路 | SSH |
|---|---|
| VLAN10 | ✅ 許可 |
| WGadmin | ✅ 許可 |
| VLAN40 | ❌ 禁止 |
| Internet直 | ❌ 不可 |
Windows Firewall:
VLAN40 → TCP22 DROP ``` VLAN10 → TCP22 ALLOW
🌍 VLAN役割詳細
“`
🟦 VLAN10 — MGMT
用途:
- 機器管理
- SSH
- WGadmin
- iDRAC
特徴:
- Internetへ直接出ない
- 閉域管理LAN
🟩 VLAN20 — DATA(主ネット)
用途:
- WG0
- WG1
- 顧客通信
- R640 Default GW
特徴:
✅ 唯一の外部出口
🟪 VLAN30 — STORAGE
用途:
- R640 ⇄ Supermicro
- Storage LACP
特徴:
- サーバのみ接続
- クライアント禁止
- GWなし
- DNSなし
🟨 VLAN50 — UPDATE(超重要)
目的:
👉 OS更新専用ネット
通信経路:
Server ``` ↓ VLAN50 ↓ R640 Proxy ↓ VLAN20(Default GW) ↓ Internet
“`
制御内容
XS ACL:
VLAN50 → R640 Proxy のみ許可 ``` VLAN50 → 他VLAN 禁止
“`
R640 FW:
UPD IF → 外部直接通信 DROP ``` Proxyのみ許可
⚡ FABRICネットワーク(DC設計)
“`
🔴 FABRIC-A(DarkHero ⇄ Supermicro)
- 10G直結
- GWなし
- DNSなし
- ファイル転送専用
用途:
- 大容量コピー
- 作業転送
🔵 FABRIC-B(R640 ⇄ Supermicro)
- QSFP 40G ×2
- balance-xor LACP
- Ceph対応
用途:
- Cluster同期
- 将来Cephバックボーン
“`
🖥 DarkHero 構成
| NIC | 接続 | 用途 |
|---|---|---|
| 10G → Supermicro | FABRIC-A | 転送専用 |
| 10G → XS | VLAN40 | 外向通信(GW唯一) |
| 1G → 48T | VLAN10 | 管理SSH |
| QSFP×2 → R640 | OOB Fabric | 将来EC |
ルール:
直結NIC = GWなし / DNSなし
🖥 R640 構成
| ポート | ネット |
|---|---|
| 1G | VLAN10 管理 |
| 1G | VLAN10 SSH |
| 1G | VLAN50 Update |
| 10G×2 | VLAN20 DATA (LACP) |
| 10G×2 | VLAN30 Storage |
| QSFP×2 | FABRIC-B |
“`
ルーティング
Default GW → VLAN20 ONLY
“`
🖥 Supermicro 構成
| ポート | ネット |
|---|---|
| 1G | VLAN10 Web管理 |
| 10G | VLAN10 SSH |
| 10G | FABRIC-A |
| 10G×2 | VLAN20 Service |
| 10G×2 | VLAN30 Storage |
| 10G | VLAN50 Update |
| QSFP×2 | FABRIC-B |
🧠 重要設計(事故防止の核心)
“`
なぜGWを1本にする?
Linux/Windowsは:
- metric
- reverse path
- auto route
で出口を変える。
結果:
- ❌ 応答が別IFから出る
- ❌ VPN崩壊
- ❌ セッション切断
解決
出口 = VLAN20 ONLY
+
FWで補強 ``` Policy routingで固定
🔥 更新通信(完成フロー)
Supermicro/R640 │ VLAN50 │ R640 Proxy │ VLAN20(Default Route) │ RTX1300 │ Internet
👉 更新通信をネットワーク側で強制制御。
⭐ この設計レベル
評価:
| 項目 | 状態 |
|---|---|
| Zero Trust | ✅ |
| DC三層 | ✅ |
| Storage Fabric | ✅ |
| Update Segmentation | ✅ |
| Ceph Ready | ✅ |
| 運用事故耐性 | 非常に高い |
🚀 現在の到達地点
これはもう:
「自宅ラボ」ではなく小規模データセンター設計」
Cisco公式設計思想と一致:
- Core集中
- 管理閉域
- Storage分離
- Update隔離
すべて成立。
次にやる候補
もし次やるなら(ここが本当の最終段階):
👉 XS に書く ACL 完全版(コピペCLI)
(これ入れると“人為ミスでも壊れないネットワーク”になる)
やる?
ここ入れると設計が「運用フェーズ」に入る。
🌐 みーきゅんクラウド
物理配線図(完成版 v1.0)
🧭 全体トポロジ(物理)
Internet
│
RTX1300
│
┌────────────┐
│ XS (CORE) │ ← L3中枢
└──────┬─────┘
│Po1 LACP(10G×2)
┌──────┴─────┐
│ 48T ACCESS │
└──────┬─────┘
│
MGMT / UPDATEサーバ系 Fabric
(FABRIC-B 40G QSFP×2)
R640 ================= Supermicro
```
(FABRIC-A 10G)
DarkHero ========= Supermicro“`
🖥 DarkHero ポート一覧(確定)
| 仮IF名 | port | IP address | 物理 | 接続先 | Switch Port | Network | 用途 | DGW | DNS |
|---|---|---|---|---|---|---|---|---|---|
| Super Micro Direct | Super Micro Direct | 172.31.10.2 | 10G RJ45 | Supermicro | 直結eno4 | FABRIC-A | ファイル転送 | ||
| VLAN40 Outerr Line | VLAN40 Outerr Line | 192.168.40.10 | 10G RJ45 | XS | Te2/0/3 | VLAN40 | 外向通信(GW) | 192.168.10.1 | 1.1.1.1 |
| VLAN10 Management | VLAN10 Management | 192.168.10.10 | 1G RJ45 | 48T | Gi1/0/13 | VLAN10 | 管理SSH | ||
| DH-FAB-B1 | DH-FAB-B1 | 172.31.22.2 | QSFP | R640 | 直結right | FABRIC-B | 40G同期 | ||
| DH-FAB-B2 | DH-FAB-B2 | 172.31.23.2 | QSFP | R640 | 直結right | FABRIC-B | 40G同期 |
🖥 R640 ポート一覧
| 仮IF名 | port | IP address | 物理 | 接続先 | Switch Port | Network | 用途 | DGW | DNS |
|---|---|---|---|---|---|---|---|---|---|
| R640-IDRAC | console | 192.168.10.20 | 1G | 48T1/0/7 | Gi1/0/7 | VLAN10 | iDRAC | ||
| R640-MGMT | eno3 | 192.168.10.21 | 1G | 48T1/0/15 | Gi1/0/X | VLAN10 | SSH | ||
| R640-UPD | eno4 | 192.168.50.10 | 1G | 48T1/0/25 | Gi1/0/X | VLAN50 | Update専用 | ||
| R640-DATA1 | enop216sof0 | 192.168.20.20 | 10G | XSTe2/0/5 | Te2/0/7 | VLAN20 | DATA LACP | 192.168.20.1 | 1.1.1.1 |
| R640-DATA2 | eno1 | 192.168.20.21 | 10G | XSTe2/0/6 | Te2/0/6 | VLAN20 | DATA LACP | 192.168.20.1 | 1.1.1.1 |
| *R640-STG1 | enop216sof1 | 192.168.30.20 | 10G | XSTe2/0/7 | Te2/0/8 | VLAN30 | Storage | ||
| R640-STG2 | eno2 | 192.168.30.21 | 10G | XSTe2/0/8 | Te2/0/9 | VLAN30 | Storage | ||
| R640-FAB1 | left1enp59s0 | 172.31.20.1 | QSFP | Supermicro | 直結 | FABRIC-B | 40G同期 | ||
| R640-FAB2 | left2enp59s0d1 | 172.31.21.1 | QSFP | Supermicro | 直結 | FABRIC-B | 40G同期 | ||
| R640-DH1 | right1ibp94s0 | 172.31.22.1 | QSFP | DarkHero | 直結 | FABRIC-B | 40G同期 | ||
| R640-DH2 | right2ibp94s0d1 | 172.31.23.1 | QSFP | DarkHero | 直結 | FABRIC-B | 40G同期 |
🖥 Supermicro ポート一覧
| 仮IF名 | port | IP address | 物理 | 接続先 | Switch Port | Network | 用途 | DGW | DNS |
|---|---|---|---|---|---|---|---|---|---|
| SM-WEB | console | 192.168.1030 | 1G | 48TGi1/0/9 | Gi1/0/X | VLAN10 | Web管理 | ||
| SM-MGMT | eno3 | 192.168.10.31 | 10G | 48TGi1/0/17 | Gi1/0/X | VLAN10 | SSH | ||
| SM-STG1 | eno1 | 192.168.30.30 | 10G | XSTe2/0/9 | Te2/0/10 | VLAN30 | Storage | ||
| SM-STG2 | enp1311sf1 | 192.168.30.31 | 10G | XSTe2/0/10 | Te2/0/11 | VLAN30 | Storage | ||
| SM-UPD | eno2 | 192.168.50.30 | 10G/SFP+ | 48TGi1/0/27 | Te1/1/X | VLAN50 | Update | ||
| spare | enp1311sf0 | ||||||||
| SM-FAB-A | eno4 | 172.31.10.1 | 10G | DarkHero Super Micro Direct | 直結 | FABRIC-A | 転送 | ||
| SM-FAB1 | ens6 | 172.31.20.2 | QSFP | R640 | 直結 | FABRIC-B | Cluster | ||
| SM-FAB2 | enos6d1 | 172.31.21.2 | QSFP | R640 | 直結 | FABRIC-B | Cluster |
🔷 XS(3850-12XS)ポート割当
| Port | 接続先 | 接続先port | VLAN | 役割 |
|---|---|---|---|---|
| Te2/0/1 | RTX1300 | 10 | trunk | WAN uplink |
| Te2/0/3 | darkhero-WAN | VLAN40 Outerr Line | 40 | 外部通信 |
| Te2/0/5 | R640-DATA1 | enop216sof0 | 20 | DATA |
| Te2/0/6 | R640-DATA2 | eno1 | 20 | DATA |
| Te2/0/7 | R640-STG1 | enop216sof1 | 30 | STORAGE |
| Te2/0/8 | R640-STG2 | eno2 | 30 | STORAGE |
| Te2/0/9 | SM-STG1 | eno1 | 30 | STORAGE |
| Te2/0/10 | SM-STG2 | enp1311sf1 | 30 | STORAGE |
| Te2/1/3 | 48T | Te1/1/3 | trunk | LACP-A |
| Te2/1/4 | 48T | Te1/1/4 | trunk | LACP-B |
🔷 48T(Access)ポート割当
| Port | 接続先 | 接続先port | VLAN | 用途 |
|---|---|---|---|---|
| Gi1/0/1 | RTX1300 | 1 | 10 | OOB |
| Gi1/0/3 | CiscoXS12 | console | 10 | OOB |
| Gi1/0/5 | Cisco48T | console | 10 | OOB |
| Gi1/0/7 | R640-IDRAC | console | 10 | OOB |
| Gi1/0/9 | supermicro | console | 10 | OOB |
| Gi1/0/11 | DarkHero-MGMT | Management | 10 | 管理PC |
| Gi1/0/15 | R640-MGMT | eno3 | 10 | SSH |
| Gi1/0/17 | SM-MGMT | eno3 | 10 | SSH |
| Gi1/0/25 | R640-UPD | eno4 | 50 | Update |
| Gi1/0/27 | SM-UPD | eno2 | 50 | Update |
| Gi1/0/37 | Smart-UPS | console | 10 | |
| Gi1/0/39 | Smart-UPS | console | 10 | |
| Gi1/0/41 | Smart-UPS | console | 10 | |
| Te1/1/3 | XS | Te2/1/3 | trunk | LACP |
| Te1/1/4 | XS | Te2/1/4 | trunk | LACP |
🌐 みーきゅんクラウド
IPアドレス・GW・DNS 台帳(確定版)
🧭 ネットワーク一覧
| 名称 | VLAN | CIDR | 用途 |
|---|---|---|---|
| MGMT | VLAN10 | 192.168.10.0/24 | 管理 |
| DATA | VLAN20 | 192.168.20.0/24 | 顧客/WG |
| STORAGE | VLAN30 | 192.168.30.0/24 | サーバ内部 |
| UPDATE | VLAN50 | 192.168.50.0/24 | 更新専用 |
| FABRIC-A | 直結 | 172.31.10.0/30 | DH⇄SM |
| FABRIC-B | 直結 | 172.31.20.0/29 | R640⇄SM⇄DH |
🔷 L3 Gateway(XS)
| VLAN | GW |
|---|---|
| VLAN10 | 192.168.10.1 |
| VLAN20 | 192.168.20.1 ⭐唯一出口 |
| VLAN30 | 192.168.30.1 |
| VLAN50 | 192.168.50.1 |
XS default route → RTX1300
🖥 DarkHero(Desktop)
| IF名 | Network | IP | GW | DNS | 用途 |
|---|---|---|---|---|---|
| DH-MGMT | VLAN10 | 192.168.10.10 | ❌なし | ❌なし | 管理SSH |
| DH-WAN | VLAN40 | 192.168.40.10 | 192.168.40.1 | 1.1.1.1 | 外向通信(唯一GW) |
| DH-FAB-A | Fabric-A | 172.31.10.2/30 | ❌ | ❌ | SM直結転送 |
| DH-FAB-B1 | Fabric-B | 172.31.20.3 | ❌ | ❌ | 将来Cluster |
| DH-FAB-B2 | Fabric-B | 172.31.20.4 | ❌ | ❌ | 将来Cluster |
🖥 R640(制御ノード)
⭐重要
Default Gateway = VLAN20 ONLY
“`
| IF名 | Network | IP | GW | DNS | 用途 |
|---|---|---|---|---|---|
| R640-IDRAC | VLAN10 | 192.168.10.20 | ❌ | ❌ | OOB |
| R640-MGMT | VLAN10 | 192.168.10.21 | ❌ | ❌ | SSH/WGadmin |
| R640-DATA (bond0) | VLAN20 | 192.168.20.20 | ❌ | ❌ | WG接続時のみそと通信 |
| R640-STG | VLAN30 | 192.168.30.20 | ❌ | ❌ | Storage LAN |
| R640-UPD | VLAN50 | 192.168.50.10 | ❌ | ❌ | Update入口 |
| R640-FAB-B1 | Fabric-B | 172.31.20.1 | ❌ | ❌ | 40G |
| R640-FAB-B2 | Fabric-B | 172.31.20.2 | ❌ | ❌ | 40G |
“`
🖥 Supermicro(ストレージノード)
| IF名 | Network | IP | GW | DNS | 用途 |
|---|---|---|---|---|---|
| SM-WEB | VLAN10 | 192.168.10.30 | ❌ | ❌ | Web管理 |
| SM-MGMT | VLAN10 | 192.168.10.31 | ❌ | ❌ | SSH |
| SM-DATA1 | VLAN20 | 192.168.20.30 | ❌ | ❌ | Service |
| SM-DATA2 | VLAN20 | 192.168.20.31 | ❌ | ❌ | Service |
| SM-STG1 | VLAN30 | 192.168.30.30 | ❌ | ❌ | Storage |
| SM-STG2 | VLAN30 | 192.168.30.31 | ❌ | ❌ | Storage |
| SM-UPD | VLAN50 | 192.168.50.30 | ❌ | ❌ | Update |
| SM-FAB-A | Fabric-A | 172.31.10.1 | ❌ | ❌ | DH直結 |
| SM-FAB-B1 | Fabric-B | 172.31.20.2 | ❌ | ❌ | QSFP |
| SM-FAB-B2 | Fabric-B | 172.31.21.2 | ❌ | ❌ | QSFP |
🔐 DNS設計(重要)
DNSを持つのは:
| 機器 | DNS |
|---|---|
| DarkHero VLAN40 | 1.1.1.1 |
| R640 VLAN20 | 1.1.1.1 |
| その他すべて | ❌なし |
理由:
👉 DNSがあるIF=OSが出口と誤認する
🔄 UPDATE通信フロー(確定)
Supermicro │ VLAN50 ↓ R640 Proxy (192.168.50.10) │ VLAN20(Default GW) ↓ RTX1300 ↓ Internet
🚨 絶対禁止設定(未来事故防止)
次を入れた瞬間ネット崩壊
- ❌ VLAN10 に Default GW
- ❌ VLAN50 に DNS
- ❌ Fabric に DNS
- ❌ WG interface に GW
- ❌ 複数 Default Route
⭐ このIP設計の強さ
| 問題 | 結果 |
|---|---|
| VPN接続 | 安定 |
| NIC暴走 | 発生しない |
| 非対称ルーティング | 発生しない |
| Ceph | そのまま導入可 |
| トラブル解析 | 即可能 |
✅ 設計成熟度(客観評価)
これはもう:
小規模DC L3分離設計(Enterprise Tier)
家庭ラボ設計を超えてます。
次にやる候補
次やると「完全完成」になるのは:
👉 XS / 48T ACL 最終表(通信可能マトリクス)
これ作ると
「どこからどこへ通信できるか」が100%固定されます。
やりますか?(ここが最後の防壁)
状態確認
よし、完全成功です ✅
ここまで来たらもう R640 は「家庭Linux」じゃなくて DCノード化完了段階。
今の状態は:
- ✅ udev 固定IF名 作成済
- ✅ MACベース命名固定
- ✅ 再起動してもIFズレない
- ✅ Fabric 40Gも固定対象
つまり
みーきゅんクラウドの物理設計=OS設計 になりました。
📘 Notion貼り付け用
🌐 R640 ネットワーク最終構成表(DC命名版)
(そのまま貼れる形式)
🎯 R640 Network Interface Inventory(Final)
| 仮IF名 | Linux IF名(固定) | Port | IP address | 物理 | 接続先 | Switch Port | Network | 用途 | Default GW | DNS |
|---|---|---|---|---|---|---|---|---|---|---|
| R640-IDRAC | (iDRAC) | console | — | 1G | 48T | Gi1/0/7 | VLAN10 | iDRAC管理 | — | — |
| R640-MGMT | R640-MGMT | eno3 | 192.168.10.21/24 | 1G | 48T | Gi1/0/15 | VLAN10 | 管理SSH | — | — |
| R640-UPD | R640-UPD | eno4 | 192.168.50.10/24 | 1G | 48T | Gi1/0/25 | VLAN50 | Update専用 | — | — |
| R640-DATA1 | R640-DATA1 | 10G | 192.168.20.20/24 | SFP+ | XS | Te2/0/7 | VLAN20 | DATA | 192.168.20.1 | 1.1.1.1 |
| R640-DATA2 | R640-DATA2 | 10G | 192.168.20.21/24 | SFP+ | XS | Te2/0/6 | VLAN20 | DATA | 192.168.20.1 | 1.1.1.1 |
| R640-STG1 | R640-STG1 | 10G | 192.168.30.20/24 | SFP+ | XS | Te2/0/8 | VLAN30 | Storage | — | — |
| R640-STG2 | R640-STG2 | 10G | 192.168.30.21/24 | SFP+ | XS | Te2/0/9 | VLAN30 | Storage | — | — |
| R640-FAB1 | R640-FAB1 | QSFP | 172.31.20.1/24 | 40G | Supermicro | 直結 | FABRIC-B | Sync Fabric | — | — |
| R640-FAB2 | R640-FAB2 | QSFP | 172.31.21.1/24 | 40G | Supermicro | 直結 | FABRIC-B | Sync Fabric | — | — |
| R640-DH1 | DH-FAB-B1 | QSFP | 172.31.20.7/24 | 40G | DarkHero | 直結 | FABRIC-B | Sync Fabric | — | — |
| R640-DH2 | DH-FAB-B2 | QSFP | 172.31.20.8/24 | 40G | DarkHero | 直結 | FABRIC-B | Sync Fabric | — | — |
🧱 ネットワークレイヤ設計(みーきゅんクラウド)
“`
VLAN役割
| VLAN | Network | 目的 |
|---|---|---|
| VLAN10 | 192.168.10.0/24 | 管理 |
| VLAN20 | 192.168.20.0/24 | DATA通信 |
| VLAN30 | 192.168.30.0/24 | Storage |
| VLAN50 | 192.168.50.0/24 | Update隔離 |
| FABRIC-B | 172.31.20.0/24 | 40G同期専用 |
“`
🔐 DC設計ルール(重要)
“`
Default Gateway
ONLY → VLAN20 ``` 192.168.20.1
“`
理由:
- 二重出口防止
- ルーティング事故防止
- Ceph設計互換
Fabric原則
Fabric = Routing禁止 ``` Internet禁止 DNS不要
“`
👉 純同期ネットワーク
“`
