ヘアピンNAT への対応

ヘアピンNAT 問題

ある団体でWeb サイトを立ち上げ、そこのWebmaster をしているが、インターネットからのアクセスはできるものの、サーバー設置の事務局内からのアクセスができないという状況が生起している。普段はリモートメンテナンスをしているので問題ないと思っていたが、やはり事務局内からのアクセスも必用だとの声も理解できるため、その原因を探ってみた。事務局設置のルータがヘアピンNAT に対応していないのではないかと想定し、その対策を講じてみた。

問題の解決方針

ヘアピンNAT 対応ルータの調達や、内部でDNS を立ち上げる等の解決策があるようだ。内部の問題は内部で解決するということで、今回は経費も抑えたいので後者の方式を採用することとした。現在運用中のルータ(GE-ONU PR-S300HI)に内部DNS 設定の項目があるので、それを活用して内部だけのDNS(再帰的な動作をしない) モードで軽易にできるやり方を試みた。

DNS の立ち上げ

DNS は以前にも何度か立ち上げたことがあるので、単純な設定と甘く見ていた(最近、この傾向が多い)が、bind9 の設定に少しハマってしまった。パッケージやOS のディストリビューションにおいて設定ポリシーがあり、それによってファイルやディレクトリが分かれているので、そのポリシーを良く理解することが大事だと改めて気付かされた。また、それぞれの環境によって設定のやり方は微妙に変わってくる。動き出したら大抵それまで実施したことの整理を放ったらかしにしてきたツケである。面倒臭く感じること無く、いつも地道にやっていくことが大事だと痛感した。ここまでは、リモートで実施出来た。あとは現地での実装である。

実装

いよいよ現地で実装の段階になった。予想ではPR-S300HI のDNS 設定をすれば簡単にできるはず。早速ルータのメニューを呼び出して設定することに・・・。ドメイン名とDNSサーバアドレスの設定をして、設定をクリックすると、使えない文字があるとエラー表示、、えっ・・・!? もしかして、ここでもハマリ? DNSサーバアドレスが違う?
こんな時こそ、マニュアルをググってみると・・・、なんと指定するのはIPv6 のアドレスとか。へぇー、まじか。というわけで、設定は出来た。早速Windows から確認してみると、ローカルのDNS がうまく動作しているようで、サーバ証明書との相性もよくhttps でサイトの情報を閲覧することができるのを確認。ホット一息。動き出すと、なんか可愛く見えるPR-300HI。というわけで、確認も含めて一時間弱で終了。ハマリとしては浅かった。これまでの懸案だった問題もヘアピンNAT 問題ということも確認でき、まずは解決。

後日談

サーバーをリモートでチェックしていた時に、ローカルのDNS を呼んでいる筈なのに、そうなっていないことに気付く。えっ!? もしやと思い、resolv.conf をチェックしてみると、なんと外のDNS が設定されていた。早々にDNS をルータに向けると、正常に機能するようになった。お陰で一つサーバーの警告が一つ消えた。ちょっと、ここは宿題かな。

教訓

  • 問題点の全てを事前に検討し尽くすことは難しく、まずは具体的にやってみて問題ではない所を潰していくやり方が必要
  • エラーが出たら、マニュアルという基本を忘れない
  • IPv6 の扱いも慣れておく

ヘアピンNAT への対応” に対して1件のコメントがあります。

  1. tokky より:

    自己フォローとして・・・。

    ルータの設定を整理するために設定を変更して、最立ち上げをしたところ突然外部からのアクセスができなくなった・・・。えっ?
    何のことはなく、最立ち上げによりGlobal IP が再設定されたことによりDDNS への反映がされなかったことによる問題。気付くのに暫くかかった。色々やっていたので、つい再設定の影響を疑ってしまい混乱してしまった。IP を確認してDDNS サイトにアクセスして設定を更新したら解決。普段であれば分かっていることも、設定に集中していると、つい踏んでしまう落とし穴だった。思考の器が小さいと改めて自覚・・、もともと器が大きい人間でもないので当たり前か。。

コメントを残す

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