MikroTik Routerルーターのポートフォワーディング/Hairpin NATの設定方法
あ〜、MikroTik Routerでポートフォワーディングを設定したのに、 なぜか外部からドメインまたはIPアドレスでアクセスするとポートフォワーディングは正常に動作するのに、 内部からドメインまたはIPアドレスでアクセスすると動作しない問題が発生した。 リクエストしたIPと応答したIPが異なるため、接続が失われてし

あ〜、MikroTik Routerでポートフォワーディングを設定したのに、 なぜか外部からドメインまたはIPアドレスでアクセスするとポートフォワーディングは正常に動作するのに、 内部からドメインまたはIPアドレスでアクセスすると動作しない問題が発生した。 リクエストしたIPと応答したIPが異なるため、接続が失われてし

あ〜、MikroTik Routerでポートフォワーディングを設定したのに、 なぜか外部からドメインまたはIPアドレスでアクセスするとポートフォワーディングは正常に動作するのに、 内部からドメインまたはIPアドレスでアクセスすると動作しない問題が発生した。
リクエストしたIPと応答したIPが異なるため、接続が失われてしまうようだ。
https://forum.mikrotik.com/viewtopic.php?t=172380
https://www.youtube.com/watch?v=1I5FywY6opQ
https://www.youtube.com/watch?v=daGs-P-ROj4
記事やYouTubeの動画はいくつもあるが、
試してみても動作しないことが多かった。もちろん、私の設定が間違っていた可能性もあるが、
外部IPアドレスそのものを登録すると、IPアドレスが変わるたびに変更しなければならないので、かなり面倒だ。
そこで、検索して見つけた方法を共有する。
以前説明した方法は使わない。

localに設定する。この2点が異なる。
理由はよく分からないが、この設定でもポートフォワーディングは正常に動作し、外部からも問題なくアクセスできる。
ここまでの設定だけでも、実際にはHairpin NATを設定する必要はない。
念のため、Hairpin NATの設定も追加してみよう。


Src. AddressにはIPアドレスの範囲を、
Dst. Addressにはゲートウェイを入力する。
(ただし、前にNot !を付ける必要がある。つまり、10.10.10.254ではない場合、という意味だ)
と入力する。
これでHairpin NATが設定されるそうだ。
では、ポートフォワーディングを設定するときは、従来の設定は忘れて、ここで説明したとおりにだけ設定しよう。
あ……これもとても重要だ!! UDPを許可していなかったため、Discordのボイスチャンネルなど、UDP通信が必要な機能がすべて動作していなかった……
これを一生懸命探そうとしたが、原因がよく分からず、設定もできずにいたところ、TraefikのDNSドメインHTTPS認証の過程で記録されたログを見て、UDPの問題だと分かり、修正した。


とても簡単で、上記のTCP Hairpinと同じように、UDPも追加すればよい。 以上。