Yes, I'm really enjoying everything!

smilemark blog

Computer & Network 自宅サーバ日記

またまたサーバのネットワーク構成を変更

投稿日:

先日のネットワーク構成はやっぱりデメリットがデカイ。

  • サーバを再起動したらしばらくインターネットからウェブサーバが見えなくなる
    サーバを再起動するとPPPoEが切れるのでGlobal IPアドレスが変わってしまう。DNSが更新されて新しいアドレスが伝搬されるまでの間、インターネットからウェブページが見えなくなってしまう。長いと小一時間インターネット上から見えなくなります。間貸しもしているので忍びない。
    せっかくサーバで遊びたいのに、これじゃおちおち再起動できません。
  • サーバのPPPoEが切れたら手動で再接続しないとならない
    どうやらプロバイダのPPPoE仕様はシングルセッションみたい。サーバからPPPoEするには手動で一旦Home Gatewayのネット接続を切断しないと繋ぐことができない。
  • LAN内からのサーバへのウェブアクセスもインターネットを介してしまう
    Global IPが引かれるので一旦外に出て行ってしまいます。自宅内からのアクセスなのにスッキリしないですね。それにLANでアクセスできればギガビットですし。

ということで再びネットワーク構成を変更。

サーバをLAN内に置いて、サービスするポートだけをHome GatewayからPort Forwardします。

LAN内からサーバのウェブにアクセスできるようにローカル用のDNSを用意。
ローカルDNSはサーバで行っているウェブのホスト名だけをLocal IPで返して、それ以外はインターネット上のDNSに問い合わせるように設定。これにはややこしいnamedなんかなじゃなくて、こういう用途にぴったりのお手軽なdnsmasqを用いるのがいいです。

このローカルDNSをHome GatewayのプライマリDNSに設定。セカンダリはインターネット上のDNS(うちはGoogle Public DNSを使っています)を指定しておく。

サーバが落ちているとセカンダリDNSに切り替わるわけだけど、この時のタイムアウト時間ってどれくらいなんだろ。それが少し気になるけど、サーバが落ちていることは滅多にないからまぁいいか。

こんな構成になります。

IMG_0063

設定してみたところハマりました。
プライマリDNSに、サーバ上のローカルDNSを指定したけどアクセスできない。う〜ん、なんだろう、と悩んでみたところ、どうやらLAN内のDNSにはアクセスできないみたい。orz

さて困った。
何か方法がないものかとHome Gatewayのマニュアルをよく読んでみました。するとDNSルーティングという機能があることを発見。
指定したホスト名を引くためのDNSとつながり先のGatewayが指定できる機能です。ラッキー。
ここにローカルDNSで解決するホスト名とDNSとしてローカルDNSを指定することで解決できました。
これだとローカルの名前解決の時だけローカルDNSを使うので、メンテなどでサーバを落としてもDNSを参照する機器のパフォーマンスが落ちないのはGoodですね。

これで高価な商用ルータを買わずにうまい構成にできました。^^

-Computer & Network, 自宅サーバ日記

Copyright© smilemark blog , 2024 All Rights Reserved Powered by STINGER.