Полученные данные объединяем воедино, создаем алгоритм работы.
Из полученой HTML страницы вычленяем внешний IP.
$ip = strstr($output, 'PPPoE');
preg_match_all('/(\d+).(\d*).(\d*).(\d*)/', $ip, $matches);
if (!empty($matches[0]))
{
$ip = $matches[0][0];
$ip2 = $matches[1][0];
//print_r($ip2);
//print_r($ip);
А далее нарисовалась такая логика работы.
Для ее реализации используются два сценария. Сценарий Router_IP работает с роутером, каждые 5 минут перезапуская себя. Но если есть изменения IP, то далее начинает работу сценарий Сценарии=>Связь=>Check_IP_HLDNS. Происходит отправка своих данных на сервер HLDNS, в ответ также получаем свой IP или ошибку. Сверяем IP ответа с IP роутера, если все OK - работает сценарий Router_IP, если NG (no good) перезагружаем роутер, сценарий Router_reboot. Далее все с начала.
Итог всей проделаной работы: Сервер Умного дома всегда доступен по адресу /моеимя.hldns.ru/
Длительная проверка показала, теперь нет "нежданчиков", что сервер окажется за NAT.
VPN поднимать пока не вижу необходимости!
Малоярославец, Россия
На форуме: ahelper