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

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

Например, пользователь использует компьютер, у него нет доступа к Facebook или Twitter (это может быть отказ в доступе навсегда или только с 14:00 до 20:00). Если пользователь попытается войти в Facebook или Twitter, он будет перенаправлен в другое место или просто отменен.

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

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

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

5 ответов

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

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

# 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 добавляет фильтрацию и более сложные правила (списки управления доступом или списками контроля доступа), но, скорее всего, это слишком много для домашнего пользователя.

Затем вы делаете прокси прозрачным с помощью 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

Теперь вы устанавливаете и настраиваете privoxy и squid

Руководство по серверу Ubuntu squid

Ubuntu wiki privoxy

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

0
ответ дан 14 December 2011 в 07:43

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

Исходящий пример:

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

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

0
ответ дан 14 December 2011 в 07:43

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

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

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

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

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

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

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

0
ответ дан 14 December 2011 в 07:43

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

Для его установки запустите

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

Затем запустите Mobloquer

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

shot 1

enter image description here

0
ответ дан 14 December 2011 в 07:43

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

0
ответ дан 14 December 2011 в 07:43

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

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