Подключение к raspberry pi без статического ip.

Подготовка #
Перед началом необходимо посетить веб сайт no-ip.com и зарегистрироваться. Затем создать hostname. В бесплатной версии доступно 3 hostname
Установка необходимых пакетов #
Создадим директорию noip
mkdir ~/noip
cd ~/noip
Загрузим и распакуем linux клиент noip
wget https://www.noip.com/client/linux/noip-duc-linux.tar.gz
tar vzxf noip-duc-linux.tar.gz
Скомпилируем
cd noip-2.1.9-1
sudo make
sudo make install
После установки вам предложат ввести логин и пароль полученный на первом шаге (с сайте no-ip) Так же на этом этапе будет предложено ввести интервал обновления, время в минутах с периодичностью которого будет происходить обновление ip адреса
sudo /usr/local/bin/noip2
Для того чтобы данная служба запускалась после перезагрузки машины необходимо создать crontab задачу crontab -e
@reboot /usr/local/bin/noip2
Однако, этого недостаточно для того чтобы подключиться к вашему устройству извне. Поскольку вы находитесь за NAT провайдера (и вероятно за NAT вашего роутера), необходимо настроить проброс портов (Port Forwarding).
Вам необходимо зайти в настройки вашего роутера, найти раздел Port Forwarding (или Virtual Server) и пробросить нужный порт (например 22 для SSH) с внешнего интерфейса на IP адрес вашего Raspberry Pi внутри локальной сети. Без этого шага, даже зная ваш IP (через No-IP), вы упретесь в фаервол роутера.