バックボーンを再設計するなら
複数のネットワーク上流の活用
負荷分散・フェイルオーバー
最適経路の構築
自宅内ならトンネルを通らずにアクセスできる
構築してみて見えた課題として以下のようなものが挙げられる
設定を集中管理できていない
手作業 or SSH ベースな構成管理ソフトウェアによる
複数種類のトンネルが扱われていて複雑
転がっている安価な計算機を繋ぎ合わせたことで構成が歪になってしまっている
ローカルな Egress を活用できていない
コンテナイメージを落とすなどの用途なら家のネットワークを使って問題ない
ワークロード単位の Egress 制御がほぼ不可能
あるコンテナから出ていくトラフィックがどこからインターネットに出ていくかを詳細に制御したい
例えば,あるサービスは Linode から出ていくネットワークの上にホストされるが,別のサービスは HomeNOC から出ていきたい場合,そのような詳細制御の必要性が生じる あるいは,様々な理由により特定のアドレス範囲からインターネットに出る必要があるなどの場合
これらを解決する手段として適当な(WireGuard などによる)トンネルを構成する SDN コントローラを作ればいいのではないかと考えている tosuke.icon 複数種のトンネルが使われるのはトンネルを張れるネットワーク機器をかき集めて運用している結果なので,それをやめて計算ノードに暗号化もやらせることで構成の問題を解決する
TODO
複数の上流の管理をどうやるのか
fwmark を付けられるので ip rule でやることになる?
最適経路の構築をどうやるのか
L2 ネットワーク内であれば暗号化が不要であることがわかるが,そうでない場合は?
今は適当に広告してあげればネットワーク内ならアクセスできる IP が手に入るが,その体験を確保し続けるにはどうしたらいい?
ワークロード単位の制御をどうやる?
Pod IP 単位の source routing になるんじゃないか
Cilium の ebpf host routing は使えなくなる そもそもその情報をどうやって取ってデーモンに渡すんだという問題
関連
subnet routers を駆使すれば可能ではある