Re: Alterando IPTables com php
Pessoal, segue em anexo o arquivo block.txt, que era block.php
JH
On Tuesday 10 June 2003 18:22, Prof. João Henrique wrote:
> Olá pessoal.
> Tenho um problema curioso e até agora sem solução.
> Meu firewall roda em Debian/Woody/IPTables sem problemas.
> Preciso bloquear seletivamente o acesso à web em alguns laboratórios de
> informática e a solução encontrada foi utilizar um script em PHP que remove
> a regra de nat do firewall para o tal laboratório e o bicho fica isolado,
> como precisamos.
> Acontece que consigo remover a regra mas não consigo restaura-la quando
> termina a aula.
> O script está correto mas não consigo executar algo como 'iptables -A
> laboratorio3 ...'
> 'iptables -F laboratorio3' funciona legal.
> O script está em anexo.
> Alguma luz?
>
> Obrigado,
> João Henrique
<HTML>
<BODY>
<?
if($web=="para" || $web=="libera"){
$IP=substr($REMOTE_ADDR,0,9);
if($IP=="10.130.0.27"){
if($web="para"){
exec("sudo /sbin/iptables -I laboratorio 1 -p all -s 10.130.0.27/32 -j ACCEPT");
exec("sudo /sbin/iptables -I laboratorio 2 -p all -s 10.130.0.0/24 -d ! 10.0.0.0/8 -j DROP");
}
if($web="libera"){
exec("sudo /sbin/iptables -D laboratorio -p all -s 10.130.0.27/32 -j ACCEPT");
exec("sudo /sbin/iptables -D laboratorio -p all -s 10.130.0.0/24 -d ! 10.0.0.0/8 -j DROP");
}
}
if($IP=="10.130.2.27"){
if($web="para"){
exec("sudo /sbin/iptables -I laboratorio 1 -s 10.130.2.27 -j ACCEPT");
exec("sudo /sbin/iptables -I laboratorio 2 -s 10.130.2.0/24 -d ! 10.0.0.0/8 -j DROP");
}
if($web="libera"){
$i = shell_exec("sudo /sbin/iptables -D laboratorio -s 10.130.2.27 -d ! 10.0.0.0/8 -j ACCEPT");
}
}
if($IP=="10.130.3.51"){
if($web="para"){
exec("sudo /sbin/iptables -I laboratorio 1 -p all -s 10.130.3.51/32 -j ACCEPT");
exec("sudo /sbin/iptables -I laboratorio 2 -p all -s 10.130.3.0/24 -d ! 10.0.0.0/8 -j DROP");
}
if($web="libera"){
exec("sudo /sbin/iptables -D laboratorio -p all -s 10.130.3.51/32 -j ACCEPT");
exec("sudo /sbin/iptables -D laboratorio -p all -s 10.130.3.0/24 -d ! 10.0.0.0/8 -j DROP");
}
}
if($IP=="10.130.4.55"){
if($web="para"){
exec("sudo /sbin/iptables -I laboratorio 1 -p all -s 10.130.4.55/32 -j ACCEPT");
exec("sudo /sbin/iptables -I laboratorio 2 -p all -s 10.130.4.0/24 -d ! 10.0.0.0/8 -j DROP");
}
if($web="libera"){
exec("sudo /sbin/iptables -D laboratorio -p all -s 10.130.4.55/32 -j ACCEPT");
exec("sudo /sbin/iptables -D laboratorio -p all -s 10.130.4.0/24 -d ! 10.0.0.0/8 -j DROP");
}
}
}
else{
echo "<body onLoad=history.go(-1)>
<script language=\"JavaScript\">
alert(\"Escolha uma das opções: Parar ou Liberar\")
</script>";
}
?>
</BODY>
</HTML>
Reply to: