自宅サーバの思い出 Advent Calendar 2016
タイトルそのままです。
自宅サーバの思い出 Advent Calendar 2016の13日目の記事です。
ボタンを押せば希望のスペックのサーバが降ってきて、IPアドレスも付いていて、設定すればアプリケーションもデプロイされて、クラウドは 刺せばIPアドレスが降ってくる
どころの話じゃない。
仕事とかで使う分には本当に楽で良いんだけど、やはり家にサーバがないのは寂しい。
現在の装備
サーバとして使ってるやつとネットワーク機器
- Cisco Aironet 3502
今持っているものはこんな感じ。
自宅サーバを始めたきっかけ
大学1年生の時に大学の授業とかで初めてサーバにsshでログインして、自分も家で触りたくなったのがきっかけだったような。
当時は自分のものはWindowsのノートPCしか持っていなくて、Linuxのサーバというのはとにかくかっこいい気がしていて、Apacheの It Works!
が出るまでのところを自分でやってみたかった。
家族用に自作したPCの予備でHDDは持っていたのと、ノートPCのメモリを載せ替えた余りのメモリがあったので新たに買ったのはマザーボードとPCケースだけ。 安くて消費電力が低いやつを探していたのでAtomD525が載っているマザーボードにした。
VMでUbuntuのインストールはやった事があったので、インストール作業自体はそんなに手間取らなかった。
sudo apt-get install apache
とか打って、Apacheを入れるのもあっさりできて感動した。
なんか繋がる
家の中でApacheが見られるようになって、今度は家の外からアクセスできるようにしたくなった。
ググると、 ポート解放
なる作業が必要らしい。
ポート解放するためにはルータにブラウザでアクセスして、何か設定が必要だという。
たいていは 192.168.0.1
とかにアクセスすると認証画面が出ると書いてあったけれど、アクセスしても繋がらないというエラーしか出ない。困った。
サーバのIPアドレスを確認しても、 192
で始まっていないし、 12x.xxx.xxx.xxx
みたいに見たことない数字で始まっている。(ここで気づくべきだった)
ネットワーク勉強したことないからよくわからん、Wi-Fiの設定だけで2日掛かったしやっぱダメかと思いつつ、先程のIPを大学から打ってみた。
すると…
キタ━━━━(゚∀゚)━━━━!! なんと繋がってしまった。そう、後に知ったけれど自宅にプライベートIPなんてものはなくて、グローバルIPが直接降ってきていたのだった。
今だから分かることだけれど、実は家の回線は集合住宅向けのネット接続サービスだった。
最初から用意されているので、家にモデムを置いたこともなければ、そもそもルータなんてものはなかった。
あったのはスイッチングハブだけで、1戸あたり /29
のグローバルIPが降ってきていた。
NATもファイアウォールもなしに一般家庭のPCがグローバルIPを持っているのは大丈夫なのか…?
楽言えば楽だし複数IP使えるのは嬉しいけど、このせいでNATとかプライベートIPとかグローバルIPの概念が全然理解できなかった。
LXCとの出会い
家にサーバを置いて、用もなく外からsshしていると間違えてシャットダウンさせたり、NICの設定を間違えて疎通を取れなくしてしまったりトラブルはちょくちょく起こしていて、その度に色々と勉強になった。
そのうちホストの環境はあんまり汚したくないと思うようになって、KVMの事も調べてみたけれどCPUがAtom D525という貧弱な環境ではつらくて、そんなにお金ないしなぁと思っていたところに出会ったのがLXCだった。
自宅サーバ、LXC使って仮想化してみたい。
— くろさん (@kuro_m88) June 23, 2014
— くろさん (@kuro_m88) June 24, 2014
LXCはLinuxのコンテナ技術で、ネットワークとかディスクのリソースを隔離してくれるのでコンテナ型のVMのような雰囲気で使える。
非力な自宅サーバでもlxcのおかげで超軽量な仮想化が使えるようになって、用途ごとにサーバ立てたりできるようになったので素晴らしい。ユーザ権限でコンテナが動かせるのもよい。
— くろさん (@kuro_m88) July 30, 2014
LXDとの出会い
いつから使い始めたかわからないけど2015年の8月には使い始めていた模様。
最新版でLXDでライブマイグレーションできた。検証に3時間半くらいかかっちゃった。
— くろさん (@kuro_m88) August 8, 2015
fit-PC2は社会人になってから手にいれたけれど、32bit CPUでLXCを使おうにも64bitマシンとバイナリが違って不便だし、ファイル転送するとNICが熱を持って死んでしまって通信できなくなるので疎通監視くらいにしか使えなかったのでIntelのNUCを買った。 Intel NUCは小さくて消費電力も低くて、音も耳を近づけないと聞こえないくらいだけどLXDでいくつかホストを常時起動しておくくらいなら十分な性能。
その後
ネットワーク系の友達にルータ(NEC IX2005)を貰ってしまい、わけもわからず使い方をググっていたり教えて貰ううちにVPNが張れるようになり、気がついたら5人くらいの家とVPNしていて、BGPで経路が勝手に流れてくるようになっていた。 JuniperのSRX300とか欲しくなってきたし、タダより怖いものはない。
最近CiscoのAironetも中古品を買ってしまった。
今後の展望
友達とかの繋がりで、データセンタに個人のサーバを置かせて貰えるかもしれないという話が舞い降りてきた。 ただ、肝心のラックマウントサーバを持っていないのでそれに向けてヤフオクでよさげなサーバを探している。
1UでCPUが6〜8コア 12〜16スレッド、メモリが32GBくらい、HDDが1TB x 2、NICは2本以上のスペックでいいやつが見つかるといいなぁ。
突然自宅を飛び出してDCにサーバを設置することになったけれど、NUC1個くらいは静かだし家で飼っておきたい。