У меня есть роутер freebsd 9.0 с трафиком 250-300 Мбит / с, и мне нужно отфильтровать небольшой список страниц (http.request.uri).
Меня не интересуют tor, анонимайзеры, прокси и т. Д. Просто запретите прямой доступ из моей сети к этим страницам.
Как? Перенаправлять только http на squid или любой другой http-прокси?
Я знаю об узлах tcpdump -ddd и bpf netgraph. Но http для меня слишком сложно.
Если вы не хотите использовать прокси (например, прозрачное перенаправление всего трафика через правило ipfw на прокси - пользователи ничего не замечают) - для решения нужно то, на что способно глубокая проверка пакетов.
Проверить: http://sourceforge.net/projects/ipfw-classifyd/ он должен делать то, что вы хотите, "фильтрацию на уровне 7" с помощью ipfw. (или с pf тоже)
Или скачайте pfSense
(отличный брандмауэр на основе freebsd) и узнайте, как им пользоваться. Согласно документам, (http://doc.pfsense.org/index.php/Traffic_Shaping_Guide#Layer_7) это использует ipfw-classifyd
.
Ps: только интересно, почему вы не используете pf вместо ipfw + ngnat)
Если список невелик, вы можете просто занести IP-адреса в черный список в брандмауэре.
Конечно, вам нужно время от времени проверять, не перешли ли страницы на другой сайт. Вы можете сделать это с помощью скрипта cron.