4b4 Posted October 25, 2005 Posted October 25, 2005 Может кто нибудь знает как решить следующую задачу: Имеется шлюз в интернет на базе FreeBSD. Необходимо некоторым пользователям (локальные ip) при их попытке загрузить из интернета ЛЮБУЮ страничку, в браузере отображалась определенная мной страница, например "Вы заблокированы". Т.е. каким-то образом перенаправить web-запросы пользователей на мой web-сервер. Пробовал делать это при помощи fwd (ipfw) - получается, но только если при этом для ip-пользователя разрешен достум в интернет, если доступ запрещен (правило в ipfw отсутствует) - подмены странички не происходит. Вставить ник Quote
Reduntel Posted October 25, 2005 Posted October 25, 2005 Это просто (не напишу скрипты, т.к. использую линукс и айпитаблз) но принцып такой. К примеру у тебя есть в сети веб-сервер с айпихой 192.168.0.100, на котором разположена страничка из сообщением. Далее делаеш файл из айпихами нехорошый пользователей в таком формате: 192.168.0.5 192.168.0.15 192.168.0.54/27 и.т.д потом пишеш скрипт (на чем угодно) который парсит этот файт и добавляет правила в таблицу файрвола: если сурс из файла, то уго на 192.168.0.100:80 Пусть знающие напишут правило для ipfw, могу написать только для айпитаблз Вставить ник Quote
Ugnich Anton Posted October 25, 2005 Posted October 25, 2005 Пробовал делать это при помощи fwd (ipfw) - получается, но только если при этом для ip-пользователя разрешен достум в интернет, если доступ запрещен (правило в ipfw отсутствует) - подмены странички не происходит. Приоритет правила на перенаправление?! Я так понимаю правило, которое рубит становится перед тем, которое перенаправляет?! Вставить ник Quote
Egor Posted October 25, 2005 Posted October 25, 2005 4b4, А как Вы пользователей разрешаете/блокируете? От этого зависит каким образом можно просто сделать. А вообще, есть такая штука - руководство (manual, man) по ipfw - после него все должно стать понятно. Вставить ник Quote
4b4 Posted October 25, 2005 Author Posted October 25, 2005 На шлюзе стоит FreeBSD 4.10 & UTM 4, блокировка выхода в интернет осуществляется последним правилом ipfw deny ip from any to any, а разрешение ходить в инет - allow ip from x.x.x.x to any & allow ip from any to x.x.x.x номера разрешающих правил > 1000. Перенаправляющее правило имело номер 50: fwd "мой сервер" tcp from "ip пользователя" to any при этом я посмотрел tcpdump'ом куда идут пакеты - запрос браузера пользователя все равно отсылается на нужный ему сайт и потом от туда приходит ответ и только после этого происходит перенаправление на нужную страницу с предупреждением, соответственно когда у пользователя нет доступа в инет (нет разрешающих правил) запрос/ответ на сервер интернета не проходят и на экране - "невозможно отобразить страницу". Вот краткий список правил ipfw: 10 allow ip from any to any via lo # перенаправляющее правило 20 divert natd ip from any to any via xl0 # 30 fwd 192.168.1.100 tcp from 192.168.1.1 to any via rl0 # разрешающие правила 1100 allow ip from 192.168.1.1 to any 1100 allow ip from any to 192.168.1.1 .... deny ip from any to any Вставить ник Quote
4b4 Posted October 26, 2005 Author Posted October 26, 2005 Может быть существуют отдельные программы для решения этой задачи? Вставить ник Quote
Egor Posted October 26, 2005 Posted October 26, 2005 4b4, Если все пользователи, которые не могут ходить в интернет должны попадать на страничку, то попробуйте вместо нескольких перенаправляющих правил, в конце, перед deny ip from any to any добавить подобные правила: xxxx allow udp from 192.168.1.0/24 to me 53 via rl0 in # Если DNS-сервер на той же машине, что и файрвол yyyy fwd 192.168.1.100 ip from 192.168.1.0/24 to any via rl0 in Вставить ник Quote
4b4 Posted October 26, 2005 Author Posted October 26, 2005 т.е. идея пропускать только dns траффик, а остальной заворачивать на страницу предупреждения? Завтра попробую. Вставить ник Quote
VitMain Posted October 26, 2005 Posted October 26, 2005 Вопрос - пользователи получают адреса динамически из железки или как если из железки то что мешает тебе проштрафимся выдавать адреса из другого диапазона и с помощью специально созданного view на днс сервере выдавать несмотря ни на что бы они запросили адрес твоего вебсервера. а на вебсервере настроить виртуальный сервер содержащий страничку с ругательством?? Вставить ник Quote
Shiva Posted October 26, 2005 Posted October 26, 2005 VitMain, а что мне мешает вернуть IP адрес в зад и не пользоваться ДНС сервером провайдера? Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.