Proč tak složitě? Navíc toto blokování není moc efektivní. Pokud vůbec něco zablokuje, tak to bude to, že po pár minutách přestane fungovat chat a některým lidem nepojede vůbec. Zatím se mi nepodařilo odpojit ten FB úplně a všem. Osobně používám tento styl:
iptables -N FCB
iptables -A FORWARD -d 66.220.144.0/20 -j FCB
...
iptables -A FCB -j DROP
Mam taky dojem, ze to zablokuje akukolvek URL, v ktorej sa slovo "facebook" nachadza, napriklad aj tuto stranku.
http://www.root.cz/zpravicky/jak-blokovat-facebook-firewallem/415440/odpovedet/
Nejen URL, ale i jakýkoli packet obsahující (case sensitive, malými písmeny) string "facebook", klidně i tuto webovou stránku, resp. její část, což způsobí poškozený TCP stream a v důsledku "Connection was reset" hlášku prohlížeče při pokusu zobrazení čehokoli se stringem "facebook".
Blokace stringu "facebook" (case insensitive, je na to přepínač u string matche myslím) v DNS packetech může už mít smysl, nezabrání však dostupnosti FB přes většinu webových proxy serverů. Ani kombinace s transparentní webovou proxy není ideální - jednak jede facebook přes SSL, jednak některé (i CGI) proxiny umí samy o sobě šifrovat přenesený obsah.
Přišel jsem časem na to, že nejlepší řešení není bojovat s uživateli, ale domluvit se s nimi (ve firmě / škole). Umožnit jim přístup na facebook jen v určitých přestávkách, důrazně je varovat, ať nechodí na facebook jindy a logovat přístupy mimo "přestávky" (s rezervou). Méně znalí uživatelé si dají po osobním varování pozor, více znalí už od začátku tunelují domů přes openvpn (SSL) na portu 443.
Naprosté většině uživatelů nestojí obcházení tohoto omezení za tu námahu, prostě si počkají na další "přestávku".