Этот вопрос появился пару дней назад, и это: блокировать, отклонять или перенаправлять IP-адрес или доменное имя на другой IP-адрес или веб-домен без использования маршрутизатора или настройки браузера. В основном используется только Ubuntu для этого.
Например, пользователь использует компьютер, у него нет доступа к facebook или twitter (может быть запрещен доступ навсегда или только с 2 вечера до 8 вечера). Если пользователь пытается ввести facebook или твиттер, он будет перенаправлен в другое место или просто отменен.
Программа была бы предпочтительнее в графическом интерфейсе, но если терминал не будет работать.
Я проверил, например, ufw и gufw, но он работает только для программ и портов. Дело о доменных именах не существует. Что облегчит выбор или отмену выбора домена.
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
Проблема с этим методом вам тогда нужно установить squidguard, настроить squid и т. д., который будет длинным сообщением и лучше подходит для более крупной локальной сети.
Я нашел лучшее решение для вас, moblock, оно поставляется с черным списком, который обновляется ежедневно и графическим инструментом настройки.
Чтобы установить его, запустите
sudo add-apt-repository ppa:jre-phoenix/ppa
sudo apt-get update
sudo apt-get install moblock blockcontrol mobloquer
Затем Запуск Mobloquer
Дополнительную информацию см. на домашней странице Moblock (sourceforge)
Вы можете заблокировать IP-адреса и имена доменов с помощью IPTABLES
исходящего примера:
iptables -A OUTPUT -p tcp -m string --string "xxx.com" --algo kmp -j DROP
, затем с заданием cron вы можете заблокировать все домены, которые вы хотите, в указанное вами время , а затем разблокировать их
Это может возникнуть из-за нескольких условий, при которых вам может потребоваться заблокировать или ограничить какой-либо конкретный 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
Если по-прежнему возникает какая-либо проблема, лучше связаться с любой сетью ведущего или экспертного регистратора домена.
Я нашел firestarter довольно хороший интерфейс GUI для управления входами iptables.