我家のネットワーク構成を例に個人で運用しやすいシンプルなサーバ運用を提案します。 自宅サーバに興味がある方の参考になれば幸いです。 至らない点は何卒御容赦下さい。 |
ここでは、実際に稼動している当サーバを例に、個人でも運用しやすいシンプルで多機能なサーバ&クライアントネットワーク構築を提案します。
個人宅でのサーバ運用には様々な条件を求められます。 『騒音』はできるだけ静かに。 『消費電力』は極力少なく。 小型で『省スペース』であること。 ライセンスを含めた運用コストが『安い』こと。 そしてできるだけメンテナンスに手間が掛からず『安定』した動作が望め、そして『セキュア』であること・・・。
それはある意味、商用の大型で高価なサーバに課せられるよりも条件的に厳しいことさえあります。
その条件をいっぺんに並べてしまうと『ギョッ』として腰がひけてしまいますが、コツコツと焦らずその『理想』に向けた試みを『趣味』として楽しみませんか?
家庭内でも家族一人に一台ずつの PC が当たり前になりつつある昨今、複数の PC を常時接続で快適に繋ぐ為に必要なルータですが、そのルータに様々な機能を追加して多機能なオールインサーバとして更に便利にそして、ご家庭から世界に情報発信してみましょう。
もちろん、ここで挙げるのは単なる一例であって、あてつけがましい主張をする意図は全くありませんし、皆さんそれぞれに違ったニーズがあり、それに見合った『理想形』への解答は様々である事を予め記しておきます。
皆さんの理想のネットワーク環境構築の参考になれば幸いです。
自宅サーバを運用するにあたり、気になるのはそのコスト(経費)です。
コストに該当しそうなものを列挙しますと、
- サーバ用マシン ハードウェア・ソフトウェア
- メンテナンス作業料
- 電気料金
上記のうち上の2つは以降で触れておりますので、ここでは電気料金について書いてみます。
サーバとして稼動させるマシンを24時間動かしっぱなしにすると、ひと月で一体いくら位になるのでしょう。
私の家で利用している東京電力の 従量電灯B 40A 契約、300kWh 超過時 の厳しい単価で検証してみました。 1kwあたりの単価は、22円43銭 です。
- ルータ兼オールインワンサーバ(無停電電源含む)
1週間・・・約 155 円 1ヶ月・・・約 686 円
- スピードネット無線接続端末装置(ADSLで言うところのモデムに該当)
計測中
- 一般的なルータ(ブロードバンドルータ)NTT-ME MN128-SOHO Slotin
計測中
- ノートPC をルータ兼サーバにした場合
1週間・・・約 47 円 1ヶ月・・・約 188 円
ノートPC の使用料金算出は、akuzoさんにお願いしました。
以上の結果は簡易的な計測方法によるものですので、あくまでも目安としてお考え下さい。
結果をご覧になって感じるところは人それぞれだと思いますが、私としては ノートPC の優秀さがとても気に入りました。 自宅サーバとしてルータと簡単なWebコンテンツを運用する程度ならばスペックも Pentium150MHz くらいで十分でしょう。 ノートPCなら内蔵するバッテリで無停電電源があるのと同じ! これはお奨めです!!
外部に Web その他のサービスを公開しない、もしくは外部の Web やその他の情報を利用しないのであれば必ずしも必要ではありませんが、現在のPC事情において、手元のPCからインターネットに繋がらない状況ではその楽しさの大半は切り捨てているに等しいのではないかと思います。 もちろん、このページをご覧になっている方は何らかの方法でこの情報を入手してますので、その楽しさを評価なさっている事でしょう。
インターネットに接続する為の方法としては、その地域によっても選択肢は様々ですが、一般的にはフレッツISDNや、フレッツADSL、ケーブルTVのネット接続等、現在では『常時接続』という言葉が一般的になってきています。 もちろん、『常時接続』でなければサーバ公開できないという訳ではありませんが、時間を気にせず繋ぎっぱなしにできるのは大きな利点です。 外部に Web 等を公開する際にも利用者がいつでも利用できるという利点もあります。
皆さんがお住まいの地域で利用可能なサービスを選択して下さい。
以下に一般的なインターネット接続プロバイダと接続形態/接続プロトコルを紹介します。
- SpeedNet高速無線接続
こちらのページでも触れてますが、SpeedNet の高速無線接続では、ユーザ宅に取り付けられた装置と基地局の間で無線通信を行い、SpeedNet のバックボーンを介してインターネットに接続します。 接続には、PPPoE プロトコルを使用します。
この PPPoE プロトコルは、市販されている『ブロードバンドルータ』等でも接続可能で、とても導入し易いものです。 市販のブロードバンドルータを使用しない場合でも、Windows や PC-UNIX からも簡単に接続できます。
SpeedNetでは、Windows / Macintosh で使用できる PPPoE 接続クライアントを無料で配布しています。
- フレッツADSL
NTT が提供するフレッツADSL では、既存のメタル電話回線を利用しユーザ宅に設置するモデムで一般の電話通信では使用しない帯域を使い通信を行います。 接続プロトコルには SpeedNet の無線接続と同様に PPPoE プロトコルを使用しますが、認証に使用する ID(ユーザ名)に、併せて契約するプロバイダのドメインを付加する事で接続先のプロバイダを選択する所が異なります。
フレッツADSLの時もSpeedNetと同じように接続クライアントが無料で提供されますので、これを利用できます。 また、ブロードバンドルータ、PC-UNIX での接続も SpeedNet の例のように簡単に行えます。
- ACCA ADSL
アッカ ネットワークスでは、PPPoA という接続プロトコルが使用されており、契約時に送られてくるルータ内蔵のモデムでの接続を前提にしています。
提供されるルータ内臓モデムには複数の端末を接続する機能が予め備わってますので、簡単に導入できます。
- Yahoo!BB
ヤフーブロードバンドでは、認証というものが存在しません(^^; 契約時に送られてくるモデムにイーサネットカードを接続し、DHCP により割り当てられるグローバルIP を使用してインターネット接続します。
敢えて詳細を書く事は避けますが、とてもネットワークのプロが施したとは思えない、ずさんな一面があります。
また地域によりネットワーク管理ポリシーがバラバラで、一部地域では特定のポートをフィルタしている等の報告もあります。
私個人は、Yahoo!BB に関して何ら特別な感情を抱いてはいないのですが、事実なので・・(汗
- JCOM ブロードバンド(JCOM-NET)
ケーブルTVネットワーク網を利用したインターネット接続の草分け、JCOMブロードバンドでは、ホスト名による認証で DHCP によりグローバルIP を取得します。
Windows や Mac ではネットワーク設定から簡単に接続設定を行えます。 特別な接続ソフトウェアは必要としません。
PC-UNIX からも簡単に接続設定できます。 以下に FreeBSD での接続の例を示します。
NIC のデバイス名が sis0 の場合の例です。 /etc/rc.conf に以下のように記述してネットワーク設定を DHCP で取得するようにします。 ifconfig_sis0="DHCP" 同様に、/etc/dhclient.conf に以下の記述を行います。 interface "sis0" { send host-name "cj???????-?"; } 認証で送るホスト名は契約時に JCOM から指示された通りに記述して下さい。
- 契約しているプロバイダが公開サーバ設置を許可しているかどうか?
まず、インターネット接続の為に契約しているプロバイダが、外部にサービスを公開するサーバ設置を許可しているかどうかを確認する必要があります。 契約規約にサーバ設置不可となっている場合には、残念ながらその規約に従うしかありません。
有名なところでは、JCOMブロードバンド(JCOM-NET)では外部にサービスを提供するサーバ設置不可とされているので注意が必要です。
『外部に公開するサーバ不可』という場合でも、内部にサーバを設置する事は禁止されませんので、家庭内LANのイントラネットとしてサーバを構築する事は、問題ありません。
外部公開サーバ設置が禁止されている場合には、外部に設置してあるサーバやプロバイダのサーバに用意されている Web スペース等を利用して情報発信するとよいでしょう。
そうした場合にも、自宅サーバはとても便利です。 具体的には、普段の Web 作成では自宅サーバ上に作成し、内容を更新したら、ftp で外部にある Web スペースをミラーリングする事で更新する、等です。
そうした作業も常に稼動するサーバがあれば、自動化できたり、任意のタイミングで実行できたりします。
ドメインを運用したい等の特殊な要求がない限り、この事はあまり意識しないでもよいと思いますが、サーバ運用に興味のある方で公開サーバOKという事ならば、是非トライしてみましょう。
- グローバルIP が割り当てられているか?
グローバルIP が割り当てられるプロバイダなら、サーバ公開は簡単ですが、グローバルIP が割り当てられないと、少々複雑な仕組みを必要としたり、外部のグローバルIP が割り当てられているサーバを経由するなどしないとサーバを外部に公開できません。
契約する・しているプロバイダがグローバルIP を割り当ててくれているか、確認しましょう。
- 管理責任を負う事になります。心構えは?
サーバを外部に公開するという事は、インターネット上に存在しインターネットそのものを構成している様々なそして、多くのサーバ、ホストの一部となる事を意味します。
インターネットサービスの多くを提供できるサーバを外部に公開するのですから、それが悪意のある第三者に悪用されてしまうと大変な事になってしまいます。 他の皆の迷惑になるような事は避けたいですよね。
また、サーバを公開した時点で、そのサービスを公開している貴方だけのものではなくなります。 公共の一部になるという訳です。 この点も気をつけた方がよいでしょう。
かといって、間違いの無い人間は居ません。(と思います) その人間が作り出したソフトウェアにバグが全く無い事もあり得ず、セキュリティにも完璧はありません。 間違いを見つけたら可能な限りの対処を迅速に行う事が第一です。
サーバとして稼動させるマシンは、あまり高速である必要はありません。 勿論、高速なマシンであれば、その動作がより軽快になる事は言うまでもないのですが、長時間稼動(24時間営業)させる訳ですから、発熱、消費電力、冷却ファンの騒音等を考えると、そこそこのスペックのものの方が良いのではないかと思われます。
PCを趣味にしている方は一定周期でマシンをアップグレードされたりするでしょうから、1世代前のモノなんかが丁度いいのではないかと思います。
また、使っていないノートPC 等があるとベストです。 ノートPC はバッテリー駆動が可能ですから、無停電電源が最初から付いているようなものですし、騒音も普通のタワー型PC よりもずっと少ないのではないかと思います。
参考までに当サーバのスペックですが、以下のようになってます。
CPU: PentiumIII 500MHz Memory: PC133-256M マザーボード: i810e HDD:40GB(5400rpm) オンボードイーサネットインターフェイスx1(使ってません) イーサネットカードx2(NETGEAR FA311)←1000円くらいです。タワー型PC 等にする場合はケースも悩みどころです。 あまり小さいと夏などに熱がこもり、その分高速なFANを回して熱を逃す必要がでて結果的に騒音が気になったりしますね。
![]()
こちらは、以前使っていたサーバのケースで、マザーボードの調子が良くないので修理中なんですが、ケース自体は良く出来ていて電源も静音FAN のようでとても静かです。 値段も安いのでオススメですね。
コードがぶら下がってますが、温度センサのコードです。 室温計測に使ってました。
うちはサーバには丁度いい『ちょっと古めマシン』が豊富でして(最新マシンは無いんですが・・)、以前はサーバだけでも5台稼動させていたんですが、夏場の温度上昇が凄いのと、電気代が気になるのとで、24時間稼動するサーバを一気に1台に絞り、統合多機能てんこもりサーバとして集約しました。 右の写真は、分散と言えば言葉がいいですが、当時の混乱ぶりを写したものです。
下図は当時の温度推移の様子です。
![]()
![]()
ネットワークのデザインには、皆さんそれぞれお好みがあるかと思います。 ここでは一例として当サーバで実際に運用している接続構成をご紹介します。
当サーバでは、ADSL 接続でのモデムに相当する、SpeedNet からレンタルで提供されている無線機の直下に、ルータを兼ね各種サービスを統合した、多機能なオールインワンサーバを配置しています。
昨今のデータストレージ事情では、ファイルサーバを常時稼動させている場合も多い事でしょう。 どうせ24時間動かすマシンがあるのなら、そこに各ネットワーク機能も集約してしまえば一石何鳥にもなります。
サーバのメンテナンスはネットワーク上から行いますので、ビデオカードもディスプレイも不要です。 市販の『ブロードバンドルータ』も ブラウザ から各種操作が可能ですが、サーバの管理も同じようにできますので、下の写真にあるように人気のないディスプレイも無い状況で運用できる訳です。
無線機を設置してあるベランダ側とサーバを設置してある納戸では、賃貸マンションの間取りのちょうど両端となる為、イーサネットケーブルで比較的長い距離を繋いでいます。
← 約20Mのケーブルで直結 →
![]()
この構成の狙いとしては下記の通りです。
- シンプルに構成できること
- ルーティング、ファイアウォール等のネットワーク設定が自由になること
- 初期導入費用が再利用マシンならば0円!
- 電気代を含め、全体的な運用コストが安いこと
- 問題が生じた際に問題個所の特定が容易であること
- 故障リスクを少しでも低く抑えられること
もちろん、お好みで市販されている『ブロードバンドルーター』等を利用しても良いでしょう。 その場合は上記の構成の中間に『ブロードバンドルーター』を配する事になります。
その場合には、『ブロードバンドルーター』の方で、ルーティングや簡易ファイアウォール(パケットフィルタリング)等を設定し、その内側に配置するサーバにアクセスを許可する等の設定を行えば良い訳です。
参考までに当ドメインの構成を示します。
コンセプトとしては、『シンプル』『安価』『低メンテナンスコスト』です。
一部、外部ネットワークも含まれています。 リンクで各ホストの詳細をご覧頂けます。
(2002/05/15追記) J-COM Net ケーブル接続が開通しましたが、面倒なのでその部分は省略(^^; 故障していたノートパソコン VAIO PCG505 が修理できたので、メルコ製 AirStation の無線接続で繋いでみました。 PCMCIA 無線カードも FreeBSD4.5 からは標準でサポートされますのでインストール一発で動いてくれて簡単でした。
安い賃貸マンションなのでトイレ以外は全ての部屋で電波状態が良く、常に3Mbps〜4Mbpsの実効速度で通信できます。(^^; 逆転の発想『モバイルサーバ』なんて如何です(^^;(注)明らかに利用価値低そうですが、賃貸物件等で配線が困難な状況である程度通信速度を犠牲にしてもよいWebサーバ等を自由に設置できる利点はありますね。
SpeedNetも同じ周波数帯の無線接続ですので、家庭内の無線LAN運用で電波干渉等が気になるところですが、私が試してみたところ全くその影響は見られません。 旧型の電子レンジの方がよっぽど影響あるかも知れません。(^^;
※我家は旧型電気製品の宝庫です。別名:ジャンク市場
+------------+ | XPS Server | 仲間内共同利用サーバ(外部プロバイダに設置) +------------+ | xps-net.com xps.jp x68.jp snow-town.com ... etc. | 100BaseTX | ---------------------------------------- The Internet ---------------------------------------- : : 無線接続; IEEE802.11 : The outside world +------------+ ====================== SpeedNet | ISM Unit | BreezeACCESS at HOME +------------+ | | PPPoE | (CAT-5) | x68k.net | xxx.xxx.xxx.xxx sis0 (NETGEAR) +------------+ Global FreeBSD | ALLinONE | 統合多目的サーバ ====================== +------------+ Private sis1 (NETGEAR) (yyy.yyy.yyy/24) | yyy.yyy.yyy.5 | atropos | (CAT-5) | +------------+ | DHCP | NOTE 1 | | +------------+ √ +------------+ | | AirStation | √ FreeBSD | +------------+ DHCP | | +------------+ | | Switch Hub |--------------------------------------------------------- +------------+ | | | | | | | | | | (CAT-5) | | | | | | | | | vr0 (VIA) Realtek 8139 Nereid Prot. vr0 (VIA) Realtek 8139 +------------+ +------------+ +------------+ +------------+ +------------+ | Server | | Client 1 | | Client 2 | | Client 3 | | Client 4 | +------------+ +------------+ +------------+ +------------+ +------------+ FreeBSD Windows 2000 Human68k TLW 6.0 Windows 98 yyy.yyy.yyy.1 DHCP yyy.yyy.yyy.68 DHCP DHCP lac harun clotho karehn KOG ICQクライアント DHCPクライアント (笑) 書きましょう(笑簡単に解説しますと、図にある ALLinONE ではゲートウェイルータ(ファイアーウォール)と共に各種ネットワークサービス、ストレージサービス、DHCPサーバ機能等が統合されており、配下にある Switching-HUB を介し 100BaseTX のイーサネットで各ホスト、マシンを収容する事でどのマシンからもインターネット接続他、各種ネットワークサービスを利用できるようになっています。
内部ストレージサービスでは、秒間 12MBytes 程度の通信速度でファイルのやり取りが可能で、共有設定等を施していない Windows クライアント等からでも簡単に利用できるのが便利です。
また、インターネット接続の共有では、プライマリに J-COM のケーブルインターネット接続を利用し、サーバ側の回線に負荷を掛けないように設定しています。 スピードネットのインターネット接続はほぼサーバ専用にしています。 もちろん、簡単な操作で各回線を切り替える事ができます。
この接続構成では、内部ネットワークには最大254台のマシン(ホスト)を接続する事が可能ですが、もちろん、そんなにPCを持っているはずもなく、必要十二分に満たすものです。 その数字から見ても分かる通り、小規模な事業所やSOHOでも不自由する事はないでしょう。
現に、以前仕事で出向いた外資系の翻訳を主な事業とする社員300名規模の会社のネットワークでも上記の構成に少し手を加えた程度ですし、勿論、セキュリティ面では内部からのアクセスも全てを信用する事はできませんので、多少窮屈な設定にはなるのですが、PC UNIX を使ったネットワーク構成が如何に実用的なものかを示すモデルであると言えると思います。 その企業はインターネット接続バックボーンに T1回線(1.5Mbps専用線)を使用していましたので、J-COM の実効速度 6Mbps を導入した当ドメインの方がむしろパケット流量という面では負荷が高いかも知れません。 まぁこれはここ最近の急激なインターネット事情変化で、そういう時代なのですよね。
全世界のホストに接続可能である公の場『The Internet』に接続する訳ですから、他のサイトやホスト、利用者に迷惑が掛からないように配慮しなければならないのは当然ですが、では一体どうしたらよいのでしょう。 読者の皆さんも一緒にセキュリティ問題について考えてみましょう。
唐突に読者を脅すような文章になって申し訳無いのですが、究極を言ってしまえば『完璧なセキュリティなどあり得ない』と言い切れます。 これは『では諦めて良いのか』と誤解されては困るのですが、外部の何らかのサービスを利用する、もしくは、外部に何らかのサービスを提供するという時点で外部との『接触』はどういう形にしろ必ずある訳で、『接触』がある限り『危険性』を完全に排除する事は不可能ですが、その『接触』を完全に絶ってしまえば『利便性皆無の完璧なセキュリティ』は実現可能かも知れませんがそれは、ここで取り上げているような事例では『本末転倒』だと思います。
ここのところのウィルス騒ぎでも自明ですが、Webを閲覧するだけ、メールを受信するだけでもウィルス被害にあってしまう場合すらあり、こうした例では FireWall
インストールするOSの選択では、皆さんの使い慣れたものを優先するべきですが、サーバを新たに構築しようとする場合には今までに経験のない新しいものにチャレンジしてみるのも良いでしょう。 以下に一般的な各種OSの特徴を示します。
- Microsoft Windows(ウィンドウズ)
言わずと知れた世界シェアトップに君臨するOSの王様です。 豊富なデバイスサポート、プラグアンドプレイ、ユーザービリティに優れたユーザーインターフェイス。
サポートする範囲がとても広いこと、利用者がとても多いことで、その利点と引換えにセキュリティホールの報告が目立ちますが、どんなソフトウェアでも発展途上では非常に多くのバグに襲われます。 日々の管理とMicrosoftから提供されるアップデートをこまめに実行する心構えがあれば大丈夫です。
- Linux(リナックス)
このところのシェア拡大でユーザービリティという面でも力を付けてきた、PC-UNIX です。 日本国内でも数多くのディストリビューションが発売され、電話でのサポート等も充実しています。 別途ftp版等で無償配布している事もあります。 雑誌の付録 CD-ROM で手に入れるのも良いでしょう。
- FreeBSD, NetBSD などの BSD 系フリー UNIX
インターネットを始めとしたネットワークサービスを実現するにおいて、非常に強固で確実性のある動作を望めます。 PC を Windows で始めた方にはコマンドオペレーションに最初は敷居が高く感じられるかも知れませんが、場合によっては目新しく感じ、楽しんでいるうちに逆にマウスを握る事が面倒に感じるようになってしまうカモ!?
無料で手に入れる事ができ、ライセンスフリーで運用コスト『ゼロ』です!
私のイチオシは、FreeBSD です。 Web での資料も豊富ですし、これまでの運用経験からもマイホームネットワークの要とするに相応しいと自信をもってお勧めできます。
FreeBSD のインストールについては、こちらでご紹介致します。
自宅サーバで提供するサービスを決めましょう。
自宅サーバで運用するサービスには代表的なものに下記のようなものがあります。
- Web サーバ apache ( Unix, Windows 環境 )
- Mail サーバ qmail postfix ( Unix 環境 )
- Proxy サーバ Squid ( Unix 環境 )
- Web + Mail + Proxy サーバ BlackJumboDog ( Windows 環境 )
- Windows NT互換のファイルサーバ/プリント・サーバ Samba ( Unix 環境 )
- NFS ネットワークファイルシステム ( Unix 環境 )
- (ルータ)ゲートウェイ・簡易 FireWall NAT + IPFW ( Unix 環境 )
- RDB データベース PostgresSQL ( Unix 環境 )