Script PHP/MySQL - Controle de Máquinas via MAC Address no IPtables
Nesse meu primeiro artigo, vou mostrar como criar um script funcional em PHP que possibilita a inserção de regras iptables para controle do acesso à Internet das máquinas pelo MAC address.
Montando o script PHP com as regras
Trabalho com administração de redes e verifiquei a necessidade de automatizar o processo de bloqueio das máquinas dos laboratórios da mesma. Pois ficar tirando o cabo do switch não é uma opção muito boa, já que o desgaste da porta é grande e, cedo ou tarde, teremos problemas.
Pensei em várias alternativas, como SNMP e scripts que rodem do servidor (eu utilizo o Debian). Verificando os comandos disponíveis no PHP, achei um tal de system();
A partir daí, foi só deixar a imaginação correr. ;)
Primeiramente, criaremos o arquivo "index.php":
A partir desta página, chamaremos os arquivos PHP necessários.
Pensei em várias alternativas, como SNMP e scripts que rodem do servidor (eu utilizo o Debian). Verificando os comandos disponíveis no PHP, achei um tal de system();
A partir daí, foi só deixar a imaginação correr. ;)
Primeiramente, criaremos o arquivo "index.php":
<?php
echo '<h4>';
$data = system('date');
echo '</h4>';
?>
<html>
<body>
<table Border=1>
<tr>
<td>
<form action="systemmac.php" method="post">
<h2>Entre com o endereco IP:</h2>
<h2><input type="text" name="var9" value=""/></h2><br>
<input type="submit" value="Enviar IP"/>
</form>
</td>
<td>
<form action="systemmac.php" method="post">
<h2>Ativar o laboratorio03!</h2>
<input name="var9" type="hidden" value="1">
<input type="image" src="img.png" name="var9" value="1"/>
</form>
</td>
</tr>
<tr>
<td>
<form action="systemmac.php" method="post">
<h2>Desativar o laboratorio03!</h2>
<input name="var9" type="hidden" value="2">
<input type="image" src="imgdes.png" name="var9" value="2"/>
</form>
</td>
<td>
<form action="systemmac.php" method="post">
<h2>Verificar conexoes ativas!</h2>
<input name="var9" type="hidden" value="3">
<input type="image" src="img.png" name="var9" value="3"/>
</form>
</td>
</tr>
<tr>
<td>
<form action="systemmac.php" method="post">
<h2>Restaurar o Firewall!</h2>
<input name="var9" type="hidden" value="5">
<input type="image" src="rest.png" name="var9" value="5"/>
</form>
</td>
<td>
<form action="systemmac.php" method="post">
<h2>Verificar o status do Firewall!</h2>
<input name="var9" type="hidden" value="6">
<input type="image" src="rest.png" name="var9" value="6"/>
</form>
</td>
</tr>
<tr>
<td>
<form action="insmac.php" method="post">
<h2>Configurar o sistema!</h2>
<input name="var9" type="hidden" value="">
<input type="image" src="rest.png" name="var9" value=""/>
</form>
</td>
<td>
<form action="systemmac.php" method="post">
<h2>Ativar Laboratorio04!</h2>
<input name="var9" type="hidden" value="7">
<input type="image" src="rest.png" name="var9" value="7"/>
</form>
</td>
</tr>
<tr>
<td>
<form action="systemmac.php" method="post">
<h2>Desativar Laboratorio04!</h2>
<input name="var9" type="hidden" value="8">
<input type="image" src="rest.png" name="var9" value="8"/>
</form>
</td>
<td>
</td>
</tr>
</table>
</body>
</html>
echo '<h4>';
$data = system('date');
echo '</h4>';
?>
<html>
<body>
<table Border=1>
<tr>
<td>
<form action="systemmac.php" method="post">
<h2>Entre com o endereco IP:</h2>
<h2><input type="text" name="var9" value=""/></h2><br>
<input type="submit" value="Enviar IP"/>
</form>
</td>
<td>
<form action="systemmac.php" method="post">
<h2>Ativar o laboratorio03!</h2>
<input name="var9" type="hidden" value="1">
<input type="image" src="img.png" name="var9" value="1"/>
</form>
</td>
</tr>
<tr>
<td>
<form action="systemmac.php" method="post">
<h2>Desativar o laboratorio03!</h2>
<input name="var9" type="hidden" value="2">
<input type="image" src="imgdes.png" name="var9" value="2"/>
</form>
</td>
<td>
<form action="systemmac.php" method="post">
<h2>Verificar conexoes ativas!</h2>
<input name="var9" type="hidden" value="3">
<input type="image" src="img.png" name="var9" value="3"/>
</form>
</td>
</tr>
<tr>
<td>
<form action="systemmac.php" method="post">
<h2>Restaurar o Firewall!</h2>
<input name="var9" type="hidden" value="5">
<input type="image" src="rest.png" name="var9" value="5"/>
</form>
</td>
<td>
<form action="systemmac.php" method="post">
<h2>Verificar o status do Firewall!</h2>
<input name="var9" type="hidden" value="6">
<input type="image" src="rest.png" name="var9" value="6"/>
</form>
</td>
</tr>
<tr>
<td>
<form action="insmac.php" method="post">
<h2>Configurar o sistema!</h2>
<input name="var9" type="hidden" value="">
<input type="image" src="rest.png" name="var9" value=""/>
</form>
</td>
<td>
<form action="systemmac.php" method="post">
<h2>Ativar Laboratorio04!</h2>
<input name="var9" type="hidden" value="7">
<input type="image" src="rest.png" name="var9" value="7"/>
</form>
</td>
</tr>
<tr>
<td>
<form action="systemmac.php" method="post">
<h2>Desativar Laboratorio04!</h2>
<input name="var9" type="hidden" value="8">
<input type="image" src="rest.png" name="var9" value="8"/>
</form>
</td>
<td>
</td>
</tr>
</table>
</body>
</html>
A partir desta página, chamaremos os arquivos PHP necessários.
uma sugestão é hospedar esse código no http://github.com (que é gratuito para projetos open source),
porque que fica bem fácil de compartilhar esse código,
e ir atualizando com o tempo,
e receber ajuda de terceiros
eu mesmo me ofereço a ajudar