カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

サーバーをプライベートネットワークで運用する場合の注意点

この記事は最終更新日から1年以上経過しています。

ブロードバンドルーターで静的IPマスカレードを使用し、サーバーをプライベートネットワークで運用する場合の注意点をご紹介。

サーバーをプライベートIPで運用する場合、内部での名前解決をしてあげないといけません。

内部からのドメイン名前解決は/etc/hostsファイルに以下のように記述
※ドメインがexample.jp、ルーターが192.168.100.1、サーバーがホストwwwの192.168.100.2とします。

192.168.100.2   www.example.jp

これを書いておかないとサーバー自身でも自サイトを見ることができません。
更に自サイト内でフルパス参照ができません。
※リンクでページを移動するだけなら可能(クライアントの名前解決によるため)

特に複数のウェブサーバーがあり、別のウェブサーバーからデータを
PHP等のプログラムを使って読み出そうとすると、名前解決できずにエラーになります。

他の事例としては、メールサーバーとウェブサーバーが同ネットワーク内に
別に存在する場合で、ウェブサーバーからフォーム等でメールを同ネットワーク内の
メールサーバーで受けているアドレスに送る場合にも注意が必要です。

ウェブサーバーはメールの送信を試みますが、メールサーバーと互いに同じプライベートネットワークに存在するため、メールは送れません。
これはプライベートネットワークのため、互いにグローバルIPでのアクセスができないことが原因です。

例えばドメインはexample.jp、ウェブサーバーのホストをwww(192.168.100.2)、
メールサーバーのホストをmail(192.168.100.3)で、メールアドレスがinfo@example.jpだとします。

ウェブサーバーがinfo@example.jp宛てにメールを配送しようとすると、メールサーバーであるmail.example.jpというサーバーにメールを配送しようとします。
ですが、ウェブサーバーがmail.example.jpのIPアドレスを引くとグローバルのIPアドレスが返ってきます。

しかし、メールサーバーは同プライベートネットワークにあるので、実際はプライベートのIPでアクセスしなければなりません。
そのため、メールが送れないという状況になってしまいます。

それを解決するためには、メールサーバーで管理しているメールアドレスへのSMTP配送経路を指定してやる必要があります。
qmailの場合、/var/qmail/control/smtproutesファイル(なければ作成)にドメインに対するIPアドレスを記述します。

example.jp:192.168.100.3

このIPアドレスにプライベートIPアドレスを指定してやることでプライベートネットワーク内にあるメールサーバーへの配送が可能になります。

この記事がお役に立ちましたらシェアお願いします
4,664 views

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です