- ベストアンサー
ルーターの静的IPマスカレード機能を利用したサーバーの公開
固定IPアドレスを1個取得しました。 この固定IPアドレスをルーター内蔵型ADSLモデムのADSL側インターフェースに設定しています。 サーバー機にはプライベートアドレスを割り当てて、このADSLモデムを経由してインターネットに接続しています。 インターネット側からサービス要求があった場合は、このADSLモデムの静的IPマスカレード機能を利用してサーバー機に転送しています。 今回、固定IPアドレス取得に伴いDNSサーバーをインターネットに公開しました。 DNSの設定は無事に終了し、インターネット側から自宅サーバーへのアクセスに成功しました。 しかし、なぜか自宅内からは自宅サーバーにアクセス出来なくなってしまいました。 恐らくDNSの設定を変更したことが原因と思われます。 以前までは、例えばwww.ninja.jpのDNS要求に対して192.168.1.130のように名前解決が行われサーバーにアクセスできたのですが、 今回、www.ninja.jpのDNS要求に対して200.200.200.200のように取得した固定IPアドレス(ルーターのアドレス)を返すように変更したのです。 普通に考えれば、その後ルーターのIPマスカレード機能により実際のサーバーにアクセス出来ると思っていたのですが、どうもうまくいきません。 なのでLAN内専用のDNSサーバーを用意し、LAN内から自宅サーバーを利用するときは、こちらのDNSを利用するしかないのかと考えています。 この運用ってどうでしょう。 かなり冗長な運用だと思うのですが。 ルーターの静的IPマスカレード機能を利用してサーバーを公開する場合、このような運用が限界なのでしょうか。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#2,#4です。 > この運用で問題ないですよね。 全く問題ありません。(^^) ところで、今まで(今も?)DNSサーバでプライベートIPを返すエントリがインターネット向けDNSに登録されていた、ということが書いてありましたが、これはあまりお奨めできません。というのも、以下のような理由があるからです。 ・インターネット上に、プライベートIP情報が出るのはルール違反 (ルーティング情報が出ているわけではありませんから、実害があまり無いと言えばその通りですが、ほめられたことでないのも確かです) ・外部の人間に、内部LANの構成を推測させるヒントを与えてしまう。(セキュリティ的にまずい) 小規模なネットワークであればさほど大きな問題にはならないかもしれませんが、企業LANなどでは相手に侵入や攻撃の糸口を与えることになりかねません。 このような場合、内部は全く別のドメイン(サブドメインでもOK)で運用して、DNSサーバ側で、そのドメイン内の名前解決はLAN内からしかできないようにする、という方法が考えられます。 今後ネットワークを構築・変更する機械がある場合はご注意ください。 では
その他の回答 (4)
- Toshi0230
- ベストアンサー率51% (836/1635)
> LAN内にDHCPとかが動いているサーバーがありますので、こいつにLAN専用のDNSを入れようと思います。 了解です。 じゃ、老婆心ながら2~3点ほど注意点を。 ・LAN内のDNSを設定するときに、インターネット上のドメイン名の名前解決もできるようにしておいてください(forwardでもいいですし、ルートから再帰検索する方法でもかまいません) ・LAN内PCのDNS指定は、LAN内のDNSサーバを参照するようにしてください。 当たり前といえば当たり前のことなんですが、これに関する質問が過去にいくつかあったもので。
お礼
老婆心だなんて、とんでもない。 再レスが来るのは、かなり嬉しいことです。 今、私の部屋では2台のサーバー機(mouse、cat)が動いています。 このうちmouseの方でDNSが動いており、インターネットに公開しているのもmouseサーバーです。 今回、catにDNSを入れたら、LAN内の全ての端末がcatにDNS要求を行うようにします。 mouseサーバーのリゾルバ設定も、自分自身のDNSを見るのではなく、catにDNS要求を出すようにする予定です。 mouseサーバーのDNSはあくまでインターネット側専用とする予定です。 なぜなら200.200.200.200(ルーター内蔵型ADSLモデムの外側インターフェース)はインターネットからしか見えないからです。 mouseが自分自身のDNSを参照してしまうと自分自身(192.168.1.130)にアクセスしたいとき、ルーターのアドレス(200.200.200.200)が返ってきてしまい通信が出来なくなると思います。 この運用で問題ないですよね。
- w210
- ベストアンサー率38% (92/238)
>つまるところはルーターの静的IPマスカレード機能は外部からのアクセス専用で、LAN内からは利用することは不可能という認識でよろしいでしょうか。 そうですね。そういう意味ではできないです。ちょっと説明すると、 一般的にはインターネット側とイントラ側の間にF/Wを置いて、このF/Wからさらに別LANを構築してDMZとします。サーバはここに置きます。これで、インターネットからイントラへの直接のアクセスができなくなりセキュリティを確保します。そしてイントラからもF/W経由でアクセスできるようにします。これが一般的なサーバ公開の構成です。 ここで、インターネットからアクセスするときはグローバルIPになるし、イントラからアクセスするときはプライベートIP(というか実IP)になります。この変換はF/Wで行います。質問者さんが言われるようにイントラからサーバをアクセスするときGIPでアクセスする=インターネット経由ということになり、IEの例外を削除してPROXY経由にすればインターネット経由でアクセスすることになります。これはサーバの動作を確認するために普通に行います。ですのでGIPは公開用のIPアドレスという位置づけになり、これと実IPを結びつけることをします。このときにIPマスカレードをしている状態になります。普通にNAT変換と言ってます。 ちなみにインターネットからサーバへはhttp(https)のみですが、メンテナンスはhttpだけではなくTELNETとかFTPとかいろんなAPを使いますからこのポートをF/Wに開けて通信ができるようにしておきます。 なかなか言葉では説明が難しいですね。お分かりいただけましたか?
お礼
w210さんの説明を私の環境に置き換えると、 まずADSLモデムがファイアウォールですね。 このモデムのLAN側インターフェースは1個しかないのですが、 仮想DMZホスト機能というものがついています。 この機能を使ってLANをサブネットに分割し、公開用のサーバーを192.168.1.128/255.255.255.128という仮想DMZ領域に設置しています。 なのでインターネット側からアクセス可能なのは、この仮想DMZ領域に設置してある端末だけとなり、イントラ側のセキュリティを確保しています。 IEの例外とかは、設定したことがないので分からないのですが、 今までの運用では1個のDNSサーバーに全てのサーバーを登録していました。 例えばmouseは200.200.200.200(グローバルアドレス) catは192.168.1.2 hedgehogは192.168.1.130 のように登録していました。 これによりインターネットからmouseサーバーが利用でき、 またLAN側からmouseサーバーを利用したいときは、hedgehog(実際のアドレス)にアクセスしていました。 なので、TELNETやFTPのポートをファイアウォールに開けずに済みます。 ちなみにcatやhedgehogなどのLAN専用サーバーに関してもインターネット側から名前解決が出来てしまいますが、特に問題視していませんでした。(問題ないですよね) それでは、何が問題だったのかといいますと、もうお気づきかも知れませんが、 そうです、電子メールの配送がうまくできないのでした。 インターネット側からの電子メールを受信するためには、MTAをmouse(公開サーバー)で動かす必要があります。 しかし、メール配送の際にMTAがmouseにリレー要求を出すのですが、mouseだと200.200.200.200(ADSLモデムの外側IP)が返ってきてしまい実際のサーバーまで要求が届かないのです。 このように、結構複雑怪奇なネットワーク構成になっていますが、今回、LAN専用のDNSを立てることにより、一気にネットワーク構成をシンプルにできるような気がします! 関係ないですが、外部からアクセス可能な丸腰のmouse(ネズミ)に対して、 外部からアクセス不可能な、武装したhedgehog(ハリネズミ)。 我ながら、なかなかイカすネーミングだと思いましたw
- Toshi0230
- ベストアンサー率51% (836/1635)
> LAN内専用のDNSサーバーを用意し、 (中略) > この運用ってどうでしょう。 No.1さんの回答にあるとおり、形的には別段不自然な運用ではありません。企業などではよく見られる形です。 もし外部向けDNSサーバも自宅のLAN内にあって、このサーバで自宅LAN内サーバの名前解決も行いたい、ということであれば、DNSサーバをBIND9で構築すれば可能です。 詳しく書くと長くなるので、BINDの参考書か、WWWで公開されている各種資料を参照してください。
お礼
Toshi0230さん、ご回答ありがとうございます。 なるほど、BIND9ではLAN側とインターネット側で違うIPを返す設定が出来るのですね。 しかも、今私が使っているレッドハットには標準でBIND9のRPMが入っていました。 しかし、私が特異だと思っていた運用方法は、実は企業などでごく一般的に利用されている方法ということを知りましたので、DNSに複雑な設定をするのはやめて、やっぱりLAN専用DNSを立てようと思います。 実はすでにLAN内にDHCPとかが動いているサーバーがありますので、こいつにLAN専用のDNSを入れようと思います。 ありがとうございました。
- w210
- ベストアンサー率38% (92/238)
こんにちは。 こういう運用はごく一般的に行われていることです。で、どうやってメンテナンスしているかというと。 ご指摘のとおり内部用のDNSサーバを別に立ち上げます。で、内部でアクセスするときはIEのPROXYの設定で例外にこのninja.jpのドメインを登録しておきます。これで、あなたが内部でアクセスするときは内部DNSで名前解決されインターネットは経由しません。 もちろん、IPアドレスを直接URLに指定すれば良いわけですし、hostsファイルに登録することでも名前解決は優先されます。
お礼
w210さん、ご返信ありがとうございます。 なるほど、公開用のDNSと内部専用のDNSを構築するのは、けっこう一般的なのですね。 これが私の知りたかったことです。 ですので、これが一般的な運用だと分かれば、早速内部用のDNSを設定したいと思います。 もう1つ知りたいことがあります。 つまるところはルーターの静的IPマスカレード機能は外部からのアクセス専用で、LAN内からは利用することは不可能という認識でよろしいでしょうか。 もし、どうにかしてLAN内からでもルーターのIPマスカレード機能を通して自宅サーバーにアクセスする方法があれば教えていただけませんか。
お礼
Toshi0230さん、ご返信ありがとうございます。 やはり、プライベートアドレスを公開DNSに登録するなんて反則ですよね。 現在は、LAN専用のDNSを立て、こちらに移行しています。 公開用DNSにはグローバルアドレスのみ登録しました。 しかし、ドメインを取得してからLAN専用DNSを稼働させるまでの短い期間でしたが、 かなり危険な行為をしていたのですね。 大事なことを教えていただきありがとうございました。 ところで、LAN専用DNSを立ててまもなく、 新たなトラブルが発生し、 早くも、新しい質問を投稿させていただいております。 そして、いくつか回答、アドバイスを頂いているのですが、 実は、未だ解決していません。 Toshi0230さん、もしよろしければ、 こちらの質問もご覧いただけますか。 アドレスは http://oshiete1.goo.ne.jp/kotaeru.php3?q=1571000 です。 以上、よろしくお願いします。