1

Я сомневаюсь, как 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 ответ1

4

Это не отслеживать ничего. Он преобразовал строки 2013-6-6T12:0:00 и 2013-6-6T13:0:00 в raw time_t когда вы добавили правило, используя часовой пояс, который вы установили в то время. Затем позже, когда вы запустите -L , он преобразует эту временную метку обратно в читаемую строку, используя новый текущий часовой пояс.

Информация о часовом поясе, которая была неявной в вашей начальной команде, была утеряна сразу же после ее выполнения, и каждое выполнение iptables -L пытается восстановить исходную строку времени, применяя текущий часовой пояс к time_t .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .