LINUX.ORG.RU

Всё правильно, хост за НАТом знать ничего не знает про внешний айпишник роутера и узнаёт его либо от роутера, либо от других хостов на широком Интернете, к которым подключается посредством этого роутера. Следовательно варианта два - опрашивать публичные сервисы либо получить внешний IP из настроек роутера, если там вменяемый доступ (OpenWRT, кинетики-мокротыки, например). Второй вариант ненадёжный, т.к. роутер сам может быть за НАТом.

token_polyak ★★★★
()

Только через какой-нибудь внешний сервис, который знает, с какого ипа пришёл запрос. Например, можно вот так: $ curl ifconfig.co

Работоспособность, разумеется, не гарантируется. В скрипты на проде зашивать явно не стОит.

Hanuken
()
Ответ на: комментарий от token_polyak

Следовательно варианта два - опрашивать публичные сервисы либо получить внешний IP из настроек роутера, если там вменяемый доступ (OpenWRT, кинетики-мокротыки, например). Второй вариант ненадёжный, т.к. роутер сам может быть за НАТом.

Как спросить у роутера? Учитывая, что я могу быть и простым пользователем, у которого доступа к настройкам роутера может и не быть.

dinominarus
() автор топика