Назад | Перейти на главную страницу

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

Так что это должна быть простая проблема, но по какой-то причине я не могу ее понять.

Вот мои текущие правила:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
block      all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
block      all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
block      all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere

Chain block (3 references)
target     prot opt source               destination
DROP       all  --  hit-nxdomain.opendns.com  anywhere

Я пытаюсь заблокировать местоположение "hit-nxdomain.opendns.com" (фиктивное местоположение). Когда я ввожу реальный IP-адрес, я могу использовать его из другого места. Если я попытаюсь подключиться к своему серверу из этого места, он все равно будет нормально подключаться. Как я могу заставить его отбрасывать все запросы с этого IP-адреса?

Я использую цепочку, потому что я буду динамически изменять заблокированные IP-адреса с помощью сценария, поэтому мне нужно иметь возможность очистить только цепочку блоков, не нарушая цепочку INPUT, и добавлять новые адреса. Можете ли вы показать мне, что я делаю не так, как сейчас? Как я уже сказал, «hit-nxdomain.opendns.com» - это просто фиктивное имя. Но если у меня есть действующий IP-адрес, он его не блокирует.

Получите IP этого имени хоста:

$ host hit-nxdomain.opendns.com
hit-nxdomain.opendns.com has address 67.215.65.132

Заблокируйте это:

$ iptables -I INPUT -s 67.215.65.132 -j DROP

Я не вижу проблем с правилами. Чтобы заблокировать IP-адрес, вы используете

   # iptables -A INPUT -s 127.0.0.100 -j DROP

Если вы все еще можете подключиться с этого IP-адреса, проверьте с помощью tcpdump, действительно ли вы подключаетесь с этим IP-адресом или по какой-то причине (прокси, VPN, ...) вы видите на хосте с правилами iptables как другой IP-адрес.