断片化された DNS パケット

断片化された DNS パケット

私のドメインに対する DNS 応答は 1228 バイト長で、パケットを 3 つのパケットに断片化する必要があります。これを実現するために、ネーム サーバー (マシンで実行されている bind9) の MTU を 500 に設定しました。MTU が 500 に設定されていることを確認するために、ネーム サーバーから 600 バイトで ping を実行すると、パケットが長すぎるというエラーが表示されます (MTU は 500 バイトであるため)。ただし、ネーム サーバーにクエリを実行すると、1 つのフラグメントで 1228 バイトの完全な応答が返されます。いくつかのテストを実行するには、パケットを断片化する必要があります。クライアント側から dig を使用してネーム サーバーにクエリを実行していますが、クライアント側から noedns オプションを使用すると、DNS 切り捨てビットが設定された応答が返され、OS が同じクエリを TCP 経由で送信します。IP の断片化を実現する方法についてアドバイスはありますか。

答え1

応答が 1228 であることは確かですか。これは非常に大きいです... dig が応答のサイズをどのように考えているかを確認してください。

dig google.co.uk
...

;; WHEN: Sun Feb 22 11:55:42 2015
;; MSG SIZE  rcvd: 46

最後の行は DNS 応答のサイズであることに注意してください。

関連情報