Meraki MX MTU値1500Byte未満の環境でNon-Meraki VPNの動作について

前回の記事では、Non-Meraki VPNの基本動作について記事にまとめました。

candm-network.hatenadiary.jp

この検証では一般的であるWAN InterfaceのMTU値1500Byteでのものとなっています。
日本においてはPPPoE(1454Byte)やIPoE(1460Byte)を利用されるケースが多いと思います。

本記事では1500Byte未満の場合のNon-Meraki VPNの動作を確認してみます。

MTU値の調整

Meraki DocumentではNon-Meraki VPNの環境におけるMTU値の調整を行うためにはMeraki Supportへのコンタクトが必要と書かれています。

ケースオープンし、MTU値をMeraki Supportに変更してもらいます。

検証環境はPPPoE(1454Byte)です。

documentation.meraki.com

 

Non-Meraki VPNのMTU値確認

設定変更後、実機にて確認してみます。

Pingの結果MTU値は1354Byteとなっていることが確認できました。

MTU1354ByteいっぱいになるようにPingを送信してみます。
問題なく通信は成立しました。

これにより、前回の検証によるMTU値1400Byteではなく、変化していることが確認できました。
MXのWAN InterfaceのMTU値1454Byteから100Byteを差し引いた数値がNon-Meraki VPNになることが確認できました。

TCP 3way handshakeの確認

MXのLAN側Interfaceにてパケットキャプチャを取得してみます。
SYN/ACKが1314Byteに更新されていることが分かります。
この数値はNon-Meraki VPNのMTU値である1354Byteから40Byteを引いた数値となります。

今度は、Non-Meraki VPNのパケットキャプチャを取得してみます。
SYNにて1314Byteになっていることが分かります。

これにより、Meraki Supportでの設定変更によりNon-Meraki VPNを通過するSYN、SYN/ACKパケットにてMSS値を1314Byteに上書きしていることが確認できました。

PMTUDだけに頼るのではなく少なくともTCPに関しては適切なMTU値で通信が行えるようになっていることは理想的な動作になっていると思います。

まとめ

今回は基本的な設定変更のみとなっていますが、PPPoEやIPoE環境においてもNon-Meraki VPNが動作することは確認できました。

実環境では、MXと対向となるVPNルータとの設定の調整が必要になる場合もあるとおもいますのでこの機能を利用する場合は詳細な試験を行われることを強くお勧めします。