Tenho vários colegas de quarto que dividem minha conta de internet comigo todos os meses. Ocasionalmente, eles esquecem de me pagar, e eu tenho que incomodá-los pelo dinheiro.
Se, após três dias de incomodo, eles ainda não tiverem pago, eu crio uma regra de firewall no meu roteador baseado em unix que bloqueia o tráfego para o endereço MAC. Isso prova ser muito eficaz para conseguir que colegas de quarto inadimplentes paguem o dinheiro.
Como automatizar a adição / remoção de um endereço mac em uma regra de firewall no dia 3 de cada mês? Eu gostaria de uma maneira simples de desbloqueá-los pelo resto do mês depois que eles pagarem.
Atualmente, estou usando o pfsense. Embora exista um módulo de portal cativo , ele não suporta a regulação do acesso por usuário / mês.
Como automatizar o acesso à Internet de colegas de quarto de bloqueio / desbloqueio?
fonte
Respostas:
~/do_not_block_friends
existir e seu horário de modificação estiver dentro do período do mês (stat -c %y filename
) - não execute o script.touch ~/do_not_block_friends
.O script será executado e verá que
do_not_block_friends
foi modificado, portanto, não será executado o comando iptables.Se eles não pagaram, o script os bloqueará.
Depois que eles pagam, você executa outro script preparado para desbloqueá-los.
Este é um plano geral, sem muitos detalhes, mas não acho que seja difícil descobrir o resto.
Editar :
Aqui está uma maneira mais simples de escrever esse script:
Usamos o
find
comando com as seguintes opções:maxdepth 1
- Não procure recursivotype f
- Procurar arquivoname
- Procure este nomemtime -31
- Localizar arquivo modificado há menos de 31 diaswc -l
contará a quantidade de linhas geradas pelo comando. Será0
que os amigos não pagaram (nada foi encontrado) e será1
se os amigos pagaram e nóstouch
controlamos o arquivo.Esse script não calcula a quantidade de dias no mês e o padrão é 31, acho que está bom, pois não estamos construindo um sistema de cobrança comercial, mas acredito que mesmo isso possa ser calculado no bash.
fonte
Pode ser mais do que você procura, mas você já pensou em configurar credenciais sem fio usando a autenticação 802.1x no RADIUS como back-end?
O RADIUS pode ser configurado para verificar o validador desejado (algo que você provavelmente precisará criar e armazenar em um banco de dados ou algo do tipo) para ver se seus colegas de quarto pagaram o aluguel. Quando eles se autenticam e pagam, o RADIUS os autentica. Caso contrário, não. O aspecto positivo disso é que você não depende da filtragem de endereços MAC. Dessa forma, se você tem colegas de quarto experientes em tecnologia, eles não poderão facilmente ignorar os controles que você colocou no lugar.
fonte
Verifique se sua conta bancária ou outra solução de transação que você pode usar (PayPal?) Oferece alguma forma de notificação de pagamento automático, como:
Se qualquer método desse tipo estiver disponível, basta escrever um script simples que monitore os pagamentos. Você pode apenas analisar os e-mails do banco buscando os pagamentos mensais de seus amigos. Você precisaria de um arquivo de configuração para armazenar o número da conta ou o ID de cada amigo, a soma a pagar (também pode ser uma constante global) e o endereço MAC.
O script ajustaria as entradas do firewall de acordo com o status do pagamento mensal.
Posteriormente, informe seus amigos sobre as opções de pagamento disponíveis e - ao configurar seu firewall - lembre-se de fornecer a seus amigos acesso ao mecanismo de pagamento para que eles ainda possam pagar quando perderem o período de cortesia de três dias :)
fonte