Ich empfehle trotzdem die Variante mittels Squid, da man da viel flexiblere Rules erstellen kann. Man kann z.B. auch einfach nur bestimmte Strings verbieten und somit sind alle Webseiten die in der URL diesen String enthalten nicht mehr abrufbar.
Hier noch eine kleine Erklärung zum Funktionsprinzip (aus dem Squid Handbook):
Normalerweise wird ein Proxy-Server über einen bestimmten Port, welcher im
Browser des Benutzers konfiguriert wird, angesprochen. Innerhalb eines ”echten”
Netzwerkes könne folgende Situationen auftreten:
• Aus Sicherheitsgründen sollte alle Clients zum Surfen im Internet einen
Proxy verwenden.
• Es wird gewünscht, dass alle Clients einen Proxy verwenden, egal ob sie
sich dessen bewusst sind oder nicht.
Prinzipiell funktioniert dies folgendermassen: Der Client ruft eine URL auf und
verlangt eine Web-Seite aus dem Internet. Der Default-Gateway des Netzwerkes
fängt dieses Datenpaket ab und leitet es an einen f¨ur ihn erreichbaren, und vorkonfigurierten
Proxy weiter. Dieser liefert dieWeb-Objekte entweder aus seinem
Cache oder aus dem Internet zurück. Allenfalls wird zuerst eine Benutzerauthentifizierung verlangt, oder die Seite wird aufgrund der im Squid definierten Regeln verweigert. Da für den Client ”nie” ersichtlich ist, dass seine Anfrage
nicht direkt an den Web-Server im Internet geschickt wurde und das Ganze
für den Benutzer ”transparent” abläuft nennt man diese Konfiguration einen
”Transparenten Proxy”.