1. Download noip2 source.
cd ~/Downloads
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar xvzf noip-duc-linux.tar.gz
cd noip-2.1.9-1/
2. We compile it with -O3
optimization given as CFLAGS
variable and install it to /opt/noip
. So modify Makefile to reflect those changes (see line numbers).
CFLAGS=-O3 -Wall -g
PREFIX=/opt/noip
${TGT}: Makefile ${TGT}.c
${CC} ${CFLAGS} -D${ARCH} -DPREFIX=\"${PREFIX}\" ${TGT}.c -o ${TGT} ${LIBS}
3. Compile and install.
make
sudo make install
4. During the installation give in all no-ip details like username, password, no-ip domain name etc, which is similar to configuring the Windows client. The configuration file will be saved to /opt/noip/etc/no-ip2.conf
. Now change the ownership of the directory to the logged in user so that no-ip can read the config file.
cd /opt
ls -la # see the ownership
sudo chown -R user:group noip # replace user and group with your username and group most likely would be your username.
# So if your username is foo, and belongs to foo (most likely is), then run
# sudo chown -R foo:foo noip
ls -la
cd noip && ls -la # check ownership has been updated.
5. Setup start-stop script. We can change the prefix, optimization and such by editing the Makefile
.
#Install killproc
wget ftp://ftp.suse.com/pub/projects/init/killproc-2.13.tar.gz
tar xvzf killproc-2.13.tar.gz
cd killproc-2.13/
make && sudo make install
6. Create a file /etc/init.d/noip
with the following content.
#! /bin/sh
# . /etc/rc.d/init.d/functions
# uncomment/modify for your killproc
case "$1" in
start)
echo "Starting noip2."
/opt/noip/bin/noip2
;;
stop)
echo "Shutting down noip2."
killproc -TERM /opt/noip/bin/noip2
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
7. Now we can start and stop the service using:
/etc/init.d/noip start # start
/etc/init.d/noip stop # stop
8. Add the service to update-rc.d
to auto start at system startup.
cd /etc/init.d/
sudo update-rc.d noip defaults
9. Check if the IP is updated by logging into the noip.com website. If you are using a CNAME
alias, say www
of your domain name to this dynamic IP, you can check it using nslookup
.
nslookup www.example.com