Существует модуль time
для iptables:
iptables ... -m time --timestart TIME --timestop TIME --days DAYS -j ACTION
Используйте -p tcp -j REJECT --reject-with tcp-rst
, чтобы сделать вид, что порт закрыт (действие по умолчанию для REJECT
- ICMP-пакет).
Я бы также добавил еще одно правило, разрешающее ESTABLISHED
соединения, если бы хотел, чтобы открытые соединения оставались рабочими.
По сравнению с решениями, использующими сценарии для выполнения определенных действий в определенное время, это имеет большое преимущество в том, что это статическая конфигурация, и вряд ли возникнут какие-либо режимы отказа, которые, например, навсегда заблокируют доступ.
grep
раствор:
grep -C1 -E '^[0-9]+\.[0-9]+[[:space:]]+[^0-9[:space:]]+' file
-C NUM
-напечатать NUM
строк выходного контекста -E
-расширенное регулярное выражение [^0-9[:space:]]+
-соответствует любому символу, кроме пробела (s)[:space:]
или цифры[0-9]
Выход:
51174.29300 2265.9392765
51174.3 "A random string"
51174.33100 2265.9392765
--
51176.54300 2266.1261205
51176.7 "A random string"
51177.42000 2266.1611095
Более простой ответ:
grep -C1 '"' file
, который находит строки, содержащие символ кавычек ("
), и отображает их, с одной строкой до и после.