- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть текстовый файл ip.txt, в каждой строке которого записан IP адрес в текстовом формате
Пример файла ip.txt
187.65.27.242
59.97.208.180
88.164.194.205
Посоветуйте, пожалуйста, как сделать, что бы для каждой строки из файла ip.txt выполнить определенную команду?
То есть нужна программа, которая прочитает файл ip.txt и для каждой строки выполнит, команду подставив IP адрес из файла.
Вот пример.
iptables -A INPUT -s 187.65.27.242 -j DROP
iptables -A INPUT -s 59.97.208.180 -j DROP
iptables -A INPUT -s 88.164.194.205 -j DROP
Можно ли это сделать на shell Linux? Если да то посоветуйте какие команды использовать.
#!/bin/sh
for i in `cat ip.txt`
do
iptables -A INPUT -s $i -j DROP
done
Только не забудьте на всякий случай в начале явно разрешить свой айпи в фаере, а то мало ли..
cat ip.txt | xargs -n1 -I_ iptables -A BAN -s _ -j DROP
INPUT не стоит захламлять кучей отднотипных правил - вынесите
их в отдельную чепочку и подключите ее _одним_ правилом в INPUT.
еще вариант -
cat ip.txt | while read $ip;
do
список команд
done
Будет работает для кучи команд и огромных файлов.
Совет по поводу цепочки - согласен. Еще лучше - загружать это одним сисколлом через iptables-save/iptables-restore
Будет работает для кучи команд и огромных файлов.
только $ в $ip - имхо, лишнее ;)
Еще лучше - загружать это одним сисколлом через iptables-save/iptables-restore
скорее, не загружать, а _догружать_. как-то так:
Спасибо за помощь.
Хакеры снова начали ддосить.
Пока решил проблему напсанием на с++ анализатора логов апача, который получает список IP адресов ботнета, затем эти IP заносятся в iptables.
Пока атаку отбил.
Посмотрим, что они завтра придумают.
Есть текстовый файл ip.txt, в каждой строке которого записан IP адрес в текстовом формате
Пример файла ip.txt
187.65.27.242
59.97.208.180
88.164.194.205
Посоветуйте, пожалуйста, как сделать, что бы для каждой строки из файла ip.txt выполнить определенную команду?
То есть нужна программа, которая прочитает файл ip.txt и для каждой строки выполнит, команду подставив IP адрес из файла.
Вот пример.
iptables -A INPUT -s 187.65.27.242 -j DROP
iptables -A INPUT -s 59.97.208.180 -j DROP
iptables -A INPUT -s 88.164.194.205 -j DROP
Можно ли это сделать на shell Linux? Если да то посоветуйте какие команды использовать.
#!/bin/sh
while read line
do
iptables -A INPUT -s $line -j DROP
done < ip.txt
Спасибо за помощь.
Хакеры снова начали ддосить.
Пока решил проблему напсанием на с++ анализатора логов апача, который получает список IP адресов ботнета, затем эти IP заносятся в iptables.
Пока атаку отбил.
Посмотрим, что они завтра придумают.
А что, не проще ли iplimit в N коннектов с подсети /24 поставить?
А что, не проще ли iplimit в N коннектов с подсети /24 поставить?
Может и проще, если бы я знал как.
Не подскажите команду, которая это сделает?
zexis, оставьте как есть. Блокирование по числу коннектов гребет всех подряд под одну гребенку. Программа, раз уж вы осилили ее написание, сможет более тонко распознать бота. Андрейка сам бот, поэтому предлагает такие решения :)
Хотя можно и то и другое, но iplimit должен срабатывать при очень сильном превышении разумного числа коннектов.
согласен с netwind. iplimit/connlimit, даже hashlimit - это крайние меры, они не
знают даже прикладного протокола, работу которого в итоге ограничивают.
я бы посоветовал настроить лимиты в легком прокси перед основным
веб-сервером. в nginx для этого есть замечательные limit_conn и
limit_req. будете отдавать временно забаненым легкую статику, а "особо
отличившихся" - банить по результатам парсинга error.log nginx'а.
обращайтесь, если интересует такое решение.