next up previous
Next: Testing the DP System Up: DP Previous: Compiling DP

Subsections

Configuring DP

DP configuration is a fairly messy business. As root, you will need to do a great deal of mucking about with various parts of the system. Once you have finished configuring DP, the Solaris machine will start acting as a router, so there is a fair bit OS configuration as well. Have fun.

Configuring the Port

Using admintool use the Serial Port Manager to configure the port that you wish to use as a Modem - Dial-Out Only template. Set the baud rate to 38400, or higher if you can manage it. Setting up the modem as dial-out only stops the modem from answering if someone tries to hack in.

Configuring the /etc/hosts and /etc/networks Files

Since the Solaris machine is going to be a router, you will need to add entries to the /etc/hosts and /etc/networks files. You should add the following lines (modified suitably) to the /etc/hosts file:



#
#    ORAC Hosts
#
203.30.77.2    solaris-ppp # Gateway to ORAC (fake)
203.30.77.152  orac-ppp    # ORAC address


The first line gives the IP-address of the Solaris machine, as it appears to ORAC (and the rest of the world). This address is a fake address, which will be overwritten by the dynamic address assignment when you dial up. The second line gives the address of the ORAC terminal annex; what you will be dialling into.

You also need to modify the /etc/networks file, so that it knows about the ORAC network. The following line will do:



#
# ORAC network
#
orac        203.30.77



Adding a Default Router

On start-up, your system should be set up so that ORAC is the default route for non-local traffic. The way to do this is to create a file called /etc/defaultrouter which contains the following line:



orac-ppp


After rebooting, network traffic will be routed to whatever interface provides a path to orac-ppp

Setting Up the DP Interface File

The file /etc/dp/conf (or wherever you have configured the DP files to be) contains the interface definitions for your PPP connections. ORAC now has two lines. The old line allows connections on a 28.8k modem which uses an Annex and a login script. The new line allows connections up to 56k (or will do) and uses the PPP password authentication protocol (PAP).[13]

A sample /etc/dp/conf file for the old line is shown in figure 7. The first entry is the interface definition, giving the modem to use, the phone number to call, etc. You will need to replace XXXXXXXX with the phone number you intend to call, LLLLLLL with your login id and PPPPPPPP with your password. It is a good idea to ensure that the configuration file is only readable by root, since your password is in plain text. The second entry gives the modem description with the port to use and the dial script to use. More on these below.

Figure 7: Sample DP Condiguration File for an Annex


IF=dp0 SYS=orac
    MODEMS=ktx-a 
    PHONE=XXXXXXXX 
    LOGIN_SCRIPT=orac-login
    LOGIN_ARGS=LLLLLLL,PPPPPPPP,ppp 
    LOGIN=LLLLLLL 
    TRACE=orac
    ACCESS=orac 
    PPP_ARGS=dynamic,:203.30.77.152 
    PRE_AUX=aux_script

MODEM=ktx-a DEV=cua/a BAUD=38400 DIAL_SCRIPT=ktx-dial DIAL_CHARMAP==W-,


 

A sample /etc/dp/conf file for the new line is shown in figure 8. You will need to replace XXXXXXXX with your phone number and LLLLLLL with your login id, as above. The modem line gives the definition for a new, faster modem (a Maestro Executive). This new modem can go to speeds of up to 56k. However, Solaris and DP do not seem to support speeds over 38k, so until I figure out how to configure things properly, I'm limited to 33.6k.

Figure 8: Sample DP Condiguration File for a Direct (PAP) Connection


IF=dp0 SYS=orac
    MODEMS=maestro-a
    PHONE=XXXXXXXX
    LOGIN_SCRIPT=direct
    TRACE=orac
    ACCESS=orac
    PPP_ARGS=user,LLLLLLL,dynamic,:203.30.77.152
    PRE_AUX=aux_script

MODEM=maestro-a DEV=cua/a BAUD=38400 DIAL_SCRIPT=maestro-dial DIAL_CHARMAP==W-,


 

Your login id may, in fact, be your full email address as opposed to a straight user name. (eg. LLLLLLL@orac.net.au instead of LLLLLLL). If this is so, use the full email address in the PPP_ARGS section and in the upap file (see section 4.2.8).

Don't try and set up a faster configuration than that supported by the OS. DP has a nasty habit of translating high speeds into really low speeds (56k maps on to 50 baud) if the OS does not support higher speeds. Adding extra lines to the /etc/ttydefs file will not help, as DP does the port programming itself.

Setting Up the DP hostnames File

The /etc/dp/hostnames file contains the addresses between which DP will communicate. A sample /etc/dp/hostnames file is:



dp0    solaris-ppp    orac-ppp


This file means that the interface dp0 is used to communicate between solaris-ppp (ourselves) and orac-ppp (themselves).

Setting Up the Modem Script

The ktx-dial entry in the MODEM part of the configuration file is a script telling DP how to dial out for a connection. The script I use, for my KTX FAX/modem, is /opt/dp/script/ktx-dial and contains the script in figure 9. Essentially, this script configures the modem correctly and then dials the modem. Eventually, it sees whether it gets a suitable response and then continues. Since I live in Australia, the section containing \xAT E1 X3 B0 &G0 &P1 S0=0 S6=2 S11=95\r configures the modem according to Austel requirements. If you live somewhere else, you will probably have to configure the modem differently.

Figure 9: Sample Modem Script for a KTX 28.8k Modem


##
##  Dial up a V.32bis or V.32 modem
##
xmit "\xAT Z\r"
{
    alternate
    recv "OK" 5
    alternate
    xmit "\xAT Z\r" 
    recv "OK" 5
    alternate 
    log "Failed to get attention of modem"
    abort
}
#
#    Configured to Austel requirements 
#
xmit "\xAT E1 X3 B0 &G0 &P1 S0=0 S6=2 S11=95\r"
{
    alternate
    recv "OK" 5
    alternate 
    log "Failed to configure modem"
    abort
}
xmit "\rATDT$1\r"
mark
{
    alternate
    recv "CONNECT" "BUSY" "NO CARRIER" "NO DIALTONE" "ERROR" 55
    alternate
    log "Modem Timeout"
    abort
}
{
    alternate
    replay
    recv "CONNECT" 0
    go
    alternate
    replay
    recv "BUSY" 0
    log "Busy"
    busy
    alternate 
    replay
    recv "NO CARRIER" 0
    log "No carrier"
    alternate
    replay
    alternate 
    replay
    recv "NO DIALTONE" 0
    log "No dialtone"
    alternate
    replay
    recv "ERROR" 0
    log "Error received from modem"
}
abort


 

The new modem I have is a Maestro Executive. This modem is capable of 56k speed, but is designed for use in country areas and sometimes defaults to an odd line speed to cope with the connection quality. The /opt/dp/script/maestro-dial script that I use for the maestro is shown in figure 10. There is a slight change to the initialisation string. The part containing +MS=11,0,,33600,1 restricts this modem to 33.6k operation.

Figure 10: Sample Modem Script for a Maestro 56k Modem


##
##    Dialup script for Maestro E56
##
xmit "\xAT Z\r"
{
    alternate
    recv "OK" 5
    alternate
    xmit "\xAT Z\r" 
    recv "OK" 5
    alternate 
    log "Failed to get attention of modem"
    abort
}
#
#    Configured to Austel requirements 
#    Force a connection at 33.6k until I can get 56k working
#
xmit "\xAT &F B0 &G0 &P1 S0=0 S6=2 S11=95 S29=70 &D2 S95=45 T +MS=11,0,,33600,1\r"
{
    alternate
    recv "OK" 5
    alternate 
    log "Failed to configure modem"
    abort
}
xmit "ATDT$1\r"
mark
{
    alternate
    recv "CONNECT" "BUSY" "NO CARRIER" "NO DIALTONE" "ERROR" 55
    alternate
    log "Modem Timeout"
    abort
}
{
    alternate
    replay
    recv "CONNECT" 0
    go
    alternate
    replay
    recv "BUSY" 0
    log "Busy"
    busy
    alternate 
    replay
    recv "NO CARRIER" 0
    log "No carrier"
    alternate 
    replay
    recv "NO DIALTONE" 0
    log "No dialtone"
    alternate
    replay
    recv "ERROR" 0
    log "Error received from modem"
}
abort


 


Setting Up the ORAC Login Script

You can ignore this section if you are using the new connections and PAP; use section 4.2.8 instead. Once you have successfully dialled out, another script is run which allows the ORAC login process to be negotiated. This script is named in the LOGIN_SCRIPT argument and, in this case is called orac-login which is kept in the file /opt/dp/script/orac-login A sample file is shown in figure 11. This file follows the usual Username:/Password:/Annex: prompt sequence, supplying the arguments given by the LOGIN_ARGS parameter. On success, you will be logged in to your ISP and ready to go.

Figure 11: Sample Login Script


##
##  Login to a Unix machine as username $1 with password $2 and service $3.
xmit "\x\r\r"
{
  alternate
    recv "name:" 10
  alternate
    log "Sending return to get first login prompt"
    xmit "\r"
    recv "name:" 5
  alternate
    log "Sending return to get first login prompt"
    xmit "\r"
    recv "name:" 5
}
xmit "$1\r"
{
  alternate
    recv "assword:" 35
  alternate
        xmit "\r"
    recv "name:" 10
    xmit "$1\r"
    recv "assword:" 10
}
xmit "$2\r"
{
    alternate
    recv "nnex:" 5
    alternate
    log "Timeout waiting for PPP to start on remote system"
    abort
}
xmit "$3\r"
go


 


Setting Up the PAP Password File

You can ignore this section if you are using a login script (section 4.2.7). To allow PAP to be used, you need to set up a file, /etc/dp/config/upap which contains the PAP username and password. NB. This file must be in the /etc/dp/config directory. The normal /etc/dp.conf settings do not work here.3 This file contains passwords in plain text, and should only be readable by root (mode 600).

A sample /etc/dp/config/upap file is:



# client server secret [IP address ...]
LLLLLLL * PPPPPPPP


Where LLLLLLL is the login id for your ISP and PPPPPPPP is the password.

Setting Up the ORAC Access File

An access file, specified by the ACCESS parameter in the configuration file essentially gives details on various timeouts: when the line should be brought down, when you should retry after an engaged signal, etc. Usually, you want to bring the line down after some period of inactivity.

Since ORAC charges by data-transfer rate, rather than time and is only a local call away, I have configured my interface to wait 10 minutes before bringing the line down. The result is the file /opt/dp/access/orac, which is shown in figure 12.

Figure 12: Sample DP Access File


DPaccess 2.0
#
# Options to allow only certain protocols, times of use, or specific machines.
# These limit the conditions in order to initiate a call.
#
timeouts {
    failedcall    3:10    # time to mark network as down after failed call
    callwait    0:50    # time to allow for call to go through
}

timeouts:dial {
    non_stream    10:00
    last_close    10:00
    inactivity  10:00
}

timeouts:answer {
    inactivity    10:00
}


 

Adjusting the Order of the Start-up File

The DP start script is initially placed in the /etc/rc2.d directory as S99dpconfig This position is somewhat inconvenient, as IP-Filter should be started after the PPP interface has been started. Renaming S99dpconfig to S93dpconfig is all that is needed here.

Adjusting the /opt/dp/aux/aux_script Script

The /opt/dp/aux/aux_script script is a shell script run by DP every time a connection is made. You can use this file to run any commands that may prove useful. Since you will probably be using SMTP and POP from some client, you can probably comment out the ${DPAUX_DIR}/ckmailq line.

When you configure IP-Filter, you will need to add a line to this file. See section 5.2.2 for information on this line.

Restarting the system

Once you have set up DP to your satisfaction, you can reboot the Solaris system, so that DP starts automatically.


next up previous
Next: Testing the DP System Up: DP Previous: Compiling DP
Doug Palmer 2003-02-15