Table of Contents
Ez-ipupdate is a small utility for updating your host name IP for any of the dynamic DNS service offered at:
This package has been developed & is supported by Angus Mackay.
The key features are: support for multiple service types and updating your IP address if it changes.
Download the ezipupd.lrp package and copy the package to your Bering-uClibc diskette.
Boot a Bering-uClibc floppy image. Once the LEAF menu appears get
access to the linux shell by (q)uitting the menu. Edit the
lrpkg.cfg (pre Bering-uClibc-2.2.0) or
leaf.cfg (Bering-uClibc-2.2.0 onwards) file and add
ezipupd.lrp in the list of packages to be loaded at
boot. Check the Bering-uClibc Installation
Guide to learn how to do that.
You can edit the ez-ipupdate configuration file through the package configuration menu:
ez-ipupd configuration files
1) configuration file
2) startup script
q) quit
----------------------------------------------------------------------------
Selection:The parameters allowed in the configuration file are the followings:
address usage: address=[ip address] cache-file usage: cache-file=[cache file] cloak-title usage: cloak-title=[title] daemon usage: daemon=[command] execute usage: execute=[shell command] debug usage: debug foreground usage: foreground pid-file usage: pid-file=[file] host usage: host=[host] interface usage: interface=[interface] mx usage: mx=[mail exchanger] max-interval usage: max-interval=[number of seconds between updates] notify-email usage: notify-email=[address to email if bad things happen] offline usage: offline retrys usage: retrys=[number of trys] server usage: server=[server name] service-type usage: service-type=[service type] timeout usage: timeout=[sec.millisec] resolv-period usage: resolv-period=[time between failed resolve attempts] period usage: period=[time between update attempts] url usage: url=[url] user usage: user=[user name][:password] run-as-user usage: run-as-user=[user] run-as-euser usage: run-as-euser=[user] (this is not secure) wildcard usage: wildcard quiet usage: quiet connection-type usage: connection-type=[connection type] request usage: request=[request uri] partner usage: partner=[easydns partner]
Here is how it could look like:
service-type=zoneedit user=myname:mypassword interface=eth0 host=mydomain.com #[email protected] # other options: #address=<ip address> #cache-file=/tmp/ez-ipup #daemon #debug #foreground #host=<host> #interface=<interface> #mx=<mail exchanger> #retrys=<number of trys> #run-as-user=<user> #run-as-euser=<user> #server=<server name> #timeout=<sec.millisec> #max-interval=<time in seconds> #notify-email=<email address> #period=<time between update attempts> #url=<url>
The four most important entries for a typical LEAF Bering-uClibc installation will be explained below:
service-type - make shure to add the according service-type. See above the list of available services.
user - here you have to provide your username and password for the choosen service seperated by a colon.
interface - this defines your interface to the internet - the one which is changing from time to time and whose ip should be changed at your dynamic DNS service (usually eth0 or ppp0)
host - the host(s) you like to have been updated. It is possible to update more than one host for a service-type. To allow that, add all your hosts separated by a comma.
Please note: The options cache-file and
daemon aren't needed. notify-email
doesn't work today.
You can also run ez-ipupdate in interractive mode. The commands are:
null ezip pgpow dhs dyndns dyndns-static dyndns-custom ods
tzo easydns easydns-partner gnudip justlinux dyns hn zoneedit
heipv6tb
usage: ez-ipupdate [options]
Options are:
-a, --address <ip address> string to send as your ip address
-b, --cache-file <file> file to use for caching the ipaddress
-c, --config-file <file> configuration file, almost all arguments can be
given with: <name>[=<value>]
to see a list of possible config commands
try "echo help | ez-ipupdate -c -"
-d, --daemon run as a daemon periodicly updating if
necessary
-e, --execute <command> shell command to execute after a successful
update
-f, --foreground when running as a daemon run in the foreground
-F, --pidfile <file> use <file> as a pid file
-g, --request-uri <uri> URI to send updates to
-h, --host <host> string to send as host parameter
-i, --interface <iface> which interface to use
-L, --cloak_title <host> some stupid thing for DHS only
-m, --mx <mail exchange> string to send as your mail exchange
-M, --max-interval <# of sec> max time in between updates
-N, --notify-email <email> address to send mail to if bad things happen
-o, --offline set to off line mode
-p, --resolv-period <sec> period to check IP if it can't be resolved
-P, --period <# of sec> period to check IP in daemon
mode (default: 1800 seconds)
-q, --quiet be quiet
-r, --retrys <num> number of trys (default: 1)
-R, --run-as-user <user> change to <user> for running, be ware
that this can cause problems with handeling
SIGHUP properly if that user can't read the
config file. also it can't write it's pid file
to a root directory
-Q, --run-as-euser <user> change to effective <user> for running,
this is NOT secure but it does solve the
problems with run-as-user and config files and
pid files.
-s, --server <server[:port]> the server to connect to
-S, --service-type <server> the type of service that you are using
try one of: null ezip pgpow dhs
dyndns dyndns-static dyndns-custom
ods tzo easydns easydns-partner
gnudip justlinux dyns hn zoneedit
heipv6tb
-t, --timeout <sec.millisec> the amount of time to wait on I/O
-T, --connection-type <num> number sent to TZO as your connection
type (default: 1)
-U, --url <url> string to send as the url parameter
-u, --user <user[:passwd]> user ID and password, if either is left blank
they will be prompted for
-w, --wildcard set your domain to have a wildcard alias
-z, --partner <partner> specify easyDNS partner (for easydns-partner
services)
--help display this help and exit
--version output version information and exit
--credits print the credits and exit
--signalhelp print help about signals
reload_all() {
/sbin/shorewall restart
echo "Starting ez-ipupd from dhclient ..."
/etc/init.d/ez-ipupd start
}All you need is to add the command /etc/init.d/ez-ipupd
-start to /etc/ppp/ip-up.
# Main Script starts here # /etc/init.d/ez-ipupd start run-parts /etc/ppp/ip-up.d [ -x /bin/beep ] && /bin/beep -f 600 -n -f 900 -n -f1200 -n -f1800 # last line