![見出し画像](https://assets.st-note.com/production/uploads/images/56539458/rectangle_large_type_2_edd495320e3d29f424525cd131eb89c4.png?width=1200)
【ようやく解決】BuffaloルータでIPv4経由のVPNが繋がらない話
1ヶ月に1度再起動しないとインターネットに繋がらなくなるNECのルータからBuffaloのWSR-5400AX6に乗り換えて、はや数ヶ月。
ネットは早いし安定するしいい事づくめだったのですが、1つだけ大きな問題を抱えていました。それがIPv4だとVPN接続が出来ないという事です。
それがようやく解決したのですが、どこにもこの対処法がネットに載っていなかったので、まとめたいと思います。
1. 構成と症状の確認
我が家のVPNサーバはSynologyのNASにあるVPN Server機能を使っています。ネットワーク構成は至ってシンプルで、ルータ→NAS、以上!です。
ブロバイダ契約は、IPoE(v6プラス)なので、IPv4とIPv6ネットワークの両方が使えます。そのうち、何故かIPv6接続ではVPNが通って、IPv4では通らないという現象が発生していました。
▲何故かルーターのファイヤウォールで弾かれるパケット (UDP connection denied)
2. 設定の再確認
もちろんポートマッピングの設定は済ませてあります。NEC時代の設定をそのまま使い、WANからのアクセスをNASの1194番(OpenVPNの標準ポート)で受けるように設定しています。
IPoE独特の制約で、IPv4側で受けられるポート番号に制約がある事も分かっているので、ルータの「利用可能ポート番号」に従い、そのうちの1つをWAN側の受けポートとして採用し、NAPTを使って1194番ポートへ転送させるという設定です。この設定でNECは問題なく動いていました。
因みにIPv6ではNDフィルタを掛けている関係でIPフィルタ(v6)でNASへの通信を通さないとVPN接続出来なかった為、IPフィルタ透過の設定をしています。ですが、IPv4ではIPフィルタを設定してもしなくてもダメでした。
▲ WAN側アドレスをNASのIPアドレスに変換し、UDP 5xxxx番をUDP 1194番へ変換する為の設定
3. ネットに溢れるポート開放の記事から得たヒント
何度設定を見返しても、設定を変えても一向に通る気配のないパケット。ですが、ネットでBuffaloルータのポート開放について調べても、自分の設定買い、特におかしいとは思えません。
ですが、画像検索で表示されている設定画面をしばらく検索していると、1点だけ大きな違いがありました。
どの設定もすべて、変換元ポートと変換先ポートが同じ番号になっていました。
Buffaloの「ポート変換」と呼ばれる機能は、NECでは「ポートマッピング」という設定ですが、NECではポート番号が別々でも問題なく通信が出来ます。
ですがどういうわけか、Buffaloの設定画面はどれもこれも番号が一緒のサンプルしかありません。
いやいや、syslogをリモートサーバに飛ばせたり、ログの内容が細かかったり、設定機能も豊富なBuffaloさんに限って、そんな安っぽい機能な訳がないでしょう。そもそもポート変換って書いてありますし。
と、疑い半分だったのですが、すがる気持ちでVPNサーバ側のポート番号をIPv4で通信出来る5xxxx番ポートに変更してみる事にしました。
4. 解決策とBuffaloトラップ
こんな感じで、VPN Serverとルータの設定を変更してみました。標準的な1194番ではなく、我が家がIPv4で受けられるポートの1つである5xxxx番ポートに変えています。さて、結果はというと・・・・・・。
はい、通りました。
やったのは単純な事で、
① VPN Server側の待ち受けポートをIPv4の利用可能ポート番号に変更
② ルータのポート変換設定で設定する番号を①と同じにする
の2点だけです。もちろんOpenVPNの接続設定ファイルを書き換える事はお忘れなく。
これ実はとても不思議な話で、Buffaloは明確に「ポート変換」と謳っているのにも関わらず、実情は「アドレス変換」しかしていないという事になります。公式サイト上でも「【ポート変換/アドレス変換】」とわざわざ謳っているので、不思議で仕方ありません。
因みに技術的にはNAT(ネットワークアドレス変換)とNAPT(ネットワークアドレス・ポート変換/IPマスカレード)の2つがあり、NATしか対応していませんという事であれば、まだ理解出来ます。
ですが、タイトルにもポート変換と謳っていて、ポート番号を入力する欄が2つあるのに出来ないというのは、正直いかがなものかなと思います。
といいますか、これまでにツッコミ入った事ないんでしょうか・・・・・・。
もし、私の設定が間違っていてこういった制約が生まれているという事であれば、ぜひ情報提供をお願いしたいです。
5. まとめ
という訳で結論としては、
1. BuffaloルータはNAPTではなくNATである模様
2. ポート開放する場合は、WAN側とLAN側のポート番号を一致させる
の2点を気をつけていれば、VPNであろうが他のポート開放であろうが、IPv4でも通信が出来ると思います。
この設定の為に約半年を費やしてしまったので、もし同じようなポイントで引っかかっている方がいれば、これで解決すれば良いなと思います。
この記事が気に入ったらサポートをしてみませんか?