問題解説:KNY
[ICTSC7] KNY(MSSのクランプ)の問題解説
こんばんわ。
この問題は、今大会がNTTで行われるということでNTT回線を使用している時に自分の家で起きたことを再現したものです。
当時、自分の家のルーターをVyOSに変えたところ、トラブルが起きました。
症状
症状としては、自分の家のLANからDNSなどは引けるのに、なぜか見れないサイトがあったり、不安定なものになっていました。
原因
原因は、MSSにありました。自分の家の回線では、pppoe認証を行うとMTUが1454byte、MSS1414以下でないと落とされてしまうというものでした。
なので、解決策としては、VyOSのwan側のnicにMTUを設定してあげることと、LAN側のポリシーにMSSを設定してあげることになります。
問題設定
問題のトポロジーとしては以下のような図になっていました。
NTTの環境再現するためにPPPoEserverをubuntuでたて、MTUとMSSに制限をかけさせてもらいました。
解決法
問題では、VyOSのpppoeのnicにMTUは設定してあったのですが、LAN側のポリシーにはMSSを設定しておりませんでした。なので、LAN側のポリシーにMSS1414でクランプするポリシーを書いてあげれば、パケットは通るようになります。
また、別解としては、VyOSのpppoeのnicではなく、wan側の物理nicにMTUを設定してあげると、自動でMSSを計算しなおしてくれるようです。
この問題にたどり着いたチームは、殆どいませんでしたが、お家でVyOSをたてる際に参考にしていただければ、幸いです。