1) Evite usar regras "-I" em scripts, pois elas geram regras fora de uma ordem previsível. Dê preferência a usar sempre regras "-A", que colocam a nova regra sempre após as outras. A ordem das regras, no iptables, é tudo.
2) Supondo que vc não use squid, a regra que resolve seu problema é
iptables -A FORWARD -m string --algo bm --string "facebook.com" -s $IP_PATRAO -j ACCEPT
Mas essa regra tem que ser inserida antes das outras, o que significa que no seu script, elas têm que ficar em ordem, e você não pode usar o "-I".
3) Se vc usa Squid, tem que tratar o bloqueio do facebook lá dentro, não via iptables.