Как сделать доступным мой арендованный провайдером IP для локальной сети? - PullRequest
0 голосов
/ 09 июля 2019

У меня динамический 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, если у кого-то нет лучшего и более эффективного способа сделать это.

...