Foros del Web » Programando para Internet » PHP »

ipv6 sobre ipv4 PHP

Estas en el tema de ipv6 sobre ipv4 PHP en el foro de PHP en Foros del Web. Necesito un poco de ayuda con un proyecto que estoy haciendo para unas clases. mi proyecto consiste en que el usuario se conecta a mi ...
  #1 (permalink)  
Antiguo 02/07/2013, 00:06
 
Fecha de Ingreso: julio-2013
Mensajes: 6
Antigüedad: 10 años, 9 meses
Puntos: 0
ipv6 sobre ipv4 PHP

Necesito un poco de ayuda con un proyecto que estoy haciendo para unas clases.

mi proyecto consiste en que el usuario se conecta a mi servidor donde se registra y solicita crear un tunnel ipv6 sobre ipv4... entonces yo me encargo de enviar las configuraciones necesarias al router (cisco 1841) via telnet, y le presento en pantalla al usuario las configuraciones que debe realizaar en su pc (cmd)

entonces lo que necesito es modificar createtunnel.php para que ahora tome las consideraciones del os y me de la opcion de descargar el archivo

Código PHP:
<?php

$agent 
$_SERVER['HTTP_USER_AGENT'];

if(
preg_match('/Linux/',$agent)) $os 'Linux';
elseif(
preg_match('/Win/',$agent)) $os 'Windows';
elseif(
preg_match('/Mac/',$agent)) $os 'Mac';
else 
$os 'Desconocido';

if(
$os!='Desconocido')
{
$delay 1;                
            
            
$x 3;    
            
                
$port 23;
                
$timeout 180;
                
$router_ip '192.168.11.5';
                
                
                     echo 
"Se establecio el punto terminal en el router!<br><br>";
                     
                    
$y $_SERVER["REMOTE_ADDR"];
                     
                        
                    
$w $x 10;

echo 
"Su sistema operativo es: $os<br><br>";

switch(
$os)
{

//windows vista / 2008 / 7
case "Windows":

echo 
"Copie y pegue estos comandos en su terminal en modo de administrador para completar la conexion:<br>";
echo 
"netsh interface teredo set state disabled<br>";                              
echo 
"netsh interface ipv6 add v6v4tunnel Tunnel".$x." ".$y." ".$router_ip."<br>";
echo 
"netsh interface ipv6 add address Tunnel".$x." 2001:470:db80:".$x."::".$w."/64<br>";                   
echo 
"netsh interface ipv6 add route ::/0 Tunnel".$x." 2001:470:db80:".$x."::".$x."<br>"

echo 
"<br>O si lo desea, puede descargar este archivo para realizar la configuracion de manera automatica.<br>
Recuerde ejecutarlo en modo de administrador para obtener los permisos necesarios.<br>"
;

$FileName "TunnelConfig.bat";
$FileHandle fopen($FileName'w') or die("can't open file");
$string "netsh interface teredo set state disabled\n";
fwrite($FileHandle$string);
$string "netsh interface ipv6 add v6v4tunnel Tunnel".$x." ".$y." ".$router_ip."\n";
fwrite($FileHandle$string);
$string "netsh interface ipv6 add address Tunnel".$x." 2001:470:db80:".$x."::".$w."/64\n";
fwrite($FileHandle$string);
$string "netsh interface ipv6 add route ::/0 Tunnel".$x." 2001:470:db80:".$x."::".$x."\n";
fwrite($FileHandle$string);
$string "PAUSE";
fwrite($FileHandle$string);
fclose($FileHandle);

break;

//mac os x
case "Mac":
    
echo 
"Copie y pegue estos comandos en su terminal para completar la conexion:<br>";
echo 
"ifconfig Tunnel".$x." create<br>";                              
echo 
"ifconfig Tunnel".$x." tunnel ".$y." ".$router_ip."<br>";
echo 
"ifconfig Tunnel".$x." inet6 2001:470:db80:".$x."::".$w." 2001:470:db80:".$x."::".$x." prefixlen 64<br>";                   
echo 
"route -n add -inet6 default 2001:470:db80:".$x."::".$x."<br>"

echo 
"<br>O si lo desea, puede descargar este archivo para realizar la configuracion de manera automatica.<br>
Recuerde ejecutarlo en modo de administrador pra obtener los permisos necesarios.<br>"
;

$FileName "TunnelConfig.sh";
$FileHandle fopen($FileName'w') or die("can't open file");
$string "ifconfig Tunnel".$x." create\n";
fwrite($FileHandle$string);
$string "ifconfig Tunnel".$x." tunnel ".$y." ".$router_ip."\n";
fwrite($FileHandle$string);
$string "ifconfig Tunnel".$x." inet6 2001:470:db80:".$x."::".$w." 2001:470:db80:".$x."::".$x." prefixlen 64\n";
fwrite($FileHandle$string);
$string "route -n add -inet6 default 2001:470:db80:".$x."::".$x."\n";
fwrite($FileHandle$string);
fclose($FileHandle);

break;

//debian / ubuntu
case "Linux":

echo 
"Copie y pegue estos comandos en su terminal para completar la conexion:<br>";
echo 
"auto Tunnel".$x."<br>";                              
echo 
"iface Tunnel".$x." inet6 v4tunnel<br>";
echo 
"address 2001:470:db80:".$x."::".$w."<br>";                   
echo 
"netmask 64<br>"
echo 
"endpoint ".$router_ip."<br>";
echo 
"local ".$y."<br>";
echo 
"ttl 255<br>";
echo 
"gateway 2001:470:db80:".$x."::".$x."<br>";

echo 
"<br>O si lo desea, puede descargar este archivo para realizar la configuracion de manera automatica.<br>
Recuerde ejecutarlo en modo de administrador pra obtener los permisos necesarios.<br>"
;

$FileName "TunnelConfig.sh";
$FileHandle fopen($FileName'w') or die("can't open file");
$string "auto Tunnel".$x."\n";
fwrite($FileHandle$string);
$string "iface Tunnel".$x." inet6 v4tunnel\n";
fwrite($FileHandle$string);
$string "address 2001:470:db80:".$x."::".$w."\n";
fwrite($FileHandle$string);
$string "netmask 64\n";
fwrite($FileHandle$string);
$string "endpoint ".$router_ip."\n";
fwrite($FileHandle$string);
$string "local ".$y."\n";
fwrite($FileHandle$string);
$string "ttl 255\n";
fwrite($FileHandle$string);
$string "gateway 2001:470:db80:".$x."::".$x."\n";
fwrite($FileHandle$string);
fclose($FileHandle);

break;

}

}
else 
{
    echo 
"No se pudo detectar su sistema operativo, por lo cual no se podran realizar las configuraciones pertinentes";
}
?>
Esto es lo que tengo hasta ahora que no lo eh podido terminar. Si alguien me puede dar un a mano o sugerencias

Muchas gracias
  #2 (permalink)  
Antiguo 02/07/2013, 07:36
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: ipv6 sobre ipv4 PHP

me de la opcion de descargar el archivo qué archivo quieres descargar?. Para descargar archivos debes cambiar los headers de la página pero no entiendo bien qué archivo se descarga.
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 02/07/2013, 08:09
 
Fecha de Ingreso: julio-2013
Mensajes: 6
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: ipv6 sobre ipv4 PHP

Cita:
Iniciado por repara2 Ver Mensaje
me de la opcion de descargar el archivo qué archivo quieres descargar?. Para descargar archivos debes cambiar los headers de la página pero no entiendo bien qué archivo se descarga.
Perdona es un .bat que configurara la pc del usuario
  #4 (permalink)  
Antiguo 02/07/2013, 08:31
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: ipv6 sobre ipv4 PHP

Mirate el ejemplo #1 a ver qué sale: http://www.php.net/manual/es/function.readfile.php
__________________
Fere libenter homines, id quod volunt, credunt.

Etiquetas: html, ipv6, telnet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:42.