Где лучше всего блокировать нежелательные IP-адреса?

verfaa

Профессор
Регистрация
29 Янв 2007
Сообщения
417
Реакции
49
Возникла необходимость поблочить подсети IP-адресов некоторых африканских стран.
И возник вопрос где это лучше всего сделать?

1. named.conf
пишем acl "fakeips" {
# 0.0.0.0/8;
};

Затем в options {
blackhole { fakeips; };
}

2. В файле hosts.deny

3. В nginx.conf

4. Ваш вариант

И как правильно в этих файлах подсети опысывать?
Допустим, мне нужно забанить IP Для просмотра ссылки Войди или Зарегистрируйся
Искомая подсеть или диапазон IP это parent: 41.82.0.0 - 41.83.255.255 ?

И как мне теперь одним махом заблочить все эти IP на сервере?

И ещё, где лучше всего смотреть информацию о IP? Сайту Для просмотра ссылки Войди или Зарегистрируйся можно доверять?
 
если только вэб то nginx + geoip вполне
если надо все то iptables + geoip
 
А под "geoip" что имеется ввиду? Нужно ещё в каком-то дополнительном файле IP прописывать?
 
Боролся как то с данной проблемой, запарился добавлять в бан ip массивы, решил просто открыть доступ для рунета ну и гугла), все делал через iptables, если нужно более подробно опиши полностью свой хост, сервер, vds...
п.с. нагрузка на сервер упала в разы, нет спама и взломов...
 
Вот здесь: Для просмотра ссылки Войди или Зарегистрируйся
Выбираете страну (в вашем примере Сенегал) и формат.

При данном типе блокировки нагрузку будет терпеть Аппачь - веб сервер, логичней заблочить по портам - ну это конечно если у вас VDS.
 
При данном типе блокировки нагрузку будет терпеть Аппачь - веб сервер, логичней заблочить по портам - ну это конечно если у вас VDS.

Про Апачи никто и не говорил.
Список сетей можно скормить iptables.
 
Искомая подсеть или диапазон IP это parent: 41.82.0.0 - 41.83.255.255 ?

И как мне теперь одним махом заблочить все эти IP на сервере?

И ещё, где лучше всего смотреть информацию о IP? Сайту Для просмотра ссылки Войди или Зарегистрируйся можно доверять?
NET1="41.82.0.0/16"
NET2="41.83.0.0/16"

iptables -A INPUT -s $NET1 -j DROP
iptables -A INPUT -s $NET2 -j DROP

или, если нужно только apache, nginx, то
iptables -A INPUT -s $NET1 -p tcp --dport 80 -j DROP
iptables -A INPUT -s $NET2 -p tcp --dport 80 -j DROP
iptables -A INPUT -s $NET1 -p tcp --dport 8080 -j DROP
iptables -A INPUT -s $NET2 -p tcp --dport 8080 -j DROP
 
Назад
Сверху