У меня динамический IP-адрес, меняется каждый раз при перезапуске маршрутизатора.У меня есть полный доступ к моему маршрутизатору.Каждое утро я вручную выполняю этот скрипт из терминала, чтобы получить новый обновленный арендованный IP-адрес.Время аренды составляет около недели, если мы не выключим маршрутизатор.Я должен проверять каждый день на новый IP.Рабочие станции нашей локальной сети должны использовать арендованный внешний IP-адрес, чтобы их программное обеспечение работало правильно.
Я установил два отдельных сценария php
1) Простой файл, который содержит значение фактического ip.php
<?php
$ip="200.121.215.117";
?>
2) Сценарий промежуточного программного обеспечения, который оценивает, изменился ли арендованный внешний IP:
<?php
include 'ip.php';
$oldip = $ip;
$newip = $_SERVER['REMOTE_ADDR'];
echo "Old IP : ".$oldip. " & Current IP : ". $newip;
if ($oldip <> $newip) {
echo "<br>Different IP found, updating workstations IPs done...<br>";
unlink('ip.php');
$file = "ip.php";
$a = fopen($file, "a");
fwrite($a,"<?php"."\n");
fwrite($a,"$"."ip=\"".$newip."\";\n");
fwrite($a,"?>"."\n");
fclose($a);
$a = fopen($file, "r");
fclose($a);
echo "<br> Set IP to :\"".$newip."\"\n";
} else ($oldip == $newip) {
echo "<br>Same IP, nothing done";
}
?>
3) И, наконец, доступ к IP-адресу кактекст с любой рабочей станции локальной сети
include '/home/myweb/public_html/ip.php';
echo "IP=".$ip;
Я думал о том, чтобы выполнить этот скрипт непосредственно на маршрутизаторе с помощью установки cron, если у кого-то нет лучшего и более эффективного способа сделать это.