LINUX.ORG.RU
ФорумAdmin

Реализовать редирект

 


0

1

Всем привет. Есть локальная сеть: в ней один компьютер с Linux, остальные с Window. На Linux-е поднят apache2. Нужно сделать так, чтобы при открытии некоторых сайтов с машин, на которых Windows, перебрасывало на страницу(на apache2 которая) с предупреждением, что «Сайт, на который вы пытаетесь перейти, заблокирован администрацией!». Сама страница с предупреждением уже есть. Подскажите, пожалуйста, что нужно прописать? Я так понимаю через iptables как-то можно это реализовать..

Я так понимаю через iptables как-то можно это реализовать..

Можно. Для этого на шлюзе по умолчанию для Вашей сети надо прописать что-то такое:

iptables -t nat -A PREROUTING -i $LOCAL_IFACE -d $BLOCKED_SITE --dport 80 -j DNAT --to $LINUX_IP:80

где $LOCAL_IFACE - сетевой интерфейс шлюза, который смотрит в локальную сеть, $BLOCKED_SITE - заблокированный ресурс, $LINUX_IP - адрес машины с apache.

А можно ту же задачу через подмену DNS решить - через views отдавать локальным машинам в ответ на запрос разрешения заблокированных сайтов адрес машины с apache.

Serge10 ★★★★★ ()
Последнее исправление: Serge10 (всего исправлений: 1)
Ответ на: комментарий от Serge10

Здравствуйте. Не получается то, что вы написали сделать у меня. Как делаю: запускаю машину с Kali Linux, подключаюсь к сети(сетевой интерфейс - wlan0, ip этой машины - 192.168.1.8), запускаю терминал, поднимаю apache2, далее ввожу: iptables -t nat -A PREROUTING -i wlan0 -d facebook.com --dport 80 -j DNAT --to 192.168.1.8:80. Но никаких изменений не происходит - с другого устройства в этой сети всё равно открывается facebook.com вместо страницы на этой машине. Подскажите что делаю не так? Или может что-то еще нужно сделать помимо этого?

aleks2006 ()
Ответ на: комментарий от aleks2006

Как делаю: запускаю машину с Kali Linux, подключаюсь к сети(сетевой интерфейс - wlan0, ip этой машины - 192.168.1.8), запускаю терминал, поднимаю apache2, далее ввожу: iptables -t nat -A PREROUTING -i wlan0 -d facebook.com --dport 80 -j DNAT --to 192.168.1.8:80.

Данная машина является шлюзом по умолчанию для Вашей сети? Команду iptables надо вводить именно на шлюзе.

И второй момент - перехват 80 порта влияет только на соединения по http-протоколу. А тот же facebook работает через https.

Serge10 ★★★★★ ()