No-IP не определяет ip-адрес? Сейчас починим!

Инструкция больше не актуальна для Arch Linux и оставлена только для памяти. На Arch Linux ничего править не надо, достаточно включить соответствующие юниты.

Начать хочу с весьма прискорбной старости (это новость такая, только просроченная): бесплатный сервис DynDNS накрылся медным тазом и стал брать деньги со всех, кто хочет этот таз поднять. А если таз не поднят — работать отказывается :(

Что же, есть и другие сервисы, позволяющие достучаться до своего компьютера с динамическим IP. Один из них — No-IP.

Всё с ним на первый взгляд прекрасно, в репозитории Арча и пакет соответствующий имеется, ставится легко, настраивается элементарно. Правда, нигде не написано, в чём измеряется update interval, но опытным путём вроде как установлено, что измеряется он в минутах, причём минимальный интервал — 5 минут.

Проблемы возникают уже потом, когда попробуете прописать noip в демоны и перезагрузиться. Обновлять ip-адрес не хочет, в лог ругается, можно сказать, матом:

Apr  9 09:50:34 arch noip2[741]: Can't gethostbyname for dynupdate.no-ip.com
Apr  9 09:50:34 arch noip2[741]: Can't get our visible IP address from ip1.dynupdate.no-ip.com

Что же делать? Менять порядок старта демонов бесполезно, добавить sleep 10 некуда...

Но решение есть, по крайней мере для PPPoE-соединений. Для того, чтобы всё работало правильно, достаточно запустить демон noip после установки PPPoE-соединения. Сделать это можно следующим образом:

  1. Идём в папку /etc/ppp/ip-up.d/.
  2. Создаём там файл 10-noip.sh.
  3. Разрешаем ему запускаться: chmod +x 10-noip.sh.
  4. Пишем в него /etc/rc.d/noip start.
  5. Делаем то же самое в папке /etc/ppp/ip-down.d/, только демона не запускаем, а останавливаем: /etc/rc.d/noip stop.

Теперь noip будет работать нормально. Не забудьте только пароль на SSH посложнее поставить ;)