Aew galera,
Olha só devido as necessidades da empresa que trabalho tenho que está
abrindo,liberando bloqueando portas pelo iptables constantemente,
o script está muito grande e fica dificil de acompanhar e ter algo facil
e rapido de administrar, então pensei em criar um script que facilite
minha vida
e talvez dos outros e que funcione da seguinte forma:
-Primeiro crio uma pasta /etc/firewall na qual coloco todos os "serviços
de firewall"(regras divididas por arquivos), e uma pasta dentro do
/etc/init.d/firewall na qual conterá os links para os serviços startados
no boot. deixe-me explicar melhor , vamos supor que tenho um serviço web
rodando na porta 80, então crio um script dentro da pasta /etc/firewall
chamado, webserver , este script conterá o codigo referente a ativação
do serviço web no iptables, e aceitará os comandos:
start, stop, desc, boot, noboot e time
start - inicia o serviço.
stop - Para o mesmo
status - Mostra o status do mesmo.
desc - Mostra uma breve descrição.
boot - ativa o mesmo para rodar no boot(cria um link na pasta
/etc/init.d/firewall)
noboot -desativa o mesmo para rodar no boot(deleta um link se houver na
pasta /etc/init.d/firewall)
time - este vai aceitar parametros também, e ativa o serviço por um
tempo determinado, ou cria um periodo no qual o mesmo deva ser ativado e
desativado
(para parar o serviço depois de um tempo pensei, em passar o serviço com
o parametro stop para o comando AT) se for para ativar e desativar, em
periodos determinados, utilizamos o conhecido crontab =) .
Dai se eu quero ativar o acesso a web um periodo de 2 horas daria o comando
# rc.firewall webserver start time 120
Penso em fazer algo do tipo, se o serviço estiver startado, e quiser
parar daqui a duas horas passar o comando com o parametro stop assim.
# rc.firewall webserver stop time 120
Se o mesmo não estiver ativo no boot, e eu quiser ativar o mesmo, digitaria
# rc.firewall webserver boot
Bom é isso, mas o motivo de escrever isto é que não tenho conhecimentos
profundos de shell script, então gostaria se possivel da ajuda de
alguém, alguém se disporia a me ajudar?
Sds,
Anderson