ヘアピンNATとは??

Blog

iPhoneで外から家電を操作する場合、当社では通常VPNかポート転送を使った方法を採用しています。もしも後者を採用した時、そのルーターがヘアピンNATに対応していたら、プログラマーにもユーザーにも便利です。今回はそのヘアピンNATについてご説明致します。

iPhoneはIPアドレスを頼りにコントローラーに接続

あなたはiPhoneからCommandFusionやクレストロンなどのコントローラーを介して家電を操作するとき、そのアプリには必ずコントローラーのIPアドレスが指定されています。
アプリ起動 =>コントローラーと接続 =>家電が制御できる。

という流れです。

条件1.ローカル(宅内LAN)限定で仕様する場合

宅内LANを使った家電を操作する場合、アプリ製作者は192.168.xx.xxなどのローカルのIPアドレス(プライベートIP)をアプリに仕掛けておきます。これでアプリを起動したらコントローラーにたどり着くので、それを介して家電をコントロールできます。WAN側のIPアドレスは関係ありません。

ヘアピンNAT1

条件2.外から操作する場合はグローバルIPアドレス

外から操作する場合、グローバルIPアドレスを指定してコントローラーにたどり着きます。

1.アプリ側にWAN側のIPアドレス(グローバルIP)を仕込む
2.ルーターにポート転送の設定。

ヘアピンNAT2

実は外からの操作は作り手・使い手どちらも面倒

上の2つでお気づきの方もいるかも知れません。

  • プログラマー・・・外用と中用、両方を作成しないといけない。
  • ユーザー・・・家の中と外出先で、操作アプリの切り替えが必要。

まずプログラマーにとって、導入後のちょっとした変更でも外用・中用の両方を変更しないといけません。
ユーザーは操作する場所に応じてプログラムの変更が必要になります。更にWiFiの電波が微妙な所だと、「押しても動かない」ということが起こります。実は外からの操作というのは技術的なことよりも、運用面で面倒なことが多いのです。

ヘアピンNAT対応ルーターを採用すれば「外側のみ管理」でOK

条件3.「WANはLANを兼ねる」のがヘアピンNAT対応ルーター

この問題を解決してくれるのが「ヘアピンNAT対応ルーター」です。
まず外からの操作の時は、は上の“条件2”の図と同じく、ポート転送によって指定のコントローラーに誘導してくれます。
さらに家の中で操作したとき、接続先が自分のWAN側と分かったら中(LAN側)に返してくれます。
この場合においては、「大は小を兼ねる」と同じで「WANはLANを兼ねる」と言ってもいいでしょう。

ヘアピンNAT3

これでプログラマーは外用だけに専念すればいいです。またユーザーも切り替えなくていいので、どちらにとっても好都合です。

条件4.もしもルーターがヘアピンNATに対応していないと永遠に接続できない

逆にヘアピンNATに対応していないルーターだとどうでしょう。自身のWAN側のIPアドレスを指定すると、中に返してくれません。

Siwthch

まとめ

残念ながらメーカースペックに「ヘアピンに対応-非対応」の記載は無い

「だったらヘアピンNAT対応のもの選べばいいだけ!」と思った人も多いと思います。
ところがメーカースペックには、ヘアピンNAT対応ルーターかどうかの記載は通常ありません。
↓こちらのサイトにリストがあります。サイト主の方も当社も保証外なのでご理解下さい。
http://natloopback.web.fc2.com/list.html

コメント