Xにも投稿してたのでマルチポストではあるんだけど、最近はblogに戻ろうかと考え始めたので手始めに記事にしておきます。
ついに(?)自宅鯖を始めてみたよ。
自宅鯖の風景
(汚い配線については目を瞑っていただきたい)
仕入れた機器
- NEC UNIVERGE IX2215 (中古) 約6000円
- Trend Micro Cloud Edge 50 (中古) 約3000円
- Trend Micro Cloud Edge 70S (中古) 約4000円
- ASRock DeskMini H470 (中古) 総額約5万弱
自室がなくリビングで自宅鯖を始める場合、静音はMUST。ファンありなら静音ファンにしつつ通常稼働範囲であれば十二分に静かであることが最低条件。つまり一般のご家庭です。
ネットワーク機器は全部ファンレス、サーバー機も省電力CPU+静音ファン(Noctua)にすることで条件をなんとかクリアしています。
当初は主にL2機器とサーバー機だけで考えてたのですが、ほしいL2機器が全く手に入らなくて(中古市場に流れてない)、一旦ルーター系を掻き集めて遊ぶことにしました。
自宅ネットワーク構成図
これはとにかくネットワークを勉強したかった初心者の構成図。
せっかく自宅鯖を始めるならということで、(BGP何も知らなかったけど) BGPでインターネット接続するところから見切り発車しましたが、色々勉強になったのでやってよかったです。
構成図の書き方はこちらを参考にしました ネットワーク構成図を考える: NW図の基本とモデル指向NW図のススメ / OSC_2020_Tokyo_Spring - Speaker Deck
冗長化のActive/StandbyはBGPのLocal-PreferenceとAS PATH Prependを使って実現しています。outgoing trafficにおいて、障害時でも同じGlobal IPを使い続けたい強い理由はなかったので、今は単純にActive機が死んだらStandby機から予備のGlobal IPでインターネットに出ていくようにしています。
ルーティングプロトコルに関しては、Linux化したCloud EdgeとサーバーどちらにもFRRoutingを入れて喋らせています。
サーバーは素のDebianを入れてKVM/libvirtdで遊ぶことにしました。楽をするならProxmoxを入れるべきなんですが、手間がかかったほうが面白いだろうと思いProxmoxは今回見送りました。どこかでProxmoxを使ってみたいですね。
VMの準備が出来ればあとは遊び放題になってくるので、取り急ぎ Github Action self-hosted runnerとAnsibleの準備をして簡易なCI/CDを整えるところまで作業して一段落です。
Trend Micro Cloud EdgeのLinux化について
風の噂で、x86かつUSB bootでOS Installが出来ると聞き、中古3000-5000円の範囲で5ポート使えるのでLinux Routerとしてはお手頃じゃん、ということでこいつを入手することに決めました。
調べてみると先人の情報*1もあるので、大変助かりました。
Cloud Edge 50とCloud Edge 70Sしか確認してないですが、(先人の情報通りで)注意点としては全ポートを期待通り使うためにはジャンパスイッチの差し替えが必要なことです。
差し替えを行わない場合、(自分が確認した限りでは) 5ポート中2ポートはリンクアップすらしないはずです。
(最初の状態) これを、
(差し替えた状態) こう!
差し替えると全ポート使えるようになります、嬉しい〜。
やりたいことはまだまだあるので、自宅鯖の改善がある程度進んだらまた記録に残そうと思います。
(その前にNESエミュ実装の感想2を書け、という話はある)