Meraki MX Auto-VPN : DFビットの扱いについて

今回は久しぶりにMeraki MXのAuto-VPNに関した簡単な検証を行ってみました。
WindowsMacOSLinuxではPMTUD(Pass MTU Discovery)が標準に機能しており、主要なPacketに関してはDFビットがセットされて送信されます。
これにより、途中経路でMTUサイズの小さいNetworkが存在したとしてもICMP Fragment neededが到達する限りではMTU値の調整が可能になることになります。

パケットがMeraki Auto-VPNを通過する場合に、PCにてセットされているDFビットがAuto-VPNではどのようにセットされるのかを確認してみました。

検証構成

2台のMXを用意し、Auto-VPN接続を行います。
PCからServer(今回はラズパイ上のUbuntu)に対してssh接続を行い、そのパケットキャプチャを取得してみました。

PCのパケットキャプチャ

まずはPCから送信されるオリジナルのパケットにDFビットがセットされていることを確認します。

期待値通りにDFビットがセットされていることが確認できました。

Auto-VPN内のパケットキャプチャ

次に、Auto-VPN内のパケットにDFビットがセットされ続けているのか?を確認します。
Meraki DashboardからインターフェースをMeraki Auto VPNを選択し、パケットキャプチャを行います。

Auto-VPN内のパケットもオリジナル同様にDFビットがセットされていることが確認できます。

Auto-VPNパケットのキャプチャ

最後にIPsecでカプセリングされたAuto-VPNパケットをキャプチャしてみます。
Meraki Dashboardにて取得するインターフェースをインターネットに変更してパケットキャプチャを行います。

IPsecで暗号化されたパケットとなりますので、Wireshark上ではUDPパケットとしてキャプチャされます。

どのパケットが該当のパケットかは判断つかないので、全てのパケットのDFビットを確認してみました。
どのパケットにおいてもDFビットはセットされていないことが確認できました。

結論

この検証は、先にも行っており同様の結果となりました。

candm-network.hatenadiary.jp

Auto-VPNにおいては、DFビットはセットされないことになります。
この事により、Auto-VPNを構成するMeraki MX間にてMTU値の小さいネットワークが存在する場合、Auto-VPNパケットは途中ルータにてFragmentされてしまうという事になります。
Fragment化されたパケットは対向のMXにてReassemble(再組立)されるため、通信先のServerはオリジナルのパケットのままで到達が可能になります。