Блокировка веб-страницы с помощью Firewalld

Я пытаюсь заставить мой огненный мир блокировать ip обратитесь с правилами:

  • sudo firewall-cmd --zone=block --add-source=<ip_address/submask> --permanentи также добавив это richrule в зону по умолчанию (общедоступную)
  • sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address=<ip_address> rejectзатем я перезагружаю правило sudo firewall-cmd --reload

Но все же я могу перейти на сайты в моем браузере. Очевидно, я делаю что-то не так. Как я могу заблокировать доступ к любой веб-странице, используя firewalld,

Вот мои правила зоны:

block (active)
  interfaces: enp0s3
  sources: 172.217.5.110/32 216.49.176.33/32
  services: 
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 


public (default, active)
  interfaces: docker0
  sources: 
  services: dhcpv6-client ssh
  ports: 993/tcp 995/udp 995/tcp 22161/udp 4243/tcp 22/tcp 22/udp 465/tcp
  protocols: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 

1 ответ

Решение

Хорошо, после долгих раскопок я, наконец, получил его на работу. Требуется добавить то, что называется direct rule, чтобы заблокировать IP как 216.49.176.33 правило для добавления будет:

sudo firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -d 216.49.176.33/32 -p tcp -m tcp --dport=80 -j DROP

sudo firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -d 216.49.176.33/32 -p tcp -m tcp --dport=443 -j DROP

Затем перезагрузите с:

sudo firewall-cmd --reload

Чтобы увидеть правила добавления:

sudo firewall-cmd --direct --get-all-rules

Теперь удалите интерфейс из зоны по умолчанию, которая в моем случае была public как правило, если:

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

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

Для удаления я использовал;

sudo firewall-cmd --permanent --remove-interface=enp0s3
sudo firewall-cmd --reload

НОТА:

После этого вам придется очистить данные о просмотре в соответствующих браузерах, после чего вы не сможете получить доступ к этому IP-адресу и примечанию. Я также использовал mask 32, чтобы убедиться, что те ip, которые имеют несколько ip, указывающих на их домен, будут заблокированы.

Я также, конечно, CHAIN вариант может быть INPUT чтобы предотвратить движение в палате. Опция --dport=<80|443> используется, чтобы поймать оба http а также https трафики.

Использование:

usage: --direct --add-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args>
Другие вопросы по тегам