ИМХО удобнее писать в firewall.sh
тогда в rc.conf:
firewall_enable="yes"
firewall_type="UNKNOWN"
firewall_script="/etc/firewall.sh"
в firewall.sh:
#!/bin/sh
ipfw -f flush #сбрасываем все правила, что установлены ранее чтоб не накладывались
ipfw add 100 allow tcp from 10.15.1.1 to me 80 in
ipfw add 200 allow udp from 10.15.1.1 to me 80 in
и так далее...
кажись при "IP" или "all" нелья указывать какой-то определенный порт. IPFW с этим не дружит.
если два и более интерфейсов - указывать интерфейс в конце (in via lx0, например)
Твои правила вообще работать не могут по определению - ты к себе разрешил, а от себя?

Твоя машина не дает себе же отвечать на полученные запросы. Вернее она отвечает, а фойрвол находит для этого случая только одно правило - add deny all from any to any и поступает по нему. так что лучше последним поставить deny log all from any to any чтоб видеть в логе что режится. так проще отлаживать. нумерацию правил тоже лучше указать явно.