针对我的域名的 DNS 响应长度为 1228 字节,我需要将数据包分成 3 个数据包。为此,我已将名称服务器(机器上运行的 bind9)的 MTU 设置为 500。为了验证 MTU 是否设置为 500,我从名称服务器 ping 了 600 字节,它给出错误,说数据包太长(因为 MTU 是 500 字节)。但是当我查询名称服务器时,我得到了完整的回复,一个片段中有 1228 字节。我需要将数据包分段以运行一些测试。我使用 dig 从客户端查询我的名称服务器,如果从客户端使用 noedns 选项,我会得到设置了 DNS 截断位的回复,然后操作系统通过 TCP 发送相同的查询。有什么建议可以告诉我如何获得 IP 碎片。
答案1
你确定响应是 1228 吗,那太大了...检查 dig 认为响应的大小是多少。
dig google.co.uk
...
;; WHEN: Sun Feb 22 11:55:42 2015
;; MSG SIZE rcvd: 46
注意最后一行是 DNS 响应的大小。