Sou estagiário de administração de sistemas para uma empresa de hospedagem e estou tentando descobrir como realizar essa tarefa, de modo que farei o mais descritivo possível.
Temos o / etc / blockedips e o / etc / donotblock
Eu quero criar um script que eu possa eventualmente configurar no cron que será executado como uma vez a cada hora que varre os arquivos e os compara e a) envia um alerta (usamos o watchdog) ou b) remove automaticamente o IP inside / blockedips que coincide com o que ele não deveria estar bloqueando dentro / donotblock, já que temos muitos outros técnicos que sempre adicionam IPs que não devem ser bloqueados.
O problema que estou tendo como novo no script é que posso executar facilmente um simples comando grep para endereços IP diretos (ex: 76.76.76.76 será facilmente encontrado em ambos os arquivos), mas não consigo descobrir como fazer o seguinte:
Digamos que o bloqueio de IP de nossas empresas seja 99.10.10.0/24. Eu não quero colocar em cada endereço dentro / donotblock, eu só quero que o script corresponda a qualquer IP que é 99.10.10. * E eu estou desenhando um espaço em branco sobre como realizar isso.
Alguém pode me apontar a direção certa com isso?
Editar: amostra
Então os arquivos são assim:
/ etc / donotblock
Us
26.225.128.0/18
43.150.128.0/20
44.50.142.0/24
73.16.32.0/20
Todos os outros
184.123.20.10
184.123.20.11
e depois
/ etc / blocked_ips
76.45.23.1
digamos que alguma tecnologia seja adicionada ao / blocked_ips
73.16.32.10, só quero que o script procure "73.16.32. *" para compensar toda essa sub-rede.
Falando ao engenheiro-chefe, ele prefere que o script remova automaticamente o IP dentro de "blocks_bloqueados" que correspondem ao que está no donotblock
Obrigado