Realmente o
webmin é uma ferramenta fantástica no que diz respeito na configuração e manutenção de servidores, então com intuito de oferecer uma demonstração desta ferramenta, que contribui grandemente aos que estão estudando como montar servidores com
Linux, também uma forma dos técnicos ensinarem aos seus padrões como configurar de forma mais simples o servidor sem a necessidade de aprender o "mapa do tesouro", isto é, sem a obrigação de compreender as linhas de comando do Shell. Assim, este tópico apenas tratará sobre um módulo do webmin que nos ajudará a configurar o servidor.
Vamos imaginar a seguinte situação, você é especialista em Linux, uma empresa de pequeno porte (pode ser uma lan house ou um provedor de acesso) lhe contrata para montar um servidor com as seguintes especificações, servidor com proxy-squid, ativado com proxy transparente, controle de banda para ninguém ultrapassar os limites de consumo evitando a rede ficar lenta, segurança com o firewall iptables/netfilter, incluindo o bloqueio a sites indesejados, amarração de ip ao mac e etc. Mas por acaso você decide utilizar este script para implementar como solução de parte dessas exigências, então você monta o sistema, configura-o deixando o mesmo funcionado perfeitamente, mas o gerente da lan house ou provedor decide acrescentar mais um PC na rede e como você é um ótimo profissional muito requisitado, não tem muito tempo disponível para apenas configurar um PC na rede, sendo assim você decide que o responsável pela empresa que lhe contratou pode ter certa autonomia no sentido de pelo menos configurar um pczinho a mais na rede, neste lhe aconselho até mesmo para você mesmo o uso do webmin.
Neste contexto o uso deste script fará que um computador que não possui seu mac e ip cadastrado no arquivo maclist tenha acesso totalmente bloqueado pelo firewall, a solução então esta em um modulo do webmin chamado "comandos personalizados", ele está na guia outros do webmin. Neste módulo é possível criar pequenos editores de textos, criar comandos personalizados; chamando scripts com opções ou comandos do sistema, tudo para facilitar a configuração.
No caso vou ensinar a criação de 4 editores de texto e um comando personalizado referentes a configuração do firewall presente neste shell-script, sendo para os seguintes arquivos: maclist, portslib, portsblo e sitesnegados; o comando personalizado ficará para o "/etc/init.d/firewall restart".
Vamos criar primeiro para o arquivo maclist, siga os passos:
- Clique em adicionar "Create a new file editor";
- No campo "Description" coloque a descrição do arquivo o ele faz sugiro: Macs & IPs autorizados pelo firewall;
- No campo "File to edit" coloque o endereço do arquivo, se você seguiu minhas orientações iniciais ele estará no endereço: /etc/configuracao_personalizada/macsliberadosfirewall, o restante deixe como está;
- Clique em Salvar.
Deixe-o como neste exemplo:
Sigas os mesmos passos acima para:
/etc/configuracao_personalizada/ portslib
/etc/configuracao_personalizada/portsblo
/etc/configuracao_personalizada/sitesnegados
No caso do comando siga estes passos:
- Clique em "Criar novo comando personalizado";
- No campo "Descrição" coloque: Reiniciar as configurações do Firewall e no outro campo abaixo dele coloque: Caso altere alguma configuração do firewall clique aqui;
- No campo "Comando" coloque: /etc/init.d/firewall restart;
- Na opção "Run in directory" marque como padrão;
- No campo "Executar como utilizador" coloque root e marque-o;
- Na opção "Resultados do comando em HTML?" marque como SIM, o restante deixe como está;
- Clique em Salvar.
Deixe-o como neste exemplo:
Pronto! Agora ele deverá ter um formato semelhante ao da seguinte imagem:
Determinado provedor de acesso usa esta amarração de ips & macs e certo cliente não pagou a mensalidade e como ele sabia a chave de criptografia do roteador wireless poderia acessar a internet sem dificuldades, mesmo nesta situação de inadimplência, sendo que este provedor não usa ainda autenticação, e então como eles possuem essa amarração colocaram a letra "b" no status do maclist e reiniciariam o script, no final da história o cliente que não pagou também não acessou. Heheheh :-)