This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

[SOLVED]OpenDNS Dynamic IP update

I'm running the 7.500 firmware at home.  I've been using OpenDNS for DNS for a few months.  Now I want to try some of the filtering features of OpenDNS.  Does the 7.500 firmware have any way to update OpenDNS when my dynamic IP changes?  I'm already updating my entry in dyndns.com.

Thanks,
Jim


This thread was automatically locked due to age.
  • opendns provides an exe file which you can run as service and it updates your ip record without the need to manually change it from the website
  • Hi Jim,
    Since you're running at home, I'm assuming you don't mind 'hacking' Astaro, voiding your 'support contract'...

    a. Astaro uses 'ddclient' for updating dyndns.org
    b. OpenDNS supports using ddclient for updating OpenDNS

    so

    drop a new ddclient config file into
    /etc/ddclient
    and call it 
    ddclientOpenDNS.conf
    or something like that

    here's mine:
    ----------------------
    daemon=1200
    ssl=yes
    timeout=120
    mail=me@example.com
    mail-failure=me@example.com
    cache=/var/cache/ddclient/ddclientOpenDNS.cache
    pid=/opt/tmpfs/ddclientOpenDNS.pid
    syslog=yes

    ##
    ## OpenDNS.com account-configuration
    ##
    use=if,if=eth0

    server=updates.opendns.com
    protocol=dyndns2          
    login=YOUR_OPENDNS_LOGIN
    password=YOUR_OPENDNS_PW

    NAME_YOU_WANT_TO_APPEAR_IN_OPENDNS_CONTROL_PANEL
    ----------------------

    then run
    /usr/sbin/ddclient  -daemon 0 -file /etc/ddclient/ddclientOpenDNS.conf

    if that works, then you have several choices, depending upon how often your IP changes:

    1. run manually as needed, using above command

    2. start the service manually after an Astaro restart
    /usr/sbin/ddclient -file /etc/ddclient/ddclientOpenDNS.conf

    3. try to put it in the Astaro startup. if you do, remove the '-daemon 0' option from the command line. I tried putting it at the end of /etc/init.d/beeps but that didn't work.

    4. put a script in /etc/cron.hourly which contains:
    /usr/sbin/ddclient  -daemon 0 -file /etc/ddclient/ddclientOpenDNS.conf


    I set up the config file last week, and #2 did work, but I just noticed today that #3 didn't work after a reboot.

    I'm trying cron.hourly now, but I'm not certain Astaro actually runs anything out of there. If not, /etc/crontab could be adjusted.

    Let me know what you do.

    Barry

    disclaimer: if you have an Astaro support contract, messing with the command line may void your support.
  • It turns out that Astaro's crontab doesn't actually run cron.daily or cron.hourly, which is strange since there is an astaro logrotate script in cron.daily.

    anyways, add
    # run-parts
    01 * * * * root run-parts /etc/cron.hourly

    to the end of /etc/crontab

    and 
    killall -HUP cron

    I think it's working, but keep in mind that up2date may overwrite the changes.

    Barry
  • Barry, Any clue if making these last changes worked for you?
  • Hi,
    No, crontab seems to get overwritten frequently, so I haven't found a permanent solution.

    Barry
  • opendns provides an exe file which you can run as service and it updates your ip record without the need to manually change it from the website


    not sure how your network is structured but I find that the easiest way to update your dynamic ip is placing the update tool that openDNS provides in one of your boxes (I am assuming you are a home user).
  • Hi. Let me give you ninja tip [:)]

    The crontab is actually "built" at certain intervals via the various crontab.* files. Such as these files can often be replaced/built via up2dates, so if you have something custom you want to run as part of a certain process, simply add it like:

    joe/vi crontab.logging
    30 5 0 0 0   root /home/login/yourscript (eg)

    this will cause it to be built into the crontab and run daily at 5:30 etc... you can google crontab syntax for more details on this if you like. Hope that clears up a way to add your own timed things via the cli..just watch after an up2date that your lines are still there, if not you will have to re-add them. Also, you could just create crontab.custom which wouldn't be overwritten, but i havent tried that lately to see if we parse with crontab.* or an actual list of specified files... 

    ps. dont forget to delete the "backup", after you edit crontab.logging there will be a backup made of crontab.logging~ which you should remove since otherwise you will get the events run 2x as both files are inserted into the crafted crontab file.

    cheers.
  • Thanks Angelo!

    I got it to work as follows:

    create a new file in /etc called crontab.custom or similar (I used crontab.myinitials)
    containing:
    # local hacks
    # run ddclient for OpenDNS every hour
    05 * * * * root /usr/sbin/ddclient -daemon 0 -file /etc/ddclient/ddclientOpenDNS.conf

    I had to reboot to get it to rebuild /etc/crontab... I waited a day first and it didn't rebuild.

    That's it!


    Angelo,
    I tried to setup a cron.hourly folder and put
    11 * * * * root run-parts /etc/cron.hourly

    with a script
    #!/bin/bash
    # run ddclient for OpenDNS
    /usr/sbin/ddclient -daemon 0 -file /etc/ddclient/ddclientOpenDNS.conf
    touch /tmp/ddclient-bg-updated

    and /var/log/system.log shows 
    2009:11:10-11:11:01 barrygould /usr/sbin/cron[5939]: (root) CMD (run-parts /etc/cron.hourly)

    but it doesn't actually run my script in /etc/cron.hourly/
    (neither ddclient is updated nor is /tmp/ddclient-bg-updated created)
    I've got the permissions set to 755 on that script, so I'm a little confused why it wouldn't work, but at least it works as a regular cron job.

    Thanks for the tip!

    Barry
  • Hi there,

    Anyone know if this still works in 9.104-17?

    I VPN frequently from the machine that my OpenDNS updater is on and so OpenDNS is not particularly happy a bunch of the time.
  • Hi, I haven't tried 9.1x, but it still works for me in 9.006.

    Barry