P: consigo fazer regras por horario?
R: Não lembro de qualquer regra ou módulo que inclua controles de hora. Mas é fácil pensar em scripts acionados pelo CRON que ativem e desativem regras de iptables/netfilter para modificar seu firewall.
Além do já bem mencionado uso do CRON, que talvez seja mesmo a melhor opção, dependendo do que se queira de fato filtrar, pode também usar a extensão módulo "time" para controlar o que fazer com os pacotes conforme seja o horário de chegada deles.
This matches if the packet arrival time/date is within a given range. All options are facultative.
As opções são:
--timestart value
Match only if it is after 'value' (Inclusive, format: HH:MM ; default 00:00).
--timestop value
Match only if it is before 'value' (Inclusive, format: HH:MM ; default 23:59).
--days listofdays
Match only if today is one of the given days. (format: Mon,Tue,Wed,Thu,Fri,Sat,Sun ; default everyday)
--datestart date
Match only if it is after 'date' (Inclusive, format: YYYY[:MM[:DD[:hh[:mm[:ss]]]]] ; h,m,s start from 0 ; default to 1970)
--datestop date
Match only if it is before 'date' (Inclusive, format: YYYY[:MM[:DD[:hh[:mm[:ss]]]]] ; h,m,s start from 0 ; default to 2037)