昨年引っ越してから早数か月、家族が自宅でも高速なネット環境を使いたいとのことで、人生初めての光回線を契約することになった。
今までは、自宅でもWiMAXのモバイルルータにクライアント端末を直接繋いでインターネットに接続していたが、いい機会なので固定回線向けに自宅サーバ、ネットワークのインフラ環境を構築してみることにした。
インフラ構築手順の記事を書いているブログは多々あるものの、設計書を書いているブログはあまりなかったので、自分の為の勉強もかねて設計を残しておく。
「こうするともっと良くなるよ!」という意見があればコメントもらえると嬉しいです。
まずはネットワーク全体の基本設計から。
目次
システムの目的
自宅ネットワーク環境(以下 本システム)は、自宅において個人のPC、スマートフォンからLAN機器およびインターネットへの接続環境の提供を目的とする。
本システムが提供する機能を以下に示す。
・インターネット接続
・無線LAN
・バックアップストレージ
・仮想化基盤
・サーバセグメントファイアウォール
・テレビ録画
・内部DNS
・外部DNS
・独自ドメインメール
・ファイル共有
・システム監視
全体構成
本システムの全体構成図を以下に示す。
システムコンポーネント
本システムで使用するコンポーネントとホスト名、機能の紐づけを以下に示す。
コンポーネント | ホスト名 | 役割 |
インターネット接続ルータ | irt01.hoge.hosii.net | インターネットへの接続機能を提供 |
L2スイッチ | l2s01.hoge.hosii.net | 各コンポーネントの物理接続機能を提供 |
バックアップストレージ | nas01.hoge.hosii.net | システム内機器のデータバックアップ領域を提供 |
無線AP | wap01.hoge.hosii.net | クライアント端末の無線LAN接続環境を提供 |
仮想化基盤サーバ | vmh01.hoge.hosii.net | 仮想マシンの基盤機能を提供 |
監視サーバ | zbx01.hoge.hosii.net | システム内機器の監視機能を提供 |
外部DNS/メールサーバ | nse01.hoge.hosii.net | 外部公開用のDNS、メール機能を提供 |
内部DNS/メールサーバ | nsi01.hoge.hosii.net | 内部、およびシステム内機器の使用するDNS、メール機能を提供 |
録画サーバ | rec01.hoge.hoii.net | テレビ録画機能を提供 |
ファイルサーバ | fls01.hoge.hosii.net | システム内機器のファイル共有機能を提供 |
導入機器
本システムに導入する機器と用途、選定理由を以下に示す。
メーカー / 機種名 | 用途 | 選定理由 |
YAMAHA NVR500 | インターネット接続ルータ | 全ポート1Gbpsであり、SNMPによるモニタリング、IEEE802.1qによるタグVLAN機能を搭載しているため。 |
TP-LINK TL-SG108E | L2スイッチ | 全ポート1Gbpsであり、IEE802.1qによるタグVLAN機能を搭載しているため。Amazonで新品が3000円程度と非常に安価。 |
NETGEAR ReadyNAS NV+v2(RND4000-200AJS) | バックアップストレージ | 3.5インチHDDを4機搭載でき、RAID5で使用可能。NFSおよびSMBでLAN機器から接続が可能なため。 |
ELECOM WRC-1167GHBK2 | 無線AP | IEEE802.11n(2.4GHz帯) / 11ac(5GHz帯)の両方式に対応しているため。 |
自作PC (Core i7 2600 / RAM16GB / HDD 500GB) | 仮想化基盤サーバ | ※DMZファイアウォール、録画サーバ、内部DNSサーバ、外部DNSサーバ、SMTPサーバ、ファイルサーバを収容 VMware ESXiが動作可能であり、8インスタンス程度のVMを同時起動することができるため。 |
Raspberry Pi 3 | 監視サーバ | 物理機器として、省電力かつ安価であるため。 |
インターネット回線
インターネット回線は、光コラボレーションサービスのOCN光マンションタイプ100Mプランを使用する。自宅マンションの建物内配線方式がVDSLのため、モジュラージャックからレンタル品のVDSL終端装置に接続し、同機器からインターネット接続ルータまでLANケーブルで接続する。
論理構成図
本システムの論理構成図を以下に示す。
VLAN設計
以下の内容で、セグメントごとにVLAN IDを付与する。複数のセグメントの通信が行われる箇所はタグVLANで通信を多重化し、単一セグメントで使用する機器との接続部分はポートVLANを使用する。VLAN IDは、TRUSTを100、DMZを200から始まる番号で付与していく。デフォルトの1は使用しない。タグVLANを使用する箇所は、IEEE802.1qプロトロコルを使用する。
セグメント名 | 対象 | VLAN ID |
TRUST-LAN | インターネット接続ルータ ~ TRUST-LAN内全機器 間 | 100 |
TRUST-Server | サーバセグメントFW ~ DMZサーバ 間 | 101 |
DMZ-LAN | インターネット接続ルータ ~ サーバセグメントFW 間 | 200 |
DMZ-Server | サーバセグメントFW ~ DMZサーバ 間 | 201 |
IPアドレス設計
本システムで使用するIPアドレスは以下の方針で設計する。
・インターネット接続ルータのグローバルIPアドレスは、PPPoE接続時にISPから自動的に払い出されたものを使用する
・LAN側は、クラスCのプライベートアドレスを使用し、第3オクテットはVLAN設計で付与したVLAN IDをネットワークセグメントごとに使用する
・本システムのコンポーネントで登場する機器は、Static設定によりIPアドレスを固定する
・各セグメントの境界線となる機器のIPアドレスのホスト部は、若番から割り当てを行う。同機器が複数存在する場合は、インターネット回線に近い側から順に若番を割り当てる
・各セグメントに割り当てるIPアドレスのサブネットマスクは/24とする
・家庭内で使用するPC、家電、スマートフォンはDHCPによるIPアドレス払い出しを行う
IPアドレスのアサインを以下に示す。
セグメント | 第1~第3オクテット | 第4オクテット | ホスト名(FQDN) |
TRUST-LAN | 192.168.100 | 1 | irt01.hoge.hosii.net |
2 | sfw01.hoge.hosii.net | ||
3 | l2s01.hoge.hosii.net | ||
4 | nas01.hoge.hosii.net | ||
5 | wap01.hoge.hosii.net | ||
6 | vmh01.hoge.hosii.net | ||
7 | zbx01.hoge.hosii.net | ||
TRUST-Server | 192.168.101 | 1 | sfw01.hoge.hosii.net |
2 | nsi01.hoge.hosii.net | ||
3 | rec01.hoge.hosii.net | ||
4 | fls01.hoge.hosii.net | ||
DMZ-LAN | 192.168.200 | 1 | irt01.hoge.hosii.net |
2 | sfw01.hoge.hosii.net | ||
DMZ-Server | 192.168.201 | 1 | sfw01.hoge.hosii.net |
2 | nse01.hoge.hosii.net |
ルーティング設計
本システムで使用するルーティングは以下の方針で設計する。
・本システムでは全機器にStaticルーティング方式を使用する。
・各機器のデフォルトルートは上位ネットワーク(インターネット側)機器を指定する。
・インターネット接続ルータは、サーバセグメント向けのStaticルーティング情報を設定する。
ルーティング設計の一覧を以下に示す。
設定対象機器 | 宛先ネットワークアドレス | NextHop |
TRUST-LANセグメント機器 | 0.0.0.0/0 | 192.168.100.1 |
TRUST-Serverセグメント機器 | 0.0.0.0/0 | 192.168.101.1 |
DMZ-Serverセグメント機器 | 0.0.0.0/0 | 192.168.201.1 |
インターネット接続ルータ | 0.0.0.0/0 | pp0(PPPoEインターフェース) |
192.168.101.0/24 | 192.168.100.2 | |
192.168.201.0/24 | 192.168.200.2 | |
サーバセグメントファイアウォール | 0.0.0.0/0 | 192.168.100.1 |
アドレス変換設計
本システムで使用するアドレス変換は以下の方針で設計する。
・インターネットからの特定ポート宛インバウンド通信がインターネット接続ルータに到達した場合、ポートフォワーディング機能によりDMZ-Serverセグメントの特定サーバ向けに宛先IPアドレスを変換する。ポートフォワーディング対象の宛先ポートはあらかじめ定義し、定義外の宛先ポートに対してはポートフォワーディングを行わない。
・内部からインターネット向けのアウトバンド通信は、インターネット接続ルータのNAPT(IPマスカレード)機能で、送信元IPアドレスをインターネット接続ルータのWAN側IPアドレスに変換する。送信元ポート番号は60000-64095の範囲で未使用ポート番号に順次変換する。
・本システム内部での通信にはアドレス変換を使用しない。
アドレス変換規則の一覧を以下に示す。
通信方向 | 送信元IPアドレス | 送信元ポート | 宛先IPアドレス | 宛先ポート |
Inbound | any | any | インターネット接続ルータWAN側インターフェース →192.168.201.2(外部メール/DNSサーバ) |
UDP 53 |
TCP 25 | ||||
Outbound | any →インターネットルータWAN側インターフェース |
any →60000-64095のうち順次使用 |
any | any |
トラフィック制御設計
本システムでは、トラフィック制御は行わずWAN/LANともにベストエフォートでトラフィックを伝送させる。システムリリース後に運用していく中でトラフィック輻輳が顕著になった場合は、別途設計を実施する。
ファイアウォールポリシー設計
ファイアウォール機能は、インターネット接続ルータおよびサーバセグメントファイアウォールの2箇所にて使用する。
インターネット接続ルータのファイアウォールポリシーを以下に示す。
送信元IPアドレス | 送信元ポート | 宛先IPアドレス | 宛先ポート | アクション |
any | any | 192.168.100.2 | UDP 53 | 許可 |
any | any | 192.168.100.2 | TCP 25 | 許可 |
192.168.100.0/24 | any | any | UDP/TCP 135 UDP/TCP 137-139 UDP/TCP 445 |
拒否 |
192.168.100.0/24 | any | any | any | 許可 |
192.168.101.0/24 192.168.201.0/24 |
any | 192.168.100.7 | TCP 10051 | 許可 |
any | any | any | any | 拒否 |
DMZファイアウォールのファイアウォールポリシーを以下に示す。
送信元IPアドレス | 送信元ポート | 宛先IPアドレス | 宛先ポート | アクション |
192.168.100.0/24 | any | 192.168.101.0/24 192.168.201.0/24 |
TCP 22 TCP 10050 |
許可 |
192.168.100.0/24 | any | 192.168.101.2 | TCP 25 UDP 53 TCP 110 |
許可 |
192.168.100.0/24 | any | 192.168.101.3 | TCP 80 | 許可 |
192.168.100.0/24 | any | 192.168.101.4 | UDP/TCP 445 | 許可 |
192.168.101.2 | any | 192.168.201.2 | TCP 25 | 許可 |
192.168.101.2 | any | ISP公開DNS | UDP 53 | 許可 |
192.168.201.2 | any | any | UDP 53 TCP 25 |
許可 |
any | any | any | any | 拒否 |
信頼性設計
本システムにおける、機器故障時の対応方針を以下に示す。
・物理故障時は、故障筐体と同等の機種を購入し交換を実施する。
・論理故障時は、あらかじめ運用作業で取得しておいたコンフィグを元にリカバリを実施する。
・コンフィグバックアップが行えないVMware ESXiは、構築時に作成したパラメータシートを元に、再セットアップ後に手動で設定を行う。
運用設計
本システムを構成する機器に対する運用方針を以下に示す。
・各機器に対する操作が必要な場合は、SSHによるリモートログインを使用する。認証方式は、SSH2によるパスワード認証とする。
・各機器のファームウェア、OSについて月一回程度最新リリースを確認し、アップデート作業を行う。
・仮想マシンのリソースについて月1回程度モニタリングを行い、必要に応じてVMをスケールアップさせる。
・各機器の設定変更が発生した時点でバックアップを実施する。NW機器のコンフィグはテキストファイル、仮想マシンはOVA形式でのイメージ取得によるバックアップを実施する。
監視設計
監視設計は、別途作成するサーバ基本設計の記事において、監視サーバの設計で詳細を述べる。
この記事を参考に私も自宅サーバーを構成しようと思っているのですが、「サーバ基本設計の記事」は投稿されないのでしょうか?
楽しみにしております
>> exampleさん
長らく放置してしまい申し訳ありません。ここ数ヶ月プライベートの忙しさでモチベーションが落ちていました。。。
とはいっても、楽しみにしていただいていたとのことありがたく感じています。
少しずつですが作成を進めていきますので、もうしばらくお待ちいただければと思います。
こちらこそ急かしてしまったようですみません。
お好きなペースで投稿してくだされば幸いです
ネットワーク素人ですみませんが、質問させてください
こちらではVLAN機能が使えるルーターを使用されていますが、これは必須でしょうか?
ルーターのVLAN機能で張っているのはVLAN200の部分ですか?
手持ちのルーターにVLAN機能がなく、調べたところVLAN機能があるものは高価なものばかりだったもので……。
さらに素人臭い質問なのですが、サーバセグメントファイアウォールとはホストOSのファイアーウォールのことで合っていますか?となると、仮想化基盤サーバ管理ポートとは何を指すのでしょうか?
また、こちらのネットワークを構築する際に参考にしたページ等あれば教えていただけるとありがたいです。
長々と書いてしまいましたが、もしよろしければご教示くださると幸いです
よろしくお願いします
>> ネットワーク素人さん
以下ご質問に回答します。参考になれば幸いです。
> こちらではVLAN機能が使えるルーターを使用されていますが、これは必須でしょうか?
個人規模のネットワークでは必須ではありませんが、以下2つの理由であった方が好ましいと言えます。
1.ブロードキャストセグメントの分割(通信帯域の効率化)
2.セキュリティ強化(通信の目的ごとにセグメントを隔離できる)
> ルーターのVLAN機能で張っているのはVLAN200の部分ですか?
今回の構成では、物理レベルで以下箇所についてタグVLANで集約しています。
・インターネット接続ルータ – L2スイッチ間(VLAN100, VLAN200)
・L2スイッチ – 仮想化基盤サーバ間(VLAN100, VLAN200)
各VLAN通信の対象となる機器/仮想マシンが繋がっているL2スイッチポートおよび仮想化基盤サーバ内vSwitchポートで、ポートVLANを使用して個別のVLAN通信にバラしています。
> さらに素人臭い質問なのですが、サーバセグメントファイアウォールとはホストOSのファイアーウォールの> ことで合っていますか?
ファイアウォール としてゲストOS(仮想マシン)を1台立てています。
> となると、仮想化基盤サーバ管理ポートとは何を指すのでしょうか?
仮想化基盤サーバ管理ポートは、ホストOS(VMwareESXi)へのログイン、設定変更を行うための通信用ポートです。
仮想化基盤サーバの内部構成として、物理ポートに対して内部的にvSwitch(仮想L2スイッチ)が1つ接続されています。物理ポート対向のvSwitchポートがタグVLANで通信を受け取ります。各仮想マシンが接続されているvSwitchのポートをポートVLANに設定しVLANをバラすことで、仮想サーバごとにどのVLANに所属させるかをコントロールしています。
> また、こちらのネットワークを構築する際に参考にしたページ等あれば教えていただけるとありがたいです。
基本的には、仕事上の経験をもとに設計を進めました。
市販の書籍は確かに基礎知識を勉強する上で役に立つのですが、世の中のネットワークを知る上では内容が不足しています。
様々な企業のネットワークに触れられる、保守運用サービスを行なっているようなSIerの現場に参画する機会があれば、そこでネットワーク構成に関する知見を深められるのではと考えています。
mamls6