Как заблокировать, отклонить или перенаправить IP-адрес или домен веб-сайта

Этот вопрос появился пару дней назад, и это: блокировать, отклонять или перенаправлять IP-адрес или доменное имя на другой IP-адрес или веб-домен без использования маршрутизатора или настройки браузера. В основном используется только Ubuntu для этого.

Например, пользователь использует компьютер, у него нет доступа к facebook или twitter (может быть запрещен доступ навсегда или только с 2 вечера до 8 вечера). Если пользователь пытается ввести facebook или твиттер, он будет перенаправлен в другое место или просто отменен.

Программа была бы предпочтительнее в графическом интерфейсе, но если терминал не будет работать.

Я проверил, например, ufw и gufw, но он работает только для программ и портов. Дело о доменных именах не существует. Что облегчит выбор или отмену выбора домена.

2
задан 14 December 2011 в 09:43

5 ответов

iptables полезна, если это всего лишь несколько имен ip / domain.

С помощью iptables вы можете ограничивать пользователя, группу и / или время, хотя для этого вам необходимо использовать таблицу OUTPUT , Поэтому, чтобы разрешить root и группу «web», используйте

# this allows root for things such as apt-get
sudo iptables -A OUTPUT -m owner --uid-owner root -j ACCEPT

# this allows users of the group web
# create a group, web, and add users to it to allow access
sudo iptables -A OUTPUT -m owner --gid-owner web -j ACCEPT

# These two rules allow access to port 80 and 443 over the lunch hour
sudo iptables -A OUTPUT -o eth0 -p tcp -m multiport --dports 80,443 -m time --timestart 12:00 --timestop 13:00 -j ACCEPT
sudo iptables -A OUTPUT -o eth0 -p tcp -m multiport --dports 80,443 -j DROP

. Но по мере того, как ваши потребности становятся более сложными, полезно использовать прокси. Например, вы можете использовать privoxy (и другие) для adblock. Squid добавляет в фильтрацию и более сложные правила (acl или списки управления доступом), но скорее всего убивает для домашнего пользователя.

Затем вы делаете прокси прозрачным с помощью iptables

# This allows root
sudo iptables -A OUTPUT -m owner --uid-owner root -j ACCEPT

# This allows privoxy, which serves as adblock
sudo iptables -A OUTPUT -p tcp --dport 80 -m owner --uid-owner privoxy -j ACCEPT

# this blocks direct access to ports 80 to all other users
sudo iptables -A OUTPUT -p tcp --dport 80 -j DROP

# This allows squid to access privoxy (I think squid runs as "proxy")
#sudo iptables -A OUTPUT -o lo -p tcp --dport 8118 -m owner --uid-owner proxy -j ACCEPT

# this rule blocks other users from direct access to privoxy
sudo iptables -A OUTPUT -o lo -p tcp --dport 8118 -j DROP

# Redirect all outgoing traffic on port 80 to squid listening on port 3128
sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -m owner ! --uid-owner privoxy -j REDIRECT --to-port 3128
[d4 ] Теперь вы устанавливаете и настраиваете privoxy и squid

Ubuntu server guide squid

Ubuntu server guide squid

Проблема с этим методом вам тогда нужно установить squidguard, настроить squid и т. д., который будет длинным сообщением и лучше подходит для более крупной локальной сети.

3
ответ дан 25 May 2018 в 15:58
  • 1
    +1 для знания нескольких применений для iptables. Но как упоминалось pacofvf, что касается доменов и конкретных IP-адресов. Например, пример выше упрощает задачу, которая им нужна. Идет к делу, как могли бы сказать некоторые. (Не сказать, что ваш путь не очень хорош. Я могу узнать еще больше отсюда.) – Luis Alvarado♦ 14 December 2011 в 07:25
  • 2
    Ну, вот где приходят кальмары;) Я могу добавить ответ на конфигурацию кальмаров сегодня вечером, если вы пожелаете. – Panther 14 December 2011 в 07:44
  • 3
    Да, было бы очень признательно. – Luis Alvarado♦ 14 December 2011 в 08:11

Я нашел лучшее решение для вас, moblock, оно поставляется с черным списком, который обновляется ежедневно и графическим инструментом настройки.

Чтобы установить его, запустите

sudo add-apt-repository ppa:jre-phoenix/ppa
sudo apt-get update
sudo apt-get install moblock blockcontrol mobloquer

Затем Запуск Mobloquer

Дополнительную информацию см. на домашней странице Moblock (sourceforge)

shot 1

2
ответ дан 25 May 2018 в 15:58

Вы можете заблокировать IP-адреса и имена доменов с помощью IPTABLES

исходящего примера:

iptables -A OUTPUT -p tcp -m string --string "xxx.com" --algo kmp -j DROP

, затем с заданием cron вы можете заблокировать все домены, которые вы хотите, в указанное вами время , а затем разблокировать их

1
ответ дан 25 May 2018 в 15:58
  • 1
    Можете ли вы также добавить, как удалить смену iptable. Например, если они хотят удалить домен блокировки. – Luis Alvarado♦ 14 December 2011 в 07:24
  • 2
    iptables -D OUTPUT -p tcp -m string --string "xxx.com" --algo kmp -j DROP, но вам все еще нужен метод сохранения и восстановления iptables при перезагрузке sudo iptables-save > /etc/iptables.save, после чего вы добавляете iptables-restore < /etc/iptables.save в /etc/rc.local. Это становится сложным, я разместил графическое решение. – Panther 14 December 2011 в 09:35
  • 3
    @ bodhi.zazen круто! Я не слышал о мобильности до +1 к вашему ответу – Francisco Valdez 15 December 2011 в 01:32

Это может возникнуть из-за нескольких условий, при которых вам может потребоваться заблокировать или ограничить какой-либо конкретный IP-адрес или домен от доступа вашего сервера. Это простой процесс, и, следуя этим инструкциям, вы можете заблокировать домен сайта в Ubuntu. Как мы знаем, Ubuntu - это операционная система с открытым исходным кодом, поэтому вам придется пройти через цепочку ввода правила MASQUERADE и запустить триггер под командой:

iptables -I INPUT –s <desired ip address> -j DROP

, например, вы хотите заблокировать 160.10.11.01, чем type:

iptables -I Input –s <160.10.11.01> -j DROP

Если вы хотите заблокировать все IP-адреса, начиная с 160 ... *, чем

iptables -I Input –s <160.0.0.0> -j DROP

Если по-прежнему возникает какая-либо проблема, лучше связаться с любой сетью ведущего или экспертного регистратора домена.

0
ответ дан 25 May 2018 в 15:58

Я нашел firestarter довольно хороший интерфейс GUI для управления входами iptables.

0
ответ дан 25 May 2018 в 15:58

Другие вопросы по тегам:

Похожие вопросы: