Блокировка веб-страницы с помощью 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>