Perl, вероятно, будет установлен, и достаточно легко захватить модули от CPAN, установить их в Вашем корневом каталоге и относиться к ним в Вашей программе. В этом случае, Дата:: модуль Calc имеет a Delta_Days
подпрограмма, которая поможет.
Во-первых, проверьте если net.inet.ip.fw.one_pass
установлен.
Во-вторых, я не думаю, что Вам нужен тот параметр маски на Вас конфигурация канала. Вы не можете всегда быть уверены, что пакеты прибывают из порта 80, например, если пользователь связывается из-за NAT и т.д.
В-третьих, я попробовал бы его без правил 200 и 300. Я не совсем уверен, как это обрабатывает передачу по каналу внутренне, но Раздел Формирования трафика ipfw(8)
включили в список эти подсказки:
КОНТРОЛЬНЫЙ СПИСОК Здесь является некоторыми важными моментами для рассмотрения при разработке правил:
+o Remember that you filter both packets going in and out. Most connec-
tions нужны пакеты, входящие в оба направления.
+o Remember to test very carefully. It is a good idea to be near the
консоль при выполнении этого. Если Вы не можете быть около консоли, используйте сценарий автовосстановления, такой как тот в/usr/share/examples/ipfw/change_rules.sh.
+o **Do not forget the loopback interface.**
И в-четвертых, я изменил бы правило по умолчанию (= последнее правило 65000) для отклонения всех. Это - хороший дизайн брандмауэра и без него, все, что они другой позволять правила просто потрачены впустую ;)