CCR2004でIPv6を有効化した場合のみLINEの画像送信ができなくなった問題

基本的にLINE嫌いなんだけど、家族との連絡用に使っているLINE。
CCR2004に自宅のWifi経由だと画像だけが送れたり送れなかったりという症状が出ていたので、本格的に調査開始。
Mikrotikのルーターを自宅のeo光で使っているという極めて希有な事例なので、多分私以外の人で役に立つことはほぼなさそうだけど備忘も兼ねてまとめておいた。

    • まず、WiFiを2.4Ghzのみにしてもダメ。
    • 広告Blockが誤検知しているのかと、DNSをQuad9+自前BlockListてんこ盛りunboundから、GooglePublicDNS, Quad9, Cloudflare, ISPのDNSに変えてもダメ。
    • IPv6をオフ(実際にはNDを無効化してIPv6アドレスを配布しないように設定)してIPv4だけにしたら成功。
    • IPv6のFirewallを片っ端から許可してもログとっても怪しい挙動なくダメ。
    • ググって同様の症状がないか調べてみたら「ルーターを初期化しろ」だの「バッファローのルーターだとIPv6端末モード(何?)にしろ」「WiFiのアンテナの近くに行け」だのイマイチだったのでググるの断念。
    • Xで検索すると、PPPoEのMSSが怪しいという挙動があったのだけど、MSSはeo光用に調整済みだったし、色々変えてもダメ。
    • ふと、NDが配布するIPv6アドレス用のMTU設定があったのでここを1414にしたら通信できた!
    • もうちょっと良い方法ないか調べてみたらMikrotikのフォーラムに似たような事例の対応としてIPv6のFirewallルールで、転送時にMSSを調整する方法があったので、試したら成功。

実際にはこのルールを設定した。

/ipv6 firewall mangle
add action=change-mss chain=forward new-mss=clamp-to-pmtu passthrough=yes protocol=tcp tcp-flags=syn

要は、IPv6でTCPのSynパケットをForwardする際にMSSをPathMTUの値に再調整するというまさにドンピシャな設定。
しかしLINEの画像送受信でしか問題出なかったので、調査に本当に手間だった。
やっぱりLINE嫌い。