IPマスカレードの参考書を読むと、イントラ側のアドレスをグローバルに変換し、その変換ポートを記録しておいて、応答が戻ってきたら発信元に返す、という記述があるのですが・・・。
ということは、リクエストを出す側 → サービスを行う側 への転送を記述しておけば、その逆方向のパケットは何もしなくても勝手に戻ってくるのでしょうか。

Linuxのipmasqadm portfwでやろうとしているのですが、発信元・発信ポート・送信先・送信ポートを指定してポート転送を設定できますが、同じ考え方で良いんでしょうか?

イントラ側からWebを見るときなど、発信元ポートがランダムに割り振られる~とか読んだのですが、それってこれの拡張なんでしょうか?(^_^;

A 回答 (1件)

例えば、Webを見る場合は、送信先のポート番号は80になります。


そして、送信元のポート番号はランダムに決まります。例では、1としましょう。

そして、Webサーバは要求のあった端末に送信先のポート番号を1とし、送信元のポート番号を80として返信(ページの情報)を返します。

マスカレードでは、最初の要求を送信したときの送信先ポート番号80と送信元ポート番号1のペアと送信元のIPアドレスを覚えておき、返信のパケットの送信先ポート番号1、送信元ポート番号80が帰ってきたときに、本来のIPアドレスに付け直して、端末に送信します。

これによって、1つのグローバルアドレスを用いて、複数の端末が同時にインターネットを可能としています。 このため、もし、ランダムに作り出している、送信元ポート番号が同じになってしまった通信が同時に発生した場合には、通信ができないということが生じます。 こういったことは非常にまれなことですが...

このため、質問にある、事前にに記述をしておくというのは、要求をする端末が出す送信元ポート番号が、ランダムに決定されるため、無理ということになります。
    • good
    • 0
この回答へのお礼

ありがとうございます。ルータの中身を少しだけ理解できたような気がします。

お礼日時:2001/07/09 11:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報