自宅サーバーを始めるあなたに
自宅サーバーを始めんとする方々に向けて書いていきます。以下ではひとまず全世界から閲覧可能なWebサーバーを立てることを前提としています。
基本中の基本から書いていくので、そんなん知ってるわ!って思ったら読み飛ばして下さい。
あと、情報の信憑性が低い部分があったりするのでご了承下さい。
目次
ひとこと
自分のお家にサーバーがあると非常に便利です、捗ります。私は同志を増やしたいです(本音)
まずは第一歩を踏み出しましょう。
そもそもサーバーとは
送られてくるクライアントからの要求に応じて返事を返す仕事をするのがサーバーです。
一番わかりやすいのがWebサーバーで、利用者がアクセスするとウェブページの内容を送ってくれます。このほかに例として以下のような物があります。
- ファイルサーバー(NAS)
- FTPサーバー
- メールサーバー(POPサーバー,SMTPサーバー)
- DNSサーバー
個人ではWebサーバーとファイルサーバーが多そう?な気がします。しかし、Webサーバーとファイルサーバー両方持ちたいからといって2台PCを用意する必要はありません。もちろん分けても良いのですが、1台で何役もこなすことが出来ます。
あと、「サーバ」と「サーバー」、最後伸ばすか伸ばさないかというのは自由で結構です。技術系では最後は伸ばさない事が多いです。よく鯖と略されます。
用語集のようなもの
調べれば分かるけれど、調べるのが面倒な人のための解説コーナーで、「自宅サーバをたてる上で必要になりそうな用語の知識を、自宅サーバをたてる観点から簡単にまとめようとしたもの」です。
ここを最初に読むのが面倒なら、とりあえず飛ばして分からない単語が出てきた時に参照しましょう。
IPアドレス
IPアドレスとは、インターネットに接続された機器を識別するための番号である。
現在一般的に用いられているInternet Protocolバージョン4略してIPv4では0~255の数字が4つ組み合わされて成り立っており、
123.123.123.123
のように表記される。ちなみに最初の数字の塊を第1オクテットと呼び、第2・第3・第4オクテットと続く。第1及び第4オクテットが0になることはない。
グローバルIPアドレス
グローバルIPアドレスは、しばしば現実世界での住所に例えられ、世界でどこを探しても重複することがないIPアドレスである。そして、現実世界で住所をいくつも持つ事が難しいように、プロバイダから与えられるグローバルIPアドレスも基本的に1つのみである。この一つのIPアドレスを複数の機器で使い回す仕組みがプライベートIPアドレスである。
プライベートIPアドレス(ローカルIPアドレス)
プライベートIPアドレスとは、限られた範囲のネットワークで使用されるIPアドレスである。グローバルIPアドレスに対してプライベートIPアドレスは部屋番号に例えられ、101号室や102号室という番号の部屋が全国にあるように、完全に固有な数字とはならない。一般家庭で1つの回線を複数の機器で利用する際はブロードバンドルータが必要であるが、これはブロードバンドルータがプライベートIPアドレスごとに外からの通信を割り振る役割を持つためである(ルーティング)。
プライベートIPアドレスの命名規則は定められており、代表的なものとしては192.168.???.???といったものがある。部屋番号だけ他の人に伝えても場所が特定出来ないように、サーバーを立てた後にこのプライベートIPアドレスを他の所に住んでいる人に教えても、教えられた側はサーバーにアクセスすることが出来ない(同じルータに接続しているPCからはローカルIPでもアクセス出来る)。では、現実世界では住所の後に部屋番号を書けば手紙が届くように、グローバルIPの後にプライベートIPアドレスを続けて書けば良いかというとそういうわけでもなく、後述するポートマッピングという設定をブロードバンドルータに行う必要がある。
元々はこのように家庭内や企業内などでのみ利用されてきたプライベートIPアドレスだが、近頃のIPv4アドレスの枯渇を受けてか、プロバイダからもグローバルIPアドレスが付与されずプライベートIPアドレスが付与される事が増えている。これは、同じ住所の大きなマンションに多くの家庭が入居しているイメージである。この場合、利用者はプロバイダ側にあるルータをいじることが出来ないため、グローバルIPアドレスでのサーバー公開が出来ない。つまり全世界への公開は実質不可能となる。
なお、プライベートIPアドレスとローカルIPアドレスは同じ意味である。これらの呼び方の違いは、プロバイダから割り当てられてしまった場合はプライベートIPアドレス、家庭で設置したルータ以下のネットワークで使うアドレスをローカルIPアドレスと呼ぶことが多い気がする(曖昧)。
DHCP
一般的に、PCとブロードバンドルータをLANケーブルで接続するだけで、PCにはローカルIPが自動的に割り当てられる。このプライベートIPアドレスを自動的に付与する仕組みがDHCPである。DHCPを実現するためにDHCPサーバというものがブロードバンドルータには内蔵されており、これもサーバの一種である。通常のブロードバンドルータでは、192.168.0.???、192.168.11.???、192.168.1.???といったローカルIPを各機器に割り当てる。
なお、ローカルIPは自分でPCに設定することも出来るが、「同じネットワーク内ではIPアドレスのネットワーク部を一致させなければならない」という決まりがある点に注意しなければならない。この意味が分からない場合はとりあえずDHCPの割り振りの規則と一致させておけばよい。例えば、192.168.0.???というローカルIPをDHCPで割り振るルータの場合、第1~第3オクテットまでを一致させて、192.168.0.114などに設定する必要がある(192.168.19.114などは使用出来ない)。
ポート番号
ポート番号とは、通信相手先のプログラムを指定するための番号である。グローバルIPが住所でローカルIPが部屋番号だとすれば、ポート番号は“宛名”と表現するとわかりやすいかもしれない。同じ部屋の中には複数の入居者(アプリケーション)がいて、それぞれに差出人を名乗っているイメージ。現実世界と違うのはこれが番号であること。
ちなみにサーバ側の待ち受けで特によく用いられるポートを抜粋すると以下の通り(ウェルノウンポート、有名なポート番号の一部)。
用途 | ポート番号 | 備考 |
---|---|---|
Web(HTTP) | 80 | 一番使われてそう 「http://」で始まるアドレスをブラウザに打ち込むと、デフォで相手先の80番ポートに接続する |
Web(HTTPS) | 443 | セキュアな通信に利用 |
SSH | 22 | 一般公開向けのポート番号ではないが、Linux系OSでサーバを立てる時には避けて通れない! セキュリティ強化したい人は別のポート番号への変更するのもおすすめ |
※上記はあくまでサーバ側のポート番号。クライアント側、つまり普通の利用者側のPC上のプログラムは、ランダムなポートを利用してサーバと通信しているので上記とは異なる。
ポートマッピング
DMZ
WANとLAN
DNS
DDNS
ファイアウォール
必要なもの
ブロードバンド回線(グローバルIP付)
まずこれが無いと外部に公開できない!
加えて、外部公開するのに必要なのがグローバルIPアドレス。
集合住宅の場合、プライベートIPアドレスしか割り振られない事があり、一戸建て向け回線においてもグローバルIPアドレスが付与されない物がある。
更に、グローバルIPが割り当てられる事業者においても、サーバ運用を禁止している場合がある。この点に関しては自分の利用している回線を確認しよう。
参考程度に以下にサーバ公開が可能かどうかを回線毎に示す。
回線サービス名 | 鯖外部公開 | 備考 |
---|---|---|
フレッツ系 | ○ | 基本的にグローバルIPあり プロバイダによっては30GB/日の転送制限があるのでサーバー運用時には注意[1] |
auひかり系 | ○ | 基本的にグローバルIPあり プロバイダによらず30GB/日の転送制限があるのでサーバー運用時には注意[1] |
nuro光 | × | 個人向けはプライベートIP。 IPv6であれば外部からアクセス可能? |
CATV系 | △ | 事業者によりけりなので要確認。 プライベートIPの場合や、グローバルIPだが鯖立て禁止の場合などがある。 また、同じ事業者でも地域により異なる場合があるため注意。 |
※上記を完全に信頼せず、自身で調査し、必要であれば問い合わせた上で回線契約・サーバー運用を行って下さい。
PC
一般的にPCと呼ばれる物で、かつLANが付いている物なら一応どれでもサーバー化可能(Macでも可能のようですがここでは触れません)。もし余っているPCがあるのなら、まずはそれでサーバーを立てて遊んでみましょう。良い経験になります。
その上で、以下に示す向き不向きというものを意識して安定稼働を目指しましょう。
- サーバー
名実ともにサーバーとしての利用を想定して設計されたものなので、信頼性は高い。時折NTT-Xなどで1~2万円程度という非常に安い価格で販売されることもあり(安鯖)、手軽に安定したサーバーを運用するなら非常におすすめ。 - ノートPC
しばしば、ノートPCは消費電力が低く、更にバッテリが付いていて停電時も安心だからサーバー向き、などと言われることがありますが、正直あまりおすすめ出来ません。
熱がこもりやすい上にメンテナンス性も低いので、長期間の安定稼働は望めません。おためしで数日間鯖にしてみるならアリ。 - 一体型PC
ノートPCと同じく、内部に熱がこもりやすいのでサーバーには不向き。常時稼働が前提のサーバー用途で利用すると、HDDなどがすぐに壊れてしまう恐れがある。 - 自作PC
パーツ選びが重要。これによりサーバー向きか否かが大きく変わる。以下に詳細を示す。
パーツ | 詳細 |
---|---|
電源 | しっかりしたものを選ぼう。また、効率の良さや発熱の低さから80+ GOLD以上のものがおすすめ。 KEIANはさけよう。 |
ケース | 例えばファイルサーバーや録画サーバーなら、大抵はどれだけファイルを保存できるが重要になる。そのため、ストレージ(HDDやSSD等)の容量が物を言い、ストレージが積めれば積めるほど良い。 |
マザーボード | IntelCPUを使用するならLGA775世代より古いマザボは経験上安定性が低いのでおすすめできない。LGA1156以降なら概ね問題なさそう。 また、WindowsServerならまず問題にならないが、Linux系の場合はLANドライバーがない可能性もあるので注意が必要です。あくまで(かみゆの)個人的な意見ですが、互換性が高いのが蟹(Realtek)チップで、安定性はIntel系が優秀かと思います。最近のマザーボードに搭載されているQualcommのKiller系統は、あくまでGaming向けなのでサーバーにはオススメしません(ドライバも少なそう) |
グラフィック | グラフィックボードなどゲームに使うようなものは電源に負担がかかる上、消費電力の上昇を招くので必要無い。ディスプレイへの出力等が必要なときはCPU内蔵グラフィックの使用を推奨。 |
やる気
おきまり。ルーターのポート開放設定が見つからなくてもめげない心も必要(レンタルのルーターだと隠しメニューとかにあったりする)。