From owner-freebsd-questions Tue Apr 2 9:16:25 2002 Delivered-To: freebsd-questions@freebsd.org Received: from sage-one.net (adsl-64-219-30-249.dsl.crchtx.swbell.net [64.219.30.249]) by hub.freebsd.org (Postfix) with ESMTP id EF87A37B400 for ; Tue, 2 Apr 2002 09:16:16 -0800 (PST) Received: from SAGEONE (sageone [192.168.0.5]) by sage-one.net (8.11.6/8.11.6) with SMTP id g32HG9A11869; Tue, 2 Apr 2002 11:16:09 -0600 (CST) (envelope-from admin@sage-one.net) Message-Id: <3.0.5.32.20020402111607.01911700@mail.sage-one.net> X-Sender: admin@mail.sage-one.net X-Mailer: QUALCOMM Windows Eudora Pro Version 3.0.5 (32) Date: Tue, 02 Apr 2002 11:16:07 -0600 To: Paul Everlund , Kathy Quinlan From: Server Admin Subject: Re: ddclient and Dynamic DNS servers Cc: freebsd-questions@FreeBSD.ORG In-Reply-To: <3CA9E371.8ACA287F@cs.umu.se> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG hmmmm, Paul & Kathy: Both descriptions of installations and use of ddclient seems in conflict with my experience. First, when installed ddclient comes with its own startup script ddclient.sh.sample, which is merely renamed to ddclient.sh. It is used at bootup and starts as a daemon and checks immediately the dynamic ip connection for updates to dns. Then, these commands can be used to start/stop services: # sh /usr/local/etc/rc.d/ddclient.sh stop # sh /usr/local/etc/rc.d/ddclient.sh start Further, the script above runs dcclient as a daemon: /usr/local/sbin/ddclient -daemon 300 To make it complete, dcclient checks for any needed IP updates every five minutes on its own. If it sees a change (from ifconfig tun0), it updates and send me a message that it did so. Otherwise it just works quietly in the background. Beautiful program....!!! Does it all out of the box! At 06:59 PM 4.2.2002 +0200, Paul Everlund wrote: >Kathy Quinlan wrote: >> >> I am trying to get ddclient to work. >> >> the client works when run from the command line. >> >> I use PPPoE for my ADSL link. What I would like to do is to get the client >> to run when PPPoE gets a link up (as my IP would have changed). It has a >> sample up.ip file, it is called I assume from ppp.linkup after it >> establishes a link ? >> >> Any Ideas ?? as I am at a loss, MAN PPPoE is not to helpful :o( > >Might not be exactly what you want but I'll give an explanation of how >I've setup my own ddup. Maybe you can use the info, maybe not. > >The directory /usr/local/etc/rc.d contains startup/stop-scripts for your >local services. > >I wrote the following text file (see below), which I did name ddup.sh, >and put it in that directory. As it's not very advanced you should be >able to change it to meet your own needs. :-) > >/usr/local/etc/rc.d/ddup.sh >--- >#!/bin/sh > >case "$1" in > start) > echo -n ' ddup' > /usr/local/sbin/ddup --host your.domain.net --wildcard > /dev/null > ;; > stop) > ;; > *) > echo "" > echo "Usage: `basename $0` { start | stop }" > echo "" > exit 64 > ;; >esac >--- > >This script, as the others in the directory, is called after my PPPoE >connection has been established after a startup, and my dynamic dns >is updated. I haven't done anything exceptional in my ppp.conf for >this to happen. My ppp.conf just establish the connection in the >easiest possible way. > >My dynamic dns is quite static after my connection it is established, >so I don't check for updates of tun0. But if yours not, and you have >to update your dyn dns from time to time, there's a script called >ddupcron.sh in the directory /usr/local/sbin. > >The ddupcron.sh creates a file containing your IP, and then compares >this to the tun0 at given intervals. The intervals for this check is >entered in the crontab. > >If I make a crontab -e (as root) I get the following: >0,10,20,30,40,50 * * * * /usr/local/sbin/ddupcron.sh \ > your.domain.net tun0 > /dev/null > >This says it checks the file created by ddupcron.sh every tenth minute, >and updates it if necessary. I've myself commented it out as I made some- >thing wrong that got me banned a week from my dyn dns service, so be >careful. :-) > >My ddupcron.sh looks like this, as I made some changes, so it doesn't send >an email every time it don't do an update, and I did also add the wildcard. >This file you don't have to copy from this mail, as you should have it, but >I've included it here as an example: > >/usr/local/sbin/dupcron.sh >--- >#!/bin/sh > ># Define the host to be updated as 1st arguement to script >if [ -z $1 ]; then > echo "Usage: ddupcron.sh hostname [interface]" > exit >else > HOST=$1 >fi ># Define interface to grep address from >if [ -z $2 ]; then > IFACE=fxp0 >else > IFACE=$2 >fi >IFCHECK=$(/sbin/ifconfig $IFACE|grep ask|awk '{print $2}'|cut -d ':' -f2) ># Define where we should store last IP >IPFILE="/var/tmp/ddupip" >IPCHECK=$(cat $IPFILE) ># Define path to ddup and ddup arguments (except --host) >DDUP_PATH="/usr/local/sbin/ddup" >#DDUP_ARGS="--debug" >DDUP_ARGS="--wildcard" > >if [ "$IFCHECK" != "$IPCHECK" ]; then <--- changed from == to != ># echo "looks like we are still the same ip" >#else > $DDUP_PATH --host $HOST $DDUP_ARGS > echo "$IFCHECK" > $IPFILE >fi >--- > >I hope this helped you in some way. > >> Regards, >> >> Kat. > >Best regards, >Paul > >To Unsubscribe: send mail to majordomo@FreeBSD.org >with "unsubscribe freebsd-questions" in the body of the message > > .... our website: http://www.sage-one.net/ Best regards, Jack L. Stone Server Admin To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message