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


1 ответ
в любом случае вам понадобится простой скрипт.
один простой пример будет использовать поиск DNS.
если вы не можете использовать host
команда, установить его с помощью sudo apt-get install host
.
затем просто выполните команду host -t a 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.";
имейте в виду, что это задержит выполнение кода примерно на секунду; поэтому вы должны кэшировать результат.
1

отвечен Mario 2023-02-09 03:45
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]