自宅サーバ構成(2017/12)

にやってドン引きされたであろうエントリの2017年度版です。フヒヒ。
基本前年のコピペです。

●FUJITSU TX100S1

このWebサイトの本体があるWebサーバです。(Solaris 11)
サーバ名は「 TERADRIVE 」です。

・NFSファイルサーバ

2TBのDISKをRAID-Z構成にしてNASとして使用しています。
また、DBやWebコンテンツなどもRAID上に格納し、DISK障害から保護しています。
ZFSはファイルシステムレベルでファイル共有の仕組みを持っている素晴らしいファイルシステムです。
ただ、それを乗っけるSolaris自体がもう終わろうとしているのが問題なのですが・・ううっ・・

・Squid

Proxyフィルタリングを行うことにより、
マルウェアの感染リスクがあるWeb広告をブロックしたり、有害サイトへのアクセスをブロックしています。

ここでいう有害サイトとは、『はちま起稿』、『オレ的ゲーム速報@刃』とかを指します。

このように迷惑なWebサイトにアクセスしようとしてもProxy側で遮断してしまいますので、
Twitterで意識の低い人が短縮URLで有害サイトを貼り付けた場合などに、
誤って開いてしまう事を防ぐことができます。

家の中からのインターネットアクセスをすべてこのSquidからに制限する事で、
例えばウィルスなどに感染した際の外部への勝手なアクセスを阻止できるのです。

が、考えたら家でIT機器使うの俺だけだったという寂しい事実が分かりましたので
セキュリティそこまで考えなくていいかなーとか思ってますし制限してません。

・Wake On LAN
宅内のPCは普段電源OFF状態にありますが、リモートから操作したい時があります。
(録画予約、ブラウザゲーなど)
そのような場合はTERADRIVEからWOLパケットを送出する事で、リモート環境から電源投入させる事が出来ます。
なお、電源投入の結果はTwitterより報告されます(後述)

電源投入の予約も出来るシェルスクリプトを作ったので
指定時刻に自動電源投入→録画→エンコード→アップロード→シャットダウン という完全自動運転も可能です。
#環境再構築前はやってたが、今はやってない。考えたら録画しても見ない。(言っちゃった)

・Jenkins
本来はCI/CD(継続的統合&継続的デリバリ)での自動ビルドなどに使われるツールだと思うのですが、
使い勝手が良いのですっごいcronとして使ってます。ってか私開発者じゃないし。

以下の処理を自動化しています。

・SSL証明書更新自動化(月次)
・NAS/DB/WWWコンテンツ/Redmineの自動バックアップ(日次・週次・月次)
・ツクールMVのバックアップとパブリッシュ(オンデマンド実行)
・WindowsのWake On LAN(オンデマンド実行・週次)

ただ、頻繁な処理は各サーバのcronにまかせてます。プロセス監視とかDDNS監視とか。

●Raspberry Pi 3 #1 (GameWatch)

主にEnterprise向けOSであり、最新技術に対する柔軟性の低いTERADRIVEを補完するサーバです。
ホスト名は『 GameWatch 』です。緩い役割的にはインターネット関連、って感じです。

・nginx
TERADRIVE に対するインターネットからのアクセスをSSLで暗号化するリバースProxyサーバです。
Let’s Encrypt によるSSL証明書発行を受けています。

何らかの原因でTERADRIVEがWWWサーバとして機能しない時はメンテナンスページを表示します。
また、WebサイトへのアクセスをReverse Proxy経由のアクセスに限定する事によりセキュリティを高めています。

・宅内DNS

IPアドレスでの管理が面倒だったり、自宅内からFQDNでサイト等にアクセスしたりする為、
dnsmasqによるDNSサーバを設置しています。
/etc/hostsだけ変えれば良いので、運用がBINDより超絶簡単。

・Twitter bot

サーバに異常(DISK障害、プロセスダウン)があった場合、
GameWatchからTwitterで私のアカウント宛に通報を行っています。
TERADRIVEで異常が発生した場合も、GameWatchを経由して通報されます。

また、@kishiwadapeople のTwitterアカウントを使って、
出演させて頂くイベント等の自動告知を行います。

Tweetpy とatコマンドによるシェルスクリプトで実装しています。

●Raspberry Pi 3 #2 (GameGear)

・redmine
ラズパイはGameWatchの1台だけだったのですが、
そこに載せてた自分専用RedmineがRubyのアップデートに伴い環境破壊されてしまいました。。
開発者からしたらRuby on Rails素晴らしいと思うのですが、
私のようななんちゃって鯖缶からするとう○こです。

復旧させようとしましたが上手くいかず、新しいラズパイを用意してRails環境を再構築することにしました。
ほんとうん○

で、redmineを何に使っていうかというと・・・

ずばり艦これイベントの攻略記録です。イベント海域への出撃はすべて記録に残すことにしていますので、
記録ツールとしてredmineを採用したのです。1チケット1海域。
集合知ゲーの艦これでは、先行される上級提督様の情報を集めて攻略作戦を組み立てていく必要がありますが、
集めた情報をredmineに切り貼りしていくことで、自分専用の攻略サイトが出来上がったりするのです。
#いや、その分かかる時間も多いけど・・。

あと複雑な任務フローのチャート整理にも使ってます。

進捗ダメです・・・

リバースプロキシを経由して(私だけが)インターネットからアクセスできるようにしています。

・圧縮Proxy
最近やたらとDMM Mobileが遅くなってしまったのでVPNで接続し、この画像圧縮Proxyを経由させる事で、
体感速度を向上させようとしたものです。
暗号化されたSSLには非対応ですので、例えば主戦場たるTwitterなどの恩恵はあまり受けられません。
来た通信は画像圧縮の上、更にSquidに転送されます。

その他、ネットで流行っているツールの試用とかはこのRaspberry Piで行っています。

●YAMAHA RTX1200

以前使っていたRTX1100から上位機種へリプレースしました。
インターネットへ安定接続したり、リモートから宅内環境にアクセスするためのVPNルータです。
VPN経由で接続させる事により、SSHやリモートデスクトップのセキュリティを高めています。

iPhoneから艦これ専用PCにアクセスするために存在(いや、それだけではないが)していましたが、
今は公式でAndroidから艦これがプレイできるので専用PCは撤去しました。
業務用なので詳細なパケットフィルタが書けますから、ファイアウォールとしても利用しています。

●TP−LINK RE450

無線ルータからRTX1200に買い替えましたので、無線用にアクセスポイントを購入しました。
動作自体は快適そのものでコスパ抜群なのですが、後にトンデモナイ仕様が発覚し・・・

TP−LINK製品をお使いの皆様へのお願い

なのでRTX1200でゴミパケットを落とし無害化して利用しています。なんて時代だ。

●Windows PC

主にPT2を使った地デジの録画をしたりします。
MacBookを買ってからはあまり起動しなくなってしまいましたが、たまーにゲームとかもします。
OSはWindows10です。どうでも良いけどホスト名は『 DreamCast 』です。

●MacBook Pro 2017

今の主力です。
ホスト名は『 MSX 』です。
出来ることは何でもコレでやっていますが、何でも出来るのでWindowsの使用頻度がどんどん落ちています。
(あれ・・考えたらTwitterと艦これしかやってないんじゃないか・・・?)

VMware Fusionを導入しており、Windows10の仮想マシンを内蔵しています。
ちなみにそれのホスト名は『 Jaguar 』です。

 

書いてる途中で「一体俺は何の為にやってるんだろう・・」というさもしい気持ちになってまいりましたが、
全てはお勉強のためなのでございます。

ちなみにこれらの技術はお仕事ではほぼ使わない内容となっており、完全な趣味ITなのであります。
ざんねん!!

Comments are closed.