我正在使用iptables v1.4.7 / 8。
我用了下面的命令
iptables -A INPUT -s 10.0.4.247 -m time --utc --datestart 2013-5-23T7 --datestop 2013-5-23T9 -j DROP
我的时间
date -u
Thu May 23 07:49:29 UTC 2013
iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination DROP all -- 10.0.4.247 anywhere TIME starting from 2013-05-23 07:00:00 until date 2013-05-23 09:00:00 UTC Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
但是我怎么能从IP 10.0.4.247 ping命令后,我在阻塞时间。
还有一件事是我当地的时间
date Thu May 23 15:37:54 IST 2013
当我给follwing命令时,它是能够阻止的时间stream量,即使我指定 – utc。
iptables -A INPUT -s 10.0.4.247 -m time --utc --datestart 2013-5-23T7 --datestop 2013-5-23T15:38 -j DROP
成功地阻止了交通的时间。
但我希望它检查UTC时间不是本地时间,如何做到这一点。
请告诉我一些答案。
它看起来像–utc标志考虑到硬件时钟的tz.tz_minuteswest。 我需要进一步研究,但在实践中似乎是这样
# hwclock --systz --debug hwclock from util-linux-ng 2.17.2 Last drift adjustment done at 1396716845 seconds after 1969 Last calibration done at 1396716845 seconds after 1969 Hardware clock is on UTC time Assuming hardware clock is kept in UTC time. Current system time: 1414455370 = 2014/10/28 00:16:10 Calling settimeofday: UTC: 2014/10/28 00:16:10 tv.tv_sec = 1414455370, tv.tv_usec = 262714 tz.tz_minuteswest = 300
什么对我来说是计算什么UTC减去tz.tz_minuteswest创build我的规则
# date Mon Oct 27 19:07:28 CDT 2014 # iptables -A cphulk -s 10.4.80.2/32 -m state --state NEW -m time --datestop 2014-10-27T19:08:55 --utc -j DROP # iptables -vnL cphulk Chain cphulk (1 references) pkts bytes target prot opt in out source destination 130 7360 DROP all -- * * 10.4.80.2 0.0.0.0/0 state NEW TIME until date 2014-10-27 19:08:55 UTC # date Mon Oct 27 19:09:07 CDT 2014 # iptables -vnL cphulk Chain cphulk (1 references) pkts bytes target prot opt in out source destination 130 7360 DROP all -- * * 10.4.80.2 0.0.0.0/0 state NEW TIME until date 2014-10-27 19:08:55 UTC
我认为它使用tz.tz_minutewest来跟上DST。 注意从300到360的变化
# date 11030544 Mon Nov 3 05:44:00 CST 2014 # hwclock --systz --debug | grep tz_minuteswest tz.tz_minuteswest = 360