タイムゾーンの変更時に iptables はどのように動作しますか?

タイムゾーンの変更時に iptables はどのように動作しますか?

タイムゾーンが変更されたときに、iptables が iptables 内の情報をどのように変更し続けるのか疑問に思います。私は iptables sv 1.4.8 を使用しています。

以下の詳細で1つのIPをブロックしました

 # date
    Thu Jun 6 12:46:42 IST 2013

#iptables -A INPUT -s 10.0.3.128 -m time --datestart 2013-6-6T12:0:00 --datestop 2013-6-6T13:0:00 -j DROP

# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all -- 10.0.3.128 anywhere TIME starting from 2013-06-06 12:00:00 until date 2013-06-06 13:00:00

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

しかし、タイムゾーンを変更した後、次のことが自動的に起こりました。

タイムゾーン変更後 +++++++++++++++++++++++++

#date
Thu Jun 6 15:17:48 HKT 2013

# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all -- 10.0.3.128 anywhere TIME starting from 2013-06-06 14:30:00 until date 2013-06-06 15:30:00

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
#

ルール内で時間の値が変更されます。タイムゾーンによってどのように変化します。iptables はタイムゾーンを追跡します。

親切に説明してください。

答え1

何も記録していません。文字列を生の文字列に変換し2013-6-6T12:0:00まし2013-6-6T13:0:00time_tルールを追加したときに、その時点で設定したタイムゾーンを使用してタイムスタンプが変換されます。その後、 を実行すると-L、新しい現在のタイムゾーンを使用して、そのタイムスタンプが読み取り可能な文字列に変換されます。

最初のコマンドに暗黙的に含まれているタイムゾーン情報は、実行が完了するとすぐに失われ、 を実行するたびに、iptables -L現在のタイムゾーンを に適用して元の時間文字列を再構築しようとしますtime_t

関連情報