TCPのタイムスタンプを無効化する

RFC 1323 で定義されたものでTCPにタイムスタンプを付与するというものがあります。
主な用途はパケットの送信順序をTCPレベルで判断するためのもののようです。

昔はOS起動時からの経過時間(uptime)がnmapでとれたようなんですが、今はとれなさそうです。

ひとまずTCPのタイムスタンプが表示されるかどうかを確認するには

yum install hping3
hping3 --tcp-timestamp -S localhost -p 80 -c 1

でTCPタイムスタンプの値を見ることができます。

TCPタイムスタンプ自体はデフォルトでONなんですが、 どうも本来の用途以外のところで使われることがあって、 そのせいでいろいろ問題が出てしまっているため無効化するのが推奨されていたり、 環境によってはTCPのTimewaitがスパイクするので無効化を推奨されていたりするようです。

既存の環境で問題なければいじる必要ないと思いますが、無効化する場合は以下

vim /etc/sysctl.conf 
---
net.ipv4.tcp_timestamps = 0
---

sysctl -p

確認
sysctl -a | grep timestamp