質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.45%

  • TCP

    190questions

    TCP(Transmission Control Protocol)とは、トランスポート層のプロトコルで、コネクション型のデータサービスです。

  • IoT

    72questions

    IoT(Internet of Things)とは、インターネットがコンピュータなどの情報・通信機器のネットワークだけでなく、世の中のある様々なモノに接続されて自動認識・自動制御・遠隔計測などの能力を備えることです。「モノのインターネット」と一般的にいわれます。

  • IPv6

    46questions

    IPv6は、インターネットプロトコルの一つ。主流となっているIPv4に変わるものとして設計されました。IPアドレスの需要の増大を予見して開発されたもので、従来よりも多くのIPアドレスの作成が可能です。

ルーターとIotを接続する際のIP設定

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,508

arare17

score 17

ルーターを色々なIot機器に接続するときにIPアドレスの設定についてお伺いさせてください。

1つのルーターで自宅の複数の機器(Web Camera、Network Printer等)に接続するとします。
自宅のLAN内では個別にそれぞれの機器にDHCPサーバーを活用してIPアドレス&ポートが割り振るとします。

(1)
これらの機器が、外部サーバーに接続した場合、送信元はパブリックIP&ポートとしてTCP/IPパケットが送信されるでしょうか。
或は、ルータ内の機器が特定できるような送信元でパケット送信するといったケースもあるでしょうか。

(2)
仮に前者とした場合、外部サーバーが応答するときに、パブリックIP向けにパケットを送信した場合、返信先パブリックIPアドレス&ポートになるでしょうか。或は、ルーターのローカル機器が特定できるような送信先にするのでしょうか。

基本的なことで恐縮ですが、機器の設定をしているうちに混乱してきてしまったため、差支えなければご教示頂けると幸いです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

お答えします。

(1)はYESです。
ただしルータでNATもしくはIPマスカレード機能を用いて、プライベートアドレス/ポートとグローバルIP/ポートの変換設定をしなくてはなりません。
そうればパケットがルータを通過するとき(In/Out両方とも)送信元アドレス/ポート(自分側から見て)を書き換えてくれます。
パケット送出時はプライベート→グローバル、パケット受信時はその逆の変換をしてくれます。
またルータにファイアウォール機能があるなら(大抵あると思いますが)、その設定も変更して内部の機器(Webカメラ、プリンタ)が外部のデバイスに接続できるようにする必要があります。

(2)もYESです。
外部サーバは当然グローバルIP/ポートで通信をします。
パケットの戻り先は(1)で書いたルータに設定したグローバルIP/ポートになります。
そのパケットを受け取ったルータが、NATまたはIPマスカレード設定に基づいてプライベートIP/ポートに変換してもともとの通信相手であるWebカメラやプリンタにパケットを転送します。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/11/17 09:04

    質問編集を受けて補足します。
    外部と接続させたい機器は、LAN内でDHCPではなくIPアドレスを固定にした方がよいと思います。
    ルータによってはNAT/IPマスカレードやFWルールに固定的なIPアドレスしか設定できないものも利ます。

    キャンセル

  • 2016/11/17 09:16

    早速にありがとうございます。大変勉強になります。一点、「ルータでNATもしくはIPマスカレード機能を用いて、プライベートアドレス/ポートとグローバルIP/ポートの変換設定」する必要があるのは、どういった理由でしたでしょうか? 

    例えば、機器のLAN内のプライベートIP/ポートが外部サーバーに流出する恐れを防ぎながらも、ちゃんとサーバーからのデータが元の機器に受信できるようにする、といった理由でしょうか。

    キャンセル

  • 2016/11/17 09:29

    端的に言えばインターネットにプライベートIPアドレスを持つ通信は流せないからです。
    その際の変換パターンには2通りあって…

    NAT → 送信元IPアドレスだけを変換。送信元ポート番号は変換しない。
    IPマスカレ → 送信元IPアドレスと送信元ポート番号の両方を変換する。

    なぜこの2つの方式があるのかというと、NATだとインターネットに接続したいホストの数だけグローバルIPが必要になるからです。
    ただ、例えば一般家庭の場合だとグローバルIPアドレスは1つしかもらえないケースがほとんどだと思います。
    その場合はIPマスカレを使って、IPアドレスとポート番号を組み合わせてLAN内の機器をルータが一意に特定します。
    外部サーバに接続する際、送信元ポート番号は不定(1024以上)になりますが、ポート番号変換はルータ側で管理してくれます。

    LAN内機器のセキュリティ対策としては、大抵のルータにあるファイアウォール機能を利用します。
    大抵の機器では初期設定で基本的には「LAN→インターネットへの接続は全許可」「インターネット→LANへの接続は全拒否」だと思います。
    それで問題はないと思いますが、気になるならLAN発通信も限定してもよいと思います。
    ちなみに、自分が接続元となった通信の戻りパケットに関してはファイアウォールルールに追加する必要はまずないです。
    余程古い機器でない限り、ルータ側で通信状況を把握していて(セッションテーブル)自分側発通信の戻りとインターネット側発通信は適切に区別して、前者は許可し後者は遮断してくれます。

    キャンセル

  • 2016/11/17 09:52

    大変詳細なご回答ありがとうございます。とても勉強になりました!

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.45%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • TCP

    190questions

    TCP(Transmission Control Protocol)とは、トランスポート層のプロトコルで、コネクション型のデータサービスです。

  • IoT

    72questions

    IoT(Internet of Things)とは、インターネットがコンピュータなどの情報・通信機器のネットワークだけでなく、世の中のある様々なモノに接続されて自動認識・自動制御・遠隔計測などの能力を備えることです。「モノのインターネット」と一般的にいわれます。

  • IPv6

    46questions

    IPv6は、インターネットプロトコルの一つ。主流となっているIPv4に変わるものとして設計されました。IPアドレスの需要の増大を予見して開発されたもので、従来よりも多くのIPアドレスの作成が可能です。