Как заблокировать сайты с помощью iptables

Я хотел бы заблокировать сайты с помощью iptables . Как мне это сделать, и как я могу обеспечить сохранение правил iptables ?

6 Solutions collect form web for “Как заблокировать сайты с помощью iptables”

Блокирование сайтов с помощью правил iptables – очень плохая идея, главным образом потому, что iptables (так как большинство брандмауэров) имеет дело с IP-адресами, а отношения между сайтом и его IP-адресом довольно слабы:

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

  2. Один IP-адрес может содержать множество сайтов (и это часто бывает). Это будет только чаще, из-за нехватки IP-адресов. Если вы блокируете IP-адрес, вы блокируете все размещенные на нем сайты.

Поэтому, хотя в других ответах объясняется, как вы это делаете, я настоятельно призываю вас найти другое решение. Например, установка прозрачного HTTP-прокси обеспечит то, что вам нужно. Этот прозрачный HTTP-прокси HOWTO немного устарел, но он поможет вам начать работу.

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

Существуют и другие способы борьбы с блокировкой сайта (другие брандмауэры, прокси и т. Д.), Но правила iptables – это в значительной степени один из худших возможных способов его устранения.

Вы можете использовать сопоставление строк iptables для достижения этого:

 iptables -A OUTPUT -p tcp -m string --string "block-me.com" --algo kmp -j REJECT 

-A OUTPUT добавляет следующее правило в цепочку OUTPUT .

-m string --string "block-me.com" --algo kmp сообщает iptables искать строку block-me.com с использованием алгоритма соответствия Knuth-Morris-Pratt .

Самый простой способ сделать ваши iptables восстанавливается при перезагрузке вашего компьютера – установить пакет iptables-persistent если он доступен в вашей системе. Если вы установите пакет после установки новых правил, вас спросят, хотите ли вы сохранить используемые в настоящее время правила для постоянного использования. iptables-persistent основном просто загружает правила, сохраненные в файлах /etc/iptables/rules.v4 и /etc/iptables/rules.v6 .

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

 iptables-save > /etc/iptables/rules.v4 iptables-save > /etc/iptables/rules.v6 

Теперь они будут восстановлены при перезагрузке.

На самом деле вам также не нужны iptables-persistent . У этого вопроса есть еще одно почти простое решение.

Обратите внимание, что вам нужно запустить iptables-save как root, или с помощью sudo :

 sudo bash -c "iptables-save > /etc/iptables/rules.v4" 

Если вы просто запустите sudo iptables-save > /etc/iptables/rules.v4 вы получите сообщение «access denied» для rules.v4 .

Существует несколько способов ограничить сайты https.

1- Squid Proxy

2- IPtables

С Squid Proxy Server

-> Откройте конфигурацию Squid в моем случае (vim /etc/squid/squid.conf)

-> Поместите правила, как определено.

Acl badsite dstdomain .facebook.com .soundcloud.com .playit.pk .songs.com

Http_reply_access deny badsite # Эта строка блокирует HTTP

Http_access deny CONNECT badsite # Этот блок строк HTTPS

-> После этого перезапустите кальмара

С Iptables Вам нужно установить правила как определить здесь

Iptables -N STREAM

Iptables -I OUTPUT -m string –string "www.facebook.com" –algo bm – from 1 –to 600 -j STREAM

Iptables -I OUTPUT -m string –string "facebook.com" –algo bm – from 1 –to 600 -j STREAM

Iptables -I FORWARD -m string –string "www.facebook.com" –algo bm – from 1 –to 600 -j STREAM

Iptables -I FORWARD -m string –string "facebook.com" –algo bm – from 1 –to 600 -j STREAM iptables -A STREAM -j REJECT

В разделе gentoo, чтобы сохранить правила iptables, которые вы добавили, используйте

 /etc/init.d/iptables save 

Тем не менее, вам также необходимо убедиться, что сценарий инициализации iptables (целью которого является перезагрузка правил) запускается при загрузке:

 rc-update add iptables default 

Обе команды должны выполняться как root (через sudo, если вы его установили)

Ok, Предположим, вы хотите заблокировать IP-адрес 192.168.1.5, просто введите это в командной строке в свой сценарий оболочки:

 iptables -A INPUT -s 192.168.1.5 -j DROP 

Затем вы можете заблокировать исходящий IP-адрес 192.168.1.2 с сервера с помощью этой команды:

 iptables -A OUTPUT -d 192.168.1.2 -j DROP 

И он должен блокировать этот сайт, когда-либо беспокоя вас. надеюсь это поможет.

 -A INPUT -p tcp -m tcp -d www.facebook.com -j DROP 

Мы просто изучили его сегодня

Debian 7

Если вы хотите разрешить им пинговать этот сайт, просто добавьте --dport 80,443 после имени веб-сайта

  • DD-WRT - Переадресация на основе хоста
  • Блокировать запросы ARP (или, если возможно, широковещательное сообщение) из A SPECIFIC HOST в подсети
  • Требуется правило iptables для принятия всего входящего трафика
  • Какие правила iptables разрешают ntp?
  • Маршрутизация трафика ЛВС через eth0, а не tun0, в точке доступа к VPN
  • Предел пропускной способности по порту на iptables
  • Каков наилучший способ ограничить IP-адреса, которые могут быть доступны из контейнера докеров?
  • Блокировать обновления Windows 10 P2P с помощью корпоративного межсетевого экрана
  • Разделение двух сетей
  • Ubuntu IPTables позволяет разрешить только 1 страну
  • Iptables обрабатывает трафик с разных хостов по-разному, несмотря на правила
  • SSH обратный туннель в контейнер Docker
  • Interesting Posts

    Новый ноутбук с Intel® Dual Band Wireless-AC 3160 имеет непоследовательное беспроводное соединение

    Firefox – всегда показывать вкладки в полноэкранном режиме

    Пакетная программа не работает так, как должна!

    Загрузка репозитория Ubuntu iso

    Есть ли исчерпывающий список того, что Windows регистрирует или может регистрироваться?

    Как вводить символы Unicode в KDE?

    Untar, ungz, gz, tar – как вы помните все полезные опции?

    Почему мой .bashrc читается, когда я запускаю неинтерактивные команды по ssh

    Могу ли я установить оригинальную копию Windows (OEM) на несколько разделов на одном компьютере?

    Каков наилучший способ увеличить диапазон моего маршрутизатора 802.11g?

    Загрузка Asus X205T Legacy

    Как обмениваться Интернетом в Windows 7 с помощью двух сетевых карт?

    Как сохранить часть таблицы, которая всегда видна во время навигации

    16 ГБ флэш-накопитель USB превратился в 1 ГБ после записи образа ISO на него

    Отключить ключ отключения на моей клавиатуре?

    Давайте будем гением компьютера.