У меня Raspberry Pi за NAT, работающей под Linux и размещающей веб-сервер. Я получаю доступ к веб-странице извне через утилиту Yaler, так как у меня есть динамический публичный IP-адрес. Есть ли способ показать мой текущий публичный IP-адрес на веб-странице? Если я получу свой публичный IP-адрес, я смогу получить доступ ко многим устройствам с поддержкой NAT в этой сети. Домен Yaler не соответствует моему действительному общему IP-адресу.
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.";
Имейте в виду, что это задержит выполнение кода примерно на секунду; поэтому вы должны кешировать результат.