Ну, если это для розыгрыша, то может сработать надуманный хак: используйте цель LOG iptables для регистрации каждого совпадения перенаправления перед тем, как на самом деле делать перенаправление. Затем иметь скрипт, который извлекает IP из лога и готовит их к iptables цепочки, с действием RETURN или что-то такое, так что правила перенаправления не будут достигнуты.
Я не думаю, что эта проблема может быть надежно решена на уровне iptables.
$ t1="23:42"
$ t2="02:10"
$ e1=$( date -d "$t1" +%s )
$ e2=$( date -d "$t2" +%s )
$ if (( e1 > e2 )); then e2=$( date -d "$t2 tomorrow" +%s ); fi
$ date -d@$e1
Tue Oct 6 23:42:00 EDT 2015
$ date -d@$e2
Wed Oct 7 02:10:00 EDT 2015
Чтобы найти разницу, если вам не нужны дробные часы, используйте арифметику оболочки, иначе переведите в bc
$ diff=$(( (e2 - e1)/3600 ))
$ echo $diff
2
$ diff=$( echo "scale=2; ($e2-$e1)/3600" | bc)
$ echo $diff
2.46