Bloquear servidor por falta de pagamento
Essa dica é muito válida para aquele cliente que atrasa o pagamento ou diz que esqueceu de fazê-lo e fica enrolando.
Para não estressar, coloque uma script na cron do equipamento para fazer esse serviço para você conforme a data de pagamento. :D
Segue abaixo um script que eu coloco no
/etc/cron.daily para um equipamento firewall.
Ele coloca o forward como drop para ele não conseguir acessar a internet, mas deixa o input liberado para eu entrar e liberar o equipamento remotamente.
#!/bin/bash
# Variáveis #
data=`date +%d%m%y`
if [ $data == "070708" ]; then
iptables -X
iptables -Z
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F -t nat
iptables -F -t mangle
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P FORWARD DROP
mv /etc/rc.d/rc.firewall /etc/rc.d/rc.firewall-bkp-travado
echo "iptables -t filter -P INPUT ACCEPT" >> /etc/rc.d/rc.firewall
echo "iptables -t filter -P OUTPUT ACCEPT" >> /etc/rc.d/rc.firewall
echo "iptables -t filter -P FORWARD DROP" >> /etc/rc.d/rc.firewall
chmod 700 /etc/rc.d/rc.firewall
fi
if [ $data == "070808" ]; then
sleep 90
iptables -X
iptables -Z
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F -t nat
iptables -F -t mangle
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P FORWARD DROP
mv /etc/rc.d/rc.firewall /etc/rc.d/rc.firewall-bkp-travado
echo "iptables -t filter -P INPUT ACCEPT" >> /etc/rc.d/rc.firewall
echo "iptables -t filter -P OUTPUT ACCEPT" >> /etc/rc.d/rc.firewall
echo "iptables -t filter -P FORWARD DROP" >> /etc/rc.d/rc.firewall
chmod 700 /etc/rc.d/rc.firewall
fi
E assim você pode colocar todas as datas que foram acertadas para pagamento no script.
Um detalhe importante: retirar a regra para o mês que o cliente pagar! Assim pode ser feito para vários serviços que você possui.
Tenho um cliente que possui um servidor de arquivos que o script é muito parecido.
#!/bin/bash
# Variáveis #
data=`date +%d%m%y`
if [ $data == "070708" ]; then
/etc/rc.d/rc.samba stop
chmod 000 /etc/rc.d/rc.samba
fi
Em ambos é necessário pensar que o cliente pode reiniciar o equipamento para tentar voltar o serviço, mas nesse caso ele não voltará.
Espero ter ajudado.
Sérgio Abrantes
[]'s
Outras dicas deste autor
Slackbuilds.org: Instalando pacotes para o Slackware Linux
Verificando erros na instalação do Squid
Mplayer funcionando fullscreen
Instalando o flash player do Mozilla Firefox no Slackware Linux
LILO: undefined video mode number
Leitura recomendada
Curso de Shell Script Avançado
Resoveldo problema com proxy no Conectividade Social
Testando se o servidor está no ar, caso não esteja, a máquina é desligada
Compilação Kernel 4.0.3 no Slackware
Fazendo backup ou cópia somente dos arquivos alterados no último dia
Comentários
cara interessaante dua dica so Bloaquear Servidor por falta de pagamento
Jeferson ROseira
Contribuir com comentário
Enviar