Date: Thu, 16 Jul 1998 14:38:31 +1000 From: Carey Nairn <C.Nairn@dpac.tas.gov.au> To: Archie Cobbs <archie@whistle.com>, cpn@dpac.tas.gov.au (Carey Nairn) Cc: questions@FreeBSD.ORG Subject: Re: multilink ppp Message-ID: <199807160437.OAA11031@healy.dpac.tas.gov.au> In-Reply-To: <199807151922.MAA23642@bubba.whistle.com> References: <Pine.BSF.3.96.980716001658.23745A-100000@whitestar.cpn.org.au>
next in thread | previous in thread | raw e-mail | index | archive | help
Thanks, I'll give it a go tonight.
At 12:22 15/07/98 -0700, Archie Cobbs wrote:
>Carey Nairn writes:
>> I am having some headaches trying to set up mpd-1.0b4 from the ports. The
>> software install went fine but I am now trying to get the configs right
>> to enable dialup to the ISP.
>>
>> The dialup is as follows:
>>
>> - dynamic IP addresses (I can't find the mpd equivalent of ppp.linkup
>> where I would normally have something like
>>
>> delete ALL
>> add 0 0 HISADDR
>
>With mpd, you would do this like so:
>
> set iface addrs 1.2.3.4 5.6.7.8
> set ipcp ranges 0.0.0.0/0 5.6.7.8/0
>
>That is, you have to set initial values, even if they are made up
>(which is OK). Once connected, the server will assign the correct
>addresses and mpd will renumber the interface.
>
>> - standard username/password login so I need a standard expect/send chat
>> script.
>
>You can do this pretty easily using the mpd chat language..
>here is an example of an "auto login" algorithm that Whistle uses:
>
>##
>## AutoLogin
>##
>## Here we attempt to figure out what the remote server wants
>## from us. We do this by checking for bytes that correspond
>## to PPP packets (in which case we are done) as well as common
>## login type stuff like "name:", "ogin:", etc.
>##
>## This always returns. The hope is that when it returns, the
>## remote side has reached PPP mode.
>##
>## This has been crafted from empirical evidence. Lots of terminal
>## servers have various intelligent/stupid features which we
>## take advantage of/have to work around.
>##
>## Variables (set automatically by mpd):
>##
>## $Login Authorization login
>## $Password Authorization password
>##
>
>AutoLogin:
> log "Auto-login..."
>
># Spend at most this long doing auto-login before giving up
>
> timer autoLogin 5 AutoLoginTimeout
>
># At any time if we an LCP frame (not our own echo) then we're done
>
> match autoLogin "\x7e\xff\x03\xc0\x21" AutoLoginFrame
> match autoLogin "\x7e\xff\x7d\x23\xc0\x21\x7d\x21" AutoLoginFrame
> match autoLogin "\x7e\xc0\x21" AutoLoginFrame
>
># Now send a "fake" PPP frame (this is an empty config-reject with id# 172).
># This should trigger any auto-detecting servers to jump into PPP mode,
># which is good because it's faster (by avoiding human readable messages)
># and more reliable (PPP framing).
>
> print "\x7e\xff\x7d\x23\xc0\x21\x7d\x24\xac\x7d\x20\x7d\x24\x2e\x2b\x7e"
>
># Wait one second for server to auto-detect PPP or send a login prompt.
># After one second of neither, try sending a carriage return (some servers
># require this). After that, we have to see something recognizable from
># the peer, otherwise we'll just timeout.
>
> match "ogin" AutoLoginPrompt
> match "name" AutoLoginPrompt
> wait 1
> print "\r"
> match "ogin" AutoLoginPrompt
> match "name" AutoLoginPrompt
> wait
>
># At this point we've seen a login prompt; do the manual login
>
>AutoLoginPrompt:
> log "Sending login..."
> print "${Login}\r"
> match "word"
> wait
> log "Sending password..."
> print "${Password}\r"
> match "\r"
> wait
> if $didLogin != "yes" match "ogin:" LoginAgain
> match ">"
> match "%"
> match ":"
> wait
> log "Sending ppp comand..."
> print "ppp\r"
> cancel all
> return
>
>LoginAgain:
> set $didLogin "yes"
> goto AutoLoginPrompt
>
># We saw a PPP frame
>
>AutoLoginFrame:
> log "Detected PPP frame."
> cancel all
> return
>
># We timed out before seeing a PPP frame
>
>AutoLoginTimeout:
> log "Auto-login timed out."
> cancel all
> return
>
>-Archie
>
>___________________________________________________________________________
>Archie Cobbs * Whistle Communications, Inc. * http://www.whistle.com
>
>To Unsubscribe: send mail to majordomo@FreeBSD.org
>with "unsubscribe freebsd-questions" in the body of the message
>
Carey Nairn Mailto:C.Nairn@dpac.tas.gov.au
Information Systems Branch Phone: (03) 6233 3077
Dept of Premier & Cabinet Fax: (03) 6224 3174
GPO Box 123b Hobart, Tasmania 7001
AUSTRALIA
_________________________________________________________________________
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199807160437.OAA11031>
