远程登陆没有固定ip的服务器


项目实施中有时会遇到客户的网络没有固定的ip,这时候远程登陆就很麻烦。ip一变就登不上了,需要等待客户去机器终端或路由器上查看最新的ip,非常浪费时间。

这个问题可以用一个脚本和一个定时任务解决。客户机启一个任务,定时向一个有固定ip的服务器发一个请求;服务器的脚本记录下客户端的最新ip,并提供一个接口供查询。


本文同步发布于墨客软件:  http://www.mercs.xyz/topics/tech/243.html


服务端脚本(php版) 

ipreport.php

$op  $_GET [ 'op' ];
$ip  $_SERVER [ "REMOTE_ADDR" ];
 
if ( $op  != null &&  strcasecmp ( 'write' $op ) == 0 ){
   $logfile  fopen ( "ip.txt" "w+" or  die ( "Unable to open file!" );
   fwrite( $logfile $ip or  die ( "Unable to write log" );
   fclose( $logfile );
   echo  "已记录:" . $ip ;
   return ;
 
} else {
   $logfile  fopen ( "ip.txt" "r" or  die ( "Unable to open file!" );
   $lastip  fread ( $logfile , 64);
   echo  "最新ip: " . $lastip ;
}

脚本放到apache下面


客户端定时任务(crontab)

*/3 * * * *    curl 'http://xxxxx/ipreport.php?op=write'


浏览器上查看最新的IP

http://xxxxx/ipreport.php



本文同步发布于墨客软件: http://www.mercs.xyz/topics/tech/243.html



你可能感兴趣的:(远程登陆没有固定ip的服务器)