我懷疑當時區改變時 iptables 如何不斷改變 iptables 中的資訊。我正在使用 iptables sv 1.4.8
我已封鎖一個 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:00
為原始time_t
當您新增規則時,請使用您當時設定的時區。然後,當您執行 時-L
,它會使用新的目前時區將該時間戳記轉換回可讀字串。
初始命令中隱含的時區資訊在執行完成後立即丟失,並且每次執行都會iptables -L
嘗試透過將當前時區應用於time_t
.