• ベストアンサー

ポートの開放

バッファローのあるルータを使っています。 ポートの開放は下図のようにアドレス変換でうまくいきました。 http://www.yagiq.mydns.to/saba/saba-5-1.html 本題ですがパソコン3台に同じポートを割り当てる必要性が生じました。 それで3つアドレス変換のところで作成すればいいのかなと思いました。 ところが同じポートは2個以上登録できないようなのです。 1個のポートにつき1台分のIPしか登録できないようなので困っています。 1個のポートで複数台分のIPアドレスを登録できれば解決しますが何か方法がありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.6

#5さんの説明がよく分かりますが、もう少し簡単に説明します。 まず最初に、普段ネットを閲覧しているときはこちらが要求を出す側なのです。 所在がはっきりしっていますので何台つないでも問題なく稼働できます。 ポートの開放とはいってみれば自分のパソコンがサーバになることを意味します。 これは少し驚かれたことでしょう。つまり接続は外部から勝手に来るということです。 これら外部からの接続要求は危険なものも多々あるので、ポートは無闇にあけない方がいいのです。 これで通常のWeb閲覧とポートの開放の違いが何となく分かって頂けたでしょう。 さて、外部から勝手にやってくる接続要求は端末を識別できるわけがありません。 したがってこちら側で目的の端末に誘導してあげる必要があります。 この誘導がアドレス変換でポート解放ではありません。 しかし、アドレス変換をすれば同時にルータのポートも開放されるので そういう意味では同意義になります。場合によっては的はずれにもなります。 誘導先が複数あってもルータで1つしか処理できません。 ルータの規格がそれだけの仕様しかないためです。 ソフトの仕様がよく分かりませんが、4台つなげたいというのなら 間にゲートウェイサーバーを挟んで、そこで高度な管理はできます。

D-1coffee
質問者

補足

回答どうもです。これ分かり易くていいですね。 やはり外と内の違いですか。 サーバになるというのが目からうろこです。 びっくりしました。ポート解放はそういうことだったんですね。 >ルータの規格がそれだけの仕様しかないためです 結局そこになってしまうのですか。仕様といわれれば諦めるしかないです。 ゲートウェイサーバ0とかいわれるともうお手上げ。さすが専門家さんのお話です。

その他の回答 (5)

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.5

>じゃあ、普段3台とか4台繋いでネットしているときはどうやって識別しているんですか! LANの内側から外へ(アウトバンドという)の場合は、ルータが処理します。 PC-AとPC-BでWebを見ている場合… PC-Aから出てくるパケットには、「サーバのIPアドレス」「サーバのポート番号(クカカセなので通常は80)」「PC-AのIPアドレス」「PC-Aが接続に使用したポート番号(Socketドライバが適当な番号を割り振り)」が ルータに渡されます。 そして、ルータがサイトにパケットを中継するときに、「PC-AのIPアドレス」「PC-Aが接続に使用したポート番号」を「ルータのWAN側IPアドレス」「ルータが任意に設定したポート番号」に書き換えてパケットを投げます。 この時、「PC-AのIPアドレス」「PC-Aが接続に使用したポート番号」と「WAN側IPアドレス」「ルータが任意に設定したポート番号」を記録しておいて、 サーバから戻ってきたパケットのヘッダを見て振り分けます。 # PC-Bからのパケットも同様の方法で処理します。 接続を開始したのはLANの内側からなので、ルータはそれぞれのPCをIPアドレスで区別できます。 NATとか言われますね。 http://www.geekpage.jp/technology/nat/whatis-nat.php 接続開始が外からだった場合、ルータはそのパケットをどこに転送するのか判らないので破棄します。 しかし、「このIPアドレスからの接続で、このポート番号のパケットは192.168.1.1のPCの25番ポートに転送して」というような設定があれば ルータはそれに従い転送できます。 が、通常はこの「192.168.1.1」等の転送先は1つしか設定できません。 よって、「同じポート」という条件では1つしか設定できません。 # UDPパケットというタイプのモノであれば、パケットを投げつけるだけなので「ブロードキャストアドレス」が設定できれば # LAN内の全てに対して投げることは可能です。対応しているルータはそう多くないようですが。 # 接続元のIPアドレスの範囲が絞れる場合、そのように設定すれば個別に割り振ることは原理的に可能です。 # こちらも対応しているルータがあるか不明ですが。 ## 何番ポートをどのように使いたいんでしょうか??

D-1coffee
質問者

お礼

回答ありがとうございます。 なるほど内側から送るか外側から来るかの違いですか。 それでこちらからやるときは3台でも4台でも平気で接続できて ポート解放のときは1台だけしかできないと どうもポート解放というのを甘くみていたようです。 いや、奥が深いのですね。 そこそこ知っているつもりでしたが、中途半端だったのですごく混乱してしまいました。

  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.4

現実問題として、無理だと思ってください。回避策が無くはないですが(後述)、それが何らかの理由で採用できないのであれば、もっと大量にお金が必要になります。 > どう違うのか説明してもらえますか。 専門家とは違いますが、説明しておきます。 厳密に言うと、「ポートの開放」というのは特定の宛先ポートへのパケット通過を許可することです。 また、「アドレス変換」はIPアドレスを所定のルールで変換(して転送)することを指します。 さて、質問者さんが設定された「アドレス変換」は、正確に言うと「ポートアドレス変換」と呼ばれるものになります。(ここから先、TCP/IPの専門的な話になってくるので判らないところは別途調べてください) これは、ルータのインターネット側インタフェースに割り当てられているグローバルIP(仮に"a.b.c.d" とします)と TCP(またはUDP)のポート番号(仮に"p"とします)に当てて送信されたパケットを、LAN内の所定のIPアドレス(仮に "w.x.y.z" とします)の所定のポート(仮に "pp" とします)に転送する操作です。 パケット的に見ると、IPアドレスとポートの組み合わせがルータを通過する際に  a.b.c.d:p → w.x.y.z:pp という形に変換されます。 このとき、パケットの転送を行うためには、"a.b.c.d:p" と "w.x.y.z:pp" の組み合わせは1対1でないといけません。組み合わせが複数会ったとき、例えば "a.b.c.d:p" → "w.x.y.z:pp" "a.b.c.d:p" → "w1.x1.y1.z1:pp" となっていた場合、"a.b.c.d:p" 宛のパケットを、内部のどちらに転送して良いか、ルータは判断できなくなりますから、このような設定はできないことになります。 なので、このような場合は、 "a.b.c.d:p" → "w.x.y.z:pp" "a.b.c.d:p1" → "w1.x1.y1.z1:pp" "a.b.c.d:p2" → "w2.x2.y2.z2:pp" のように、ルータの方で受け付けるポート番号を変えてやることで回避します。この場合、アクセスする側は "a.b.c.d:p" "a.b.c.d:p1" "a.b.c.d:p2" を使い分けなければなりません。 もしもこの方法が採れないのであれば(そして質問文からはそう読み取れる)、現状のままでは対応は原理的に不可能ですのでNo.1、No.2の方は「できない」と回答されているわけです。 実のところ、他にも方法はあるのですが、内容が専門的になる上、費用もかかってしまうのでここでの説明は省略します。

D-1coffee
質問者

お礼

ご回答ありがとうございます。 なるほどアドレス変換とポートの開放は違いのですね。 後半のご説明はいいたいことは分かるのですが、 なら分かるようにパケットにつければいいじゃないかというのが感想です。 それにパケットの識別はできなくても、そのまま4台に同じものを送ってくれればいいのです。

  • stsu
  • ベストアンサー率62% (83/132)
回答No.3

ポートの開放とアドレス変換は違いますよ。 現時点では1台のみアドレス変換で通信できているようですが、 利用可能なPCを3台にしたいのなら当該通信に使用するポートを 開放すれば可能になるはずです。

D-1coffee
質問者

補足

回答すみません またまた混乱してしまいました。 前の方二人はできないといい、こちらの専門家さんはできるという。 >ポートの開放とアドレス変換は違いますよ そうなんですか! 私はPDFやWEBを参照しながらやっとこで設定しました。 どこも同意義に書かれていましたが、違うと明言されると混乱しています。 専門家の方のようですし、どう違うのか説明してもらえますか。

回答No.2

外向けのIPアドレス(グローバルIPアドレス)は一つです。その一つに向かって入って来たものを複数に振り分ける事は、何らかの振り分け条件が無い限り無理です。 現実社会で例えると、グローバルIPアドレスはマンションの住所のようなもの。ポート番号は部屋番号のようなものです。同じ住所で同じ部屋番号なのに、複数に振り分ける、と言うような事は出来る筈がありません。 もしどうしても、と言う事でしたら同じ部屋に複数の人が住んでいてその本人を指定するように、条件によって振り分けると言う事は不可能ではありませんが、当然それには何らかのしくみが必要になります。言う程簡単ではないと思います。 参考まで。

D-1coffee
質問者

補足

ご回答すみません。 うーん、分かったような分からないような感じです。 前の方もできないといっていますが、 普段3台とか4台つないでいるときは同時にネットできるんですよね? この違いがイマイチ分からないのですが、考え方がおかしいのかな。 それと今回の件は端末を識別できなくてもいいです。 全部に同じ内容を送ってくれれば構いませんので振り分ける必要はありません。 何か方法ありませんかね。

  • Mattise
  • ベストアンサー率45% (28/61)
回答No.1

ありません。 仮に設定できたとしても、通信相手先がその3台のPCそれぞれを識別できないので 結局は無意味です。

D-1coffee
質問者

補足

ご回答すみません >通信相手先がその3台のPCそれぞれを識別できないので結局は無意味です。 それぞれ識別できないっておかしくないですか? じゃあ、普段3台とか4台繋いでネットしているときはどうやって識別しているんですか!

関連するQ&A

専門家に質問してみよう