четверг, 31 мая 2012 г.

Узнать свой внешний IP-адрес за NAT с командной строки

Сегодня передо мной встала такая задача. Разрешить доступ по внешнему IP к одному серверу с удаленного сервака. Для этого достаточно прописать IP-адрес удаленного сервера в нужном месте. Загвоздка в том, что это linux-сервак, на который я могу посылать однострочные консольные команды, но при этом не имею полного доступа к серверу по SSH и уж тем более к его GUI. Он имеет локальный IP-адрес, по которому и осуществляется доступ к нему. В интернет же он ходит через NAT.

Для тех, кто не любит много читать, пишу сразу свое решение проблемы:
wget -q -O /tmp/getmyip.php http://php.kichrum.org.ua/getmyip.php; cat /tmp/getmyip.php; echo ""; rm /tmp/getmyip.php


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