最近の作業履歴 — 2026年3月 〜 5月
// RECENT WORK LOG — タイムライン形式の作業記録 / 最終更新: 2026-05-14
記録 2026年3月以降の大きな作業を時系列で記録。 「いつ・何を・なぜ」の判断材料を残す
2026-05 / R640 → maguro 大移植 + DMZ転換
2026-05-12 〜 13: スイッチ大規模再設定
- ✓ 12XS / T48 で VLAN70 新設 (WG 専用、 192.168.70.0/24)
- ✓ Po1 削除、 全ポート 1ポート左シフト、 Po70 (20G LACP) 新設
- ✓ 全 bond の両足 10G 化 (合計 80Gbps)
- ✓ maguro に NIC 増設 + VLAN70 IF
- ✓ 永続化設定 (netplan / interfaces) で reboot safe 化
- ✓ Telegram 監視スクリプト 3本改善
- ✓ 初期フルバックアップ + リストア検証 (97MB、 18ファイル SHA256 一致)
2026-05-14 早朝: NC + mikyun-portal を maguro へ全面移植
- ✓ NC stack (mariadb:11 + redis:7-alpine + nextcloud-stack-app) を maguro
/opt/nextcloud/compose/で稼働 - ✓ NC データを maguro
/srv/storage/nextcloud-data/へ rsync - ✓ mikyun-portal を maguro の Docker image
mikyun-portal:1.1として稼働 - ✓ maguro ホスト MariaDB の
mikyun_cloudDB を Docker MariaDB に統合 (ホスト MariaDB は disable) - ✓ WireGuard wg-clients (10.200.0.0/16) / wg-customers (61001) / wg-storage (62001) を maguro へ移植
- ✓ nginx vhost (cloud.k2-o.net 等) を maguro へ
- ✓ Let’s Encrypt 証明書を maguro snap certbot で再発行 (4ドメイン)
2026-05-14 午後: R640 再構築 + DMZ転換
- ✓ R640 ディスク再構成: 6本 RAID10 (3.3T) + 2本 RAID1 (1.1T OS)
- ✓
/mnt/dataLUKS化 + auto-unlock (keyfile/etc/cryptsetup-keys.d/data.key) - ✓ Ubuntu 22.04 fresh install + Xfce (GNOME は Matrox G200 で不安定)
- ✓ katuocloud.com WP を xserver VPS から R640 へ rsync 移行 (fabric 経由で帯域確保)
- ✓ wp-config.php に
HTTP_X_FORWARDED_PROTO対応追加 (301ループ防止) - ✓ Let’s Encrypt 本物 cert 取得 (katuocloud.com + www)
- ✓ nginx stream module + ssl_preread で SNI 振り分け
- ✓ R640 旧 WG 完全停止・退避 (
/etc/wireguard-r640-snapshot/) - ✓ DuckDNS (maguro-storage.duckdns.org) 完全撤去 (cert + ssh config + アカウント削除)
2026-05-14 夕方: Collabora fabric 直結化
- ✓ Collabora
--add-host cloud.k2-o.net:173.0.0.5(maguro fabric) に変更 - ✓ NC
wopi_allowlist= 173.0.0.4/30, 173.0.0.8/30, 119.26.175.225 に縮小 - ✓ 旧 R640 SNI 経由経路を廃止
- ✓ ホップ数 3 → 1、 R640 障害時も NC⇄Collabora 継続稼働可能に
残作業 (Phase 4)
- ! xserver VPS (162.43.8.20) 6月末解約 (¥3,000/月節約)
- ! 他クライアントHP (can-construction, shinkoujyuusetu 等) 移行
- ! WiFi 移管 (VLAN80 独立) finalize
- ! iDRAC Console Redirection 無効化 (Web手作業)
- ! Fail2ban 導入
2026-04 / セキュリティ脆弱性対応
作業日: 2026年4月6日 22:00 〜 22:34
// ① MySQL パスワードのハードコード対応 (Critical)
問題: mikyun_vpn_engine.py の 2箇所で DB パスワードが直書きされていた。
対応:
/root/mikyun-cloud/mikyun-portal/.envを作成 (perm 600, owner root:root)- 環境変数から読み込むように変更 (1399行目、 1465行目)
load_dotenv()とDB_CONFIGを追加、pymysql.connect(**DB_CONFIG)へ
// ② systemd 管理者パスワード平文記載対応 (Critical)
問題: mikyun-cloud.service に ADMIN_PASS が平文で書かれてた。
対応:
- 専用ディレクトリ
/etc/mikyun-portal/(700) を作成 /etc/mikyun-portal/admin.env(600) に環境変数移動- systemd service を
EnvironmentFile=方式に変更
# 旧 Environment="ADMIN_USER=admin" Environment="ADMIN_PASS=***" # 新 EnvironmentFile=/etc/mikyun-portal/admin.env
// ⑧ シェルインジェクションリスク対応 (High)
問題: WG 公開鍵生成時にシェル経由で秘密鍵を渡していた。
# 旧 (危険)
pub = subprocess.check_output(["bash", "-lc",
f"echo '{priv}' | wg pubkey"], text=True).strip()
# 新 (安全)
pub = subprocess.run(["wg", "pubkey"],
input=priv, text=True, capture_output=True, check=True).stdout.strip()
対応箇所: app/main.py 383行目・526行目、 app/services/wg_service.py 61行目。
同日の効果: ① DB パスワード保護、 ② 管理者認証情報保護、 ③ コマンドインジェクション対策 (特殊文字を含む秘密鍵でも安全)。 サービス (port 9000 / 9081) 再起動して正常稼働確認。
残タスク (次回以降): ⑨ SQLite と MySQL の二重管理 / ⑩ Nextcloud パスワードがレスポンスに含まれる / ⑪ バックアップファイル散乱 / ⑫ トークンがメモリ内辞書管理 / ⑬ PSK の一時ファイル競合 / ⑭ WireGuard サーバー公開鍵ハードコード。 ③④⑤⑦は既に対応済 (メモリ記録)。
2026-03 / Fabric 移行 + R640 ↔ hirame 直結発見
// Fabric ネットワーク移行
- fabric を
172.31.22.x/172.31.20.xから173.0.0.xmesh へ移行- R640 ↔ maguro: 173.0.0.0/30
- maguro ↔ hirame: 173.0.0.4/30
- R640 ↔ hirame: 173.0.0.8/30 (直結発見・設定)
- maguro iptables FORWARD chain ブロック修正 (ルーティングされたトラフィック許可)
- NFS マウント、
remote_backup.sh更新。 VPS バックアップセクション削除 - maguro RAID1 boot volume (md0、 mdadm) 構築。 Telegram 監視 (mdadm-watch.timer) 追加
- hirame ハードウェアメンテ (CPU/memory/PSU 交換、 温度確認)
- R640 NC Docker stack を Samsung 970 EVO Plus NVMe (
/mnt/nvme-cache) へ移行 (bind mount) ※その後 2026-05-14 で maguro 移植時に廃止 - NVMe SMART 監視 (nvme-watch.timer) デプロイ ※2026-05-14 で perc-watch に統合
- 日次バックアップを 2回実行 (3:00 と 15:00)
// ネットワーク再設計策定
- 現在アーキテクチャの 5つの根本的設計欠陥を特定 (VLAN10 インターネット露出、 IPv6 RA flooding、 Squid SPOF、 Po1 が VLAN10 を運ぶ、 12XS 外部 ACL)
- VLAN60 → 最終的に VLAN70 (WG) で再設計
- 設計原則: 「R640 に特別な設定を集中させない、 スイッチはドリフトしない」
// R640 bond0 修復
- bond0 LACP 問題修正 (NetworkManager override が systemd-networkd をブロック)
- R640-DATA1 / DATA2 を各10Gbps で復旧 (Po20 が 12XS で完全バンドル)
- nginx portal.vpn allowlist 修正 → WireGuard subnet 全体 (
10.200.0.0/16) カバー - VLAN50 が意図的に R640 / maguro / hirame で共有されていることを確認 (apt 更新用)
// Collabora 再統合 (5層障害解決)
fabric IP 移行後、 5層の障害が発生し解決。 詳細は「障害・トラブル (id:19)」参照。
server_name環境変数欠落 → Discovery XML がプライベートIPを返すaliasgroup1port サフィックス バグ- nginx CIDR 不一致 (
/30→/29) - container DNS が
/etc/hostsをバイパス (外部IP 119.26.175.225 で cloud.k2-o.net を解決) wopi_allowlistに外部IP欠落
一時修正: 119.26.175.225 を nginx allow と wopi_allowlist に追加。 恒久修正は 2026-05-14 の fabric 直結化で完了。
// wanchance.com ドキュメント整備
- Claude Code (コードくん) が
infra_page.html(849行)、ip_daichou_page.html(492行)、port_wiring_page.html(1419行) を完成 - 7台中6台のターゲットマシンに SSH 接続
- R640 / maguro / hirame / Cisco 12XS-48T (id_rsa_cisco, legacy KEX) / RTX1300 (id_ed25519) の SSH 認証情報を確立
// NC 動画再生対応
- Music_Video フォルダの AV1 動画を ffmpeg (Docker コンテナ内) で H.264 バッチ変換
- yt-dlp を H.264 デフォルト設定 (
-f "bestvideo[vcodec^=avc1]+bestaudio")
// 3月26日: VPS 外し構成への移行
- サイトへのアクセスが遅いため、 当初の VPS フロント構成を廃止
- R640 直接接続構成へ移行 (wg0: 10.200.0.1/16、 port 54024)
- RTX1300 で NAT/フィルタ設定 (UDP 54024、 TCP 443、 TCP 80)
- nginx SSL 終端 (cloud.k2-o.net:443 → localhost:9080)
- dnsmasq 内部DNS (10.200.0.1:53) で cloud.k2-o.net → 192.168.20.21 を解決 ※その後 2026-05-14 で dnsmasq 廃止
- VPS は wg2 バックホール接続のみ保持 ※その後 2026-05-14 で完全停止、 6月末解約予定
タイムライン早見表
| 時期 | 主な作業 | 結果 |
|---|---|---|
| 2026-03 上旬 | fabric 172.31.x → 173.0.0.x mesh 移行 | R640↔hirame 直結発見、 帯域確保 |
| 2026-03-26 | VPS フロント構成廃止、 R640 直接化 | アクセス速度改善 |
| 2026-03-30 | Collabora 統合 5層障害解決 | 暫定対処で動作 |
| 2026-04-06 | セキュリティ脆弱性 ①②⑧ 対応 | パスワード/シェル安全化 |
| 2026-05-12〜13 | スイッチ大規模再設定 (VLAN70 新設) | 20G LACP + 全 bond 10G 両足化 |
| 2026-05-14 | NC + Portal + WG を maguro 移植 / R640 再構築 / Collabora fabric 直結化 | R640 = DMZ Web 専用、 maguro = ストレージ+VPN+Portal、 hirame = Office |
マイルストーン: 2026-05-14 で「自社インフラ運用 (Tier1相当の冗長性・暗号化・監視体制)」の最初のメジャーマイルストーン到達。 残るは VPS解約と他クライアント HP 移行。