Официальная возможность получить лицензионный софт бесплатно.
Giveaway of the Day
Это не реклама!

Щелкните для получения прогноза по Биробиджану


четверг, 24 апреля 2014 г.

NOIP.COM вместо DynDNS

Как я уже писал, халява с DynDNS заканчивается - еще немного и автоматические клиенты в модемах типа моего DSL-2600U перестанут нормально работать и регистрировать обновленный IP в DNS. Печально, но такова жизнь.
После обсуждения мне посоветовали посмотреть в сторону www.noip.com. В принципе, они предлагают примерно то же самое, что некогда предлагал dyn.com. Я решил попробовать.

Первая засада: мой модем не поддерживает эту службу, значит надо ставить клиента на локальный комп. И какой адрес он попытается зарегистрировать? Из сети 192.168.х.х?
Оказалось, не так всё плохо - в noip это предусмотрели и клиент умеет работать через NAT. Более того, если я правильно понял, то работа через NAT в этом клиенте по дефолту, ее надо явно отключать ключом -F. Что ж, попробуем...

Делаем, как написано в KB:
(вариант с установкой через apt-get отпадает - пакет есть только для 10.04, что меня совершенно не устраивает)

How to install No-IP Linux Dynamic Update Client (DUC) on your Ubuntu 12.04 LTS.

You will be able to install No-IP.com’s DUC in just a few minutes with terminal. Once you have opened up your terminal window you will need to login as the “root” user. You can become the root user from the command line by entering “sudo -s” followed by the root password on your machine.
(для удобства логинимся как root, я использовал sudo su)

cd /usr/local/src/
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar xf noip-duc-linux.tar.gz
cd noip-2.1.9-1/
make install


You will then be prompted to login with your No-IP.com account username and password.
(если компиляция прошла нормально, то надо будет ввести данные заблаговременно созданного аккаунта)
Вот как выглядит окончание компиляции:
(интервал обновления указывается в минутах, я оставил дефолтные 30)

Auto configuration for Linux client of no-ip.com.

Please enter the login/email string for no-ip.com мой_логин
Please enter the password for user 'мой_логин'  *******

Only one host [мой_хост.no-ip.biz] is registered to this account.
It will be used.
Please enter an update interval:[30]
Do you wish to run something at successful update?[N] (y/N)  ^M

New configuration file '/tmp/no-ip2.conf' created.

mv /tmp/no-ip2.conf /usr/local/etc/no-ip2.conf

To Configure the Client:

(этот шаг не требуется, если используется только один хост - автоматическая настройка выполняется сразу после компиляции)
As root again (or with sudo) issue the below command:
/usr/local/bin/noip2 -C (dash capital C, this will create the default config file)
You will then be prompted for your username and password for No-IP, as well as which host names you wish to update. Be careful, one of the questions is “Do you wish to update all hosts”. If answered incorrectly this could effect host names in your account that are pointing at other locations.
Now the client is installed and configured, you just need to launch it. Simply issue this final command to launch the client in the background:
/usr/local/bin/noip2
Read the README file in the no-ip-2.1.9 folder for instructions on how to make the client run at startup. This varies depending on what Linux distribution you are running.

Автозапуск

Пришлось немного повозиться, несмотря на вышеупомянутый README.
В итоге родился файл с костылями:

/etc/init.d/noip2:

        #! /bin/sh
        # . /etc/rc.d/init.d/functions  # uncomment/modify for your killproc
        case "$1" in
            start)
                echo "Starting noip2."
                /usr/local/bin/noip2
            ;;
            stop)
                echo -n "Shutting down noip2."
                pkill noip2

                #killproc -TERM /usr/local/bin/noip2
            ;;
            *)
                echo "Usage: $0 {start|stop}"
                exit 1
        esac
        exit 0


В оригинале вместо pkill стояла выделенная красным строчка, но мне было лень возиться и искать эту killproc.
Ну и чтобы не мучиться с upstart-ом просто создал в /etc/rc3.d:

ln -s /etc/init.d/noip2 S69noip2

Пока вроде работает...

Комментариев нет:

Отправить комментарий

Пожалуйста, воздержитесь от грубостей и персональных нападок.
Я не против матерщины, но она должна быть уместной и использоваться для выражения эмоций, а не в качестве основного средства выражения мыслей.