質問: 遠隔地でUDP通信を行うために両方の拠点に同じルータを設置しました。そのルータがUDPの送信元ポート番号を書き換える現象が発生しました。具体的に・・ ・拠点A内の機器からUDPパケットを送信 送信元IP(ルータ):100.100.100.10 送信元ポート:5000 宛先IP(ルータ):100.100.100.20 宛先ポート:5000 拠点Bではこの5000宛てUDPパケットをDNATでローカル機器に転送する設定になっています。そして拠点Bのローカル側で到達したパケットを確認した内容が下記です。 ・拠点B内の機器でUDPパケットを受信 送信元IP(ルータ):100.100.100.10 送信元ポート:60000 宛先IP(ルータ):100.100.100.20 宛先ポート:5000 送信元ポート番号が勝手に(しかも固定的な感じで)書き換わっています。この現象は拠点のAとBを入れ替えても同じ事が起こります。 そこで「ルータとしてこのような動作は普通のことなのか?」ということを教えて下さい。個人的にはバグなんじゃないかなと思っているのですが、私が知らなかっただけで普通に行われることなのかもしれません。ただソフトとしては送信元ポートを使って応答することも多いと思うので、こういう動作はいろいろ動かなくなってしまうんじゃないかと思うのです。 よろしくお願いします。 追記1: なお、ルータの外に出ないパケットはこのような書き換え現象は発生しません。例えば拠点A内機器から同じ拠点A内機器に通信するときは発生せず、WAN側から入ってきたパケットに対してこのような操作を行っているようです。 追記2: 本ルータのDNAT仕様について、設定できる項目は下記の通りです。 DNAT有効:有効/無効 変換対象宛先ポート番号:1-65535 変換対象宛先IPアドレス:IPv4 プロトコル:TCP/UDP/BOTH 変換後宛先ポート番号:1-65535 変換後宛先IPアドレス:IPv4 宛先ポート番号を評価・変換する機能はありますが、送信元ポート番号については入力するところがありません。
回答: こんにちは。 > > そこで「ルータとしてこのような動作は普通のことなのか?」 > > > そのような機能を持っているルータは有ります。(たぶん「普通」にあると思います。) そのようにルータを設定するかどうかはケースバイケースなので、そのルータの管理者へお尋ねになるのが良いと思います。 ところで、アドレス変換していないのでDNAT機能は持っていてもDNATとして設定していないように見えます。 更にもう1つ。ご質問で使われているIPアドレスに違和感が強いです。今時、LAN側のアドレスとしてグローバル・アドレスを使える組織は数少ないと思います。拠点A/B内ではプライベート・アドレスを用い、WANへ出て行く際にNAPTルータを通してIPアドレスとポート番号の両方を書き換えるケースが多いと聞いています。 本当に拠点A, B内の機器にグローバル・アドレスが割り当てられているのでしょうか? 【追記】 ああ、書いている内に補足されてました。 やはり内部アドレスはプライベートなのですね。であれは、NAPTルータでインターネットへ接続することは極普通のことです。NAPTルータはアドレスとポート番号の両方を変換します。