Skip Navigation Links | |
Exit Print View | |
Managing Serial Networks Using UUCP and PPP in Oracle Solaris 11.1 Oracle Solaris 11.1 Information Library |
2. Planning for the PPP Link (Tasks)
3. Setting Up a Dial-up PPP Link (Tasks)
4. Setting Up a Leased-Line PPP Link (Tasks)
5. Setting Up PPP Authentication (Tasks)
6. Setting Up a PPPoE Tunnel (Tasks)
7. Fixing Common PPP Problems (Tasks)
8. Solaris PPP 4.0 (Reference)
Using PPP Options in Files and on the Command Line
How PPP Configuration File Privileges Work
/etc/ppp/options Configuration File
/etc/ppp/options.tmpl Template
Where to Find Examples of the /etc/ppp/options Files
/etc/ppp/options.ttyname Configuration File
Using /etc/ppp/options.ttyname on a Dial-in Server
Using /etc/ppp/options.ttyname on a Dial-out Machine
options.ttya.tmpl Template File
Where to Find Examples of the /etc/ppp/options.ttyname Files
Configuring User-Specific Options
Configuring $HOME/.ppprc on a Dial-in Server
Configuring $HOME/.ppprc on a Dial-out Machine
Specifying Information for Communicating With the Dial-in Server
/etc/ppp/peers/myisp.tmpl Template File
Where to Find Examples of the /etc/ppp/peers/peer-name Files
Configuring Modem Speed for a Dial-up Link
Defining the Conversation on the Dial-up Link
/etc/ppp/myisp-chat.tmpl Chat Script Template
Modem Chat Script for Calling an ISP
Basic Chat Script Enhanced for a UNIX-Style Login
Chat Script for External ISDN TA
How to Invoke a Chat Script (Task)
Authenticating Callers on a Link
Password Authentication Protocol (PAP)
What Happens During PAP Authentication
Using the login Option With /etc/ppp/pap-secrets
Challenge-Handshake Authentication Protocol (CHAP)
What Happens During CHAP Authentication
Creating an IP Addressing Scheme for Callers
Assigning Dynamic IP Addresses to Callers
Assigning Static IP Addresses to Callers
Assigning IP Addresses by sppp Unit Number
Creating PPPoE Tunnels for DSL Support
Files for Configuring Interfaces for PPPoE
Examples of sppptun Commands for Administering Interfaces
PPPoE Access Server Commands and Files
Using PPPoE and PPP Files to Configure an Access Server
PPPoE Client Commands and Files
/etc/ppp/peers/peer-name File for Defining an Access Server Peer
9. Migrating From Asynchronous Solaris PPP to Solaris PPP 4.0 (Tasks)
The dial-out machine and its remote peer communicate across the PPP link by negotiating and exchanging various instructions. When configuring a dial-out machine, you need to determine what instructions are required by the local and remote modems. Then you create a file that is called a chat script that contains these instructions. This section discusses information about configuring modems and creating chat scripts.
Each remote peer that the dial-out machine needs to connect to probably requires its own chat script.
Note - Chat scripts are typically used only on dial-up links. Leased-line links do not use chat scripts unless the link includes an asynchronous interface that requires startup configuration.
The contents of the chat script are determined by the requirements of your modem model or ISDN TA, and the remote peer. These contents appear as a set of expect-send strings. The dial-out machine and its remote peers exchange the strings as part of the communications initiation process.
An expect string contains characters that the dial-out host machine expects to receive from the remote peer to initiate conversation. A send string contains characters that the dial-out machine sends to the remote peer after receiving the expect string.
Information in the chat script usually includes the following:
Modem commands, often referred to as AT commands, which enable the modem to transmit data over the telephone
Phone number of the target peer
This phone number might be the number that is required by your ISP, or a dial-in server at a corporate site, or an individual machine.
Time-out value, if required
Login sequence that is expected from the remote peer
Login sequence that is sent by the dial-out machine
This section contains chat scripts that you can use as a reference for creating your own chat scripts. The modem manufacturer's guide and information from your ISP and other target hosts contain chat requirements for the modem and your target peers. In addition, numerous PPP web sites have sample chat scripts.
The following is a basic chat script that you can use as a template for creating your own chat scripts.
ABORT BUSY ABORT 'NO CARRIER' REPORT CONNECT TIMEOUT 10 "" AT&F1M0&M5S2=255 SAY "Calling myserver\n" TIMEOUT 60 OK "ATDT1-123-555-1212" ogin: pppuser ssword: \q\U % pppd
The next table describes the contents of the chat script.
|
This release includes the /etc/ppp/myisp-chat.tmpl, which you can modify for use at your site. /etc/ppp/myisp-chat.tmpl is similar to the basic modem chat script except that the template does not include a login sequence.
ABORT BUSY ABORT 'NO CARRIER' REPORT CONNECT TIMEOUT 10 "" "AT&F1" OK "AT&C1&D2" SAY "Calling myisp\n" TIMEOUT 60 OK "ATDT1-123-555-1212" CONNECT \c
|
Use the next chat script as a template for calling an ISP from a dial-out machine with a U.S. Robotics Courier modem.
ABORT BUSY ABORT 'NO CARRIER' REPORT CONNECT TIMEOUT 10 "" AT&F1M0&M5S2=255 SAY "Calling myisp\n" TIMEOUT 60 OK "ATDT1-123-555-1212" CONNECT \c \r \d\c SAY "Connected; running PPP\n"
The following table describes the contents of the chat script.
|
The next chat script is a basic script that is enhanced for calling a remote Oracle Solaris peer or other UNIX-type peer. This chat script is used in How to Create the Instructions for Calling a Peer.
SAY "Calling the peer\n" TIMEOUT 10 ABORT BUSY ABORT 'NO CARRIER' ABORT ERROR REPORT CONNECT "" AT&F1&M5S2=255 TIMEOUT 60 OK ATDT1-123-555-1234 CONNECT \c SAY "Connected; logging in.\n" TIMEOUT 5 ogin:--ogin: pppuser TIMEOUT 20 ABORT 'ogin incorrect' ssword: \qmypassword "% " \c SAY "Logged in. Starting PPP on peer system.\n" ABORT 'not found' "" "exec pppd" ~ \c
The following table explains the parameters of the chat script.
|
Starting PPP right after the CONNECT \c is often called a PAP login by ISPs, though the PAP login is actually not part of PAP authentication.
The phrase ogin:--ogin: pppuser instructs the modem to send the user name pppuser in response to the login prompt from the dial-in server. pppuser is a special PPP user account name that was created for remote user1 on the dial-in server. For instructions about creating PPP user accounts on a dial-in server, refer to How to Configure Users of the Dial-in Server.
The following chat script is for calling from a dial-out machine with a ZyXEL omni.net. ISDN TA.
SAY "Calling the peer\n" TIMEOUT 10 ABORT BUSY ABORT 'NO CARRIER' ABORT ERROR REPORT CONNECT "" AT&FB40S83.7=1&K44&J3X7S61.3=1S0=0S2=255 OK ATDI18882638234 CONNECT \c \r \d\c SAY "Connected; running PPP\n"
The following table explains the parameters of the chat script.
|
Refer to the chat(1M) man page for descriptions of options and other detailed information about the chat script. For an explanation of expect-send strings, refer to Chat-Script Field in /etc/uucp/Systems File.
A number of web sites offer sample chat scripts and assistance in creating the chat scripts. For example, see http://ppp.samba.org/ppp/index.html.
You call chat scripts by using the connect option. You can use connect "chat ..." in any PPP configuration file or on the command line.
Chat scripts are not executable, but the program that is invoked by connect must be executable. You might use the chat utility as the program to be invoked by connect. In this instance, if you store the chat script in an external file through the -f option, then your chat script file is not executable.
The chat program that is described in chat(1m) executes the actual chat script. The pppd daemon invokes the chat program whenever pppd encounters the connect "chat ..." option.
Note - You can use any external program, such as Perl or Tcl, to create advanced chat scripts. The chat utility is provided as a convenience.
connect 'chat -f /etc/ppp/chatfile'
The -f flag indicates that a file name is to follow. /etc/ppp/chatfile represents the name of the chat file.
Caution - The chat program always runs with the user's privileges, even if the connect 'chat ...' option is invoked from a privileged source. Thus, a separate chat file that is read with the -f option must be readable by the invoking user. This privilege can be a security problem if the chat script contains passwords or other sensitive information. |
Example 8-1 Inline Chat Script
You can place the entire chat script conversation on a single line, similar to the following:
connect 'chat "" "AT&F1" OK ATDT5551212 CONNECT "\c"'
The complete chat script follows the chat keyword. The script terminates with "\c"'. You use this form in any PPP configuration file or on the command line as an argument to pppd.
If the chat script that is needed for a particular peer is long or complicated, consider creating the script as a separate file. External chat files are easy to maintain and to document. You can add comments to the chat file by preceding the comments with the hash (#) sign.
The procedure How to Create the Instructions for Calling a Peer shows the use of a chat script that is contained in an external file.
You can create a chat file that is an executable script to be run automatically when the dial-up link is initiated. Thus, you can run additional commands during link initiation, such as stty for parity settings, besides the commands that are contained in a traditional chat script.
This executable chat script logs in to an old-style UNIX system that requires 7 bits with even parity. The system then changes to 8 bits with no parity when running PPP.
#!/bin/sh chat "" "AT&F1" OK "ATDT555-1212" CONNECT "\c" stty evenp chat ogin: pppuser ssword: "\q\U" % "exec pppd" stty -evenp
# chmod +x /etc/ppp/chatprogram
connect /etc/ppp/chatprogram
Chat programs do not have to be located within the /etc/ppp file system. You can store chat programs in any location.