![Я не могу заблокировать IP](https://rvso.com/image/658740/%D0%AF%20%D0%BD%D0%B5%20%D0%BC%D0%BE%D0%B3%D1%83%20%D0%B7%D0%B0%D0%B1%D0%BB%D0%BE%D0%BA%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20IP%20.png)
У меня есть правило перенаправления на моем CSF, как показано ниже;
17.1.1.13|80|27.5.5.22|80|tcp
17.1.1.13
мой брандмауэр (csf) и 27.5.5.22
мой адрес веб-сервера. Так что все получают доступ к моему веб-сайту через брандмауэр. Блокировка правила перенаправления на CSF (iptables)
Я пытался заблокировать 50.30.0.0/16
блокировку CIDR, и она была добавлена в мой csf.deny
файл.
Теперь, если я попытаюсь посетить веб-сайт, используя 44.5.6.7
IP-адрес, я смогу. Хотя 50.30.0.1
он заблокирован, я могу получить доступ к веб-сайту, используя IP-адрес. Я хочу заблокировать его 50.30.0.1
при любых обстоятельствах.
Связанные строки моего iptables, как показано ниже. Что мне делать?
Chain DENYIN (1 references)
num pkts bytes target prot opt in out source destination
1 0 0 LOGDROPIN all -- !lo * 50.30.0.0/16 0.0.0.0/0
Chain DENYOUT (1 references)
num pkts bytes target prot opt in out source destination
1 0 0 LOGDROPOUT all -- * !lo 0.0.0.0/0 50.30.0.0/16
Chain PREROUTING (policy ACCEPT 7 packets, 336 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 REDIRECT tcp -- !lo * 50.30.0.0/16 0.0.0.0/0
2 0 0 REDIRECT tcp -- !lo * 50.30.0.0/16 0.0.0.0/0
3 0 0 DNAT tcp -- !lo * 0.0.0.0/0 17.1.1.13
4 0 0 DNAT tcp -- !lo * 0.0.0.0/0 17.1.1.13
Chain POSTROUTING (policy ACCEPT 6 packets, 699 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 SNAT tcp -- * !lo 0.0.0.0/0 27.5.5.22
2 0 0 SNAT tcp -- * !lo 0.0.0.0/0 27.5.5.22
решение1
При использовании APPEND
команды iptables -A (для ) ваше правило добавляется в конец таблицы.
Правила оцениваются от первого к последнему, и любое совпадающее правило, которое приводит к решению ( ACCEPT
, REJECT
, DENY
), останавливает оценку любого последующего правила.
Итак, здесь происходит то, что ваше DROP
правило никогда не будет иметь значения, поскольку если бы iptables
оно было оценено, оно бы в любом случае попало в DROP
политику.
Вам нужно добавить свое правило перед любым ACCEPT
правилом, к которому вы хотите, чтобы соответствующий IP-адрес не мог получить доступ. Я бы предположил, что это первое правило в вашем случае.
Что было бы что-то вроде
iptables -I INPUT -s 5.254.0.0/16 -j DROP
Правило будет добавлено в начало таблицы, поэтому оно будет рассмотрено в первую очередь и проигнорировано для всех соответствующих IP-адресов, пакеты которых будут отброшены.
Обратите внимание: если вам нужно точнее указать, куда вставлено правило, вы можете указать позиционный номер сразу после -I
.