Consultar IP dinàmica ADSL
El 13/09/2011 a les 21:59
Tens una ADSL amb ip dinàmica i necessites saber-ne la IP? Vols accedir-hi remotament amb SSH o un altre servei? aquí tens una solució simple per fer-ho sense serveis de tercers.
Tens una ip dinàmica i necessites saber la ip del teu ordinador per obtenir o consultar algun fitxer? Tens un servidor web? Hi ha molts sistemes per fer una cosa semblant, però si no volem fer-ne us elque podem fer és fer que el cron executi una comanda cada x temps i que guardi la ip actual en una taula.
AL SERVIDOR WEB
Preparant la taula
Guardarem les dades al nostre servidor web podriem fer-ho de varies maneres, jo ho faré en una senzilla taula mysql.
CREATE TABLE `myip` (
`myip_ip` varchar(15) NOT NULL,
`myip_datetime` datetime NOT NULL,
`myip_profile`varchar(10) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf-8
Preparant l'script que insertarà les dades
Al nostre servidor web, posarem aquest script que insertarà les dades amb la nova ip i i la data i hora en que s'ha fet lapetició. Li podem posar per exemple http://domini.cat/insert.php<?
$db=mysql_connect('localhost','usuari','contrasenya');
$perfil=$_GET['perfil'];
$sql='INSERT INTO myip VALUES("'.$_SERVER['REMOTE_ADDR'].'","'.Date("Y-m-d H:i:s").'","'.$perfil.'")';
mysql_query($sql,$db);
mysql_close($db);
?>
Preparem un altre fitxer per consultar la ip
Anant en aquesta direcció sabrem si el nostre pc està actiui quina ip és la que té actualment el router. Per exemple podem posar-li de nom http://www.domini.cat/consulta.php
<?
$sql='SELECT
myip_ip as ip,
date_format(myip_datetime,"%H:%i") as hora
FROM
WHERE myip_datetime>NOW() - INTERVAT 30 MINUTE
ORDER BY myip_datetime DESC
LIMIT 1';
$db=mysql_connect('localhost','usuari','contrasenya');
$res=mysql_query($sql,$db);
if ($row=mysql_fetch_assoc($res)) {
echo $row['ip'].' - '.$row['hora'];
} else echo 'Offline';
mysql_close();
A CASA
Obrir port ssh al router
Accedirem al router de la nostra xarxa i obrirem el port 22 extern cap al port 22 de l'ordinador on tinguem instal·lat el servidor de ssh. Si no el tenim instal·lat
sudo apt-get install ssh-server
Preparar l'script que executarà el cron
El que farem és cridar l'script del servidor, per tant el cron anirà a la pàgina http://www.domini.cat/insert.php, per fer això utilitzarem el programa curl. La comanda que haurem d'executar és aquesta: curl http://www.domini.cat/insert.php
sudo aptitude instal curl
Preparant el cron
Podem posar per exemple que cridi aquesta comanda cada 15 minuts
sudo crontab -e
*/15 * * * * /usr/bin/curl http://www.davidriera.com/miip.php
/etc/init.d/cron rstart
AL MOBIL O UN ALTRE PC
Des de qualsevol pc linux conectat a internet podrema ccedir al nostre ordinador i administrar-lo o consultar informaciño, fins hi tot accedit a les X. NOmés hem d'executar des de consola:
ssh usuari@ip
ssh -X usuari@ip (Entorn gràfic
Si és un windows podem utilitzar el putty
Des de un iphone també conectar-nos mitjançant una aplicació de SSH com per exemple el MObile Admin 6.1 o iSSH, molt util si ens hem deixat el pc obert.
T'ha set d'utilitat l'article? vols simplent afegir-hi alguna cosa?
Siusplau comenta-ho...