У меня Raspberry Pi за NAT, работающей под Linux и размещающей веб-сервер. Я получаю доступ к веб-странице извне через утилиту Yaler, так как у меня есть динамический публичный IP-адрес. Есть ли способ показать мой текущий публичный IP-адрес на веб-странице? Если я получу свой публичный IP-адрес, я смогу получить доступ ко многим устройствам с поддержкой NAT в этой сети. Домен Yaler не соответствует моему действительному общему IP-адресу.

1 ответ1

1

В любом случае вам понадобится простой скрипт для этого.

Одним из простых примеров было бы использование поиска DNS.

Если вы не можете использовать команду host , установите ее с помощью sudo apt-get install host .

Затем просто запустите команду host -t a your.public.domain . Это приведет к такой строке:

your.public.domain имеет адрес 12.34.56.78

Вам просто нужно проанализировать результат, например, в PHP вы можете использовать что-то вроде этого:

<?php
$ip = 'unknown';
if (preg_match('/has address (\d+\.\d+\.\d+\.\d+)/', exec('host -t a your.public.domain'), $m))
    $ip = $m[1];
echo "The public IP is $ip.";

Имейте в виду, что это задержит выполнение кода примерно на секунду; поэтому вы должны кешировать результат.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .