@Sviteneg

Фильтрация входящих (подключаемых) IP-адресов с помощью проверки через скрипт (Linux)?

Доброго времени суток, уважаемые специалисты.
Ломаю голову на одним вопросом, но никак не могу понять с помощью чего это можно реализовать и возможно ли вообще.
Ситуация обстоит следующим образом:
1. ОС: Debian 8.7;
2. На сервере работает игровой сервер, который принимает входящие соединения от клиентов (игроков) по TCP и UDP на игровые порты 12001, 12002, 12003, 12004;
3. Также, есть простой скрипт на bash, который при помощи curl проверяет IP на предмет проксирования с помощью proxy.mind-media.com/block ;
4. Когда игрок подключается к серверу, со стороны игрока, в игровом клиенте при подключении выходит окно типа "Подключение к серверу" и висит 5-6 секунд, в этот момент разумеется происходит установка соединения с серверной частью игры.

Задача состоит в том, чтобы в момент подключения игрока к серверу (5-6 секунд), на сервере как-то проверялся его IP-адрес на предмет проксирования с помощью скрипта или чего-либо ещё(?). Если человек использует прокси, соединение обрывается и IP-адрес добавляется в блок с помощью iptables. Если нет, человек успешно заходит в игру.
Причём насколько я понимаю, по логике, какой-то сервис или утилита должна мониторить входящие IP-адреса на игровых портах и скармливать скрипту на проверку.

Возможно ли реализовать такую систему? В какую сторону изучать этот вопрос?

Благодарю за внимание.
  • Вопрос задан
  • 138 просмотров
Решения вопроса 1
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Делайте tail-f лога подключений или по крону грепайте периодически адреса, с которых к вам подключаются и натравливайте вывод на ваш скрипт, в котором в случае положительного ответа добавьте создание запрещающего правила для iptables. Можно вместо прямой отправки на фаерволл писать "плохие" айпишники в отдельный файл, для которого настроить более интеллектуальный парсер, например fail2ban.

Если я вас правильно понял, конечно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы