LINUX.ORG.RU

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

token_polyak ★★★★★
()

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

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

Hanuken
()

Да полно таких сервисов.

curl ifconfig.me, например.

Dimez ★★★★★
()

В Openwrt делал так, там нет curl. wget -q -O - http://ipinfo.io/ip

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

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

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

dinominarus
() автор топика
Ответ на: комментарий от dinominarus

Если нет доступа к роутеру - то непосредственно у него никак.

Тебе же кучу вариантов накидал, ты хоть один попробовал?

ofp
()
Ответ на: комментарий от greenman

А вот, кстати, да :)

curl делает новую строку в конце выхлопа, а wget - нет. Т.ч. формально результаты разные.

ofp
()
Ответ на: комментарий от dinominarus

Как спросить у роутера?

Можно загнаться в upnp, например, если в настройках разрешен автоматический проброс портов.

Radjah ★★★★★
()

Ещё вариант - Воспользоваться консольным браузером (lynx, links).

NyXzOr ★★★★
()
Ответ на: комментарий от ofp

Тебе же кучу вариантов накидал, ты хоть один попробовал?

Зачем? Они на мой вопрос не отвечают.

dinominarus
() автор топика
Ответ на: комментарий от Xi_Jingping

ip -6 a

Это да. Но, мне главным образом надо ipv4.

dinominarus
() автор топика
Ответ на: комментарий от forest22

dig +short myip.opendns.com @resolver1.opendns.com

У меня работает.

Это уже как вариант.

dinominarus
() автор топика
Ответ на: комментарий от greenman

Действительно, ввёл команды:

curl http://httpbin.org/ip
curl eth0.me
wget -q -O - http://ipinfo.io/ip
результат выполнения у всех команд одинаковый.

Mischutka ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.