Configuring a PPP link. After you have compiled and installed this package, there are some configuration files which will generally need to be set up. The pppd(8) man page is the best reference for the full details; this file outlines the configuration process for the most common case, where this package is being used to enable a machine to dial an ISP and connect to the internet. The FAQ and README.linux files also provide useful information about setting up PPP. Dialling an ISP. **************** Usually, an ISP will assign an IP address to your machine, and will refuse to authenticate itself to you. Some ISPs require a username and password to be entered before PPP service commences, while others use PPP authentication (using either the PAP or CHAP protocols). The recommended way to set up to dial an ISP is for the system administrator to create a file under /etc/ppp/peers, named for the ISP that you will be dialling. For example, suppose the file is called /etc/ppp/peers/isp. This file would contain something like this: cua0 # modem is connected to /dev/cua0 38400 # run the serial port at 38400 baud crtscts # use hardware flow control noauth # don't require the ISP to authenticate itself defaultroute # use the ISP as our default route connect '/usr/sbin/chat -v -f /etc/ppp/chat-isp' If there are any other pppd options that should apply when calling this ISP, they can also be placed in this file. The /etc/ppp/chat-isp file named in the last line contains the script for chat(8) to use to dial the ISP and go through any username/ password authentication required before PPP service starts. Here is an example (for dialling an Annex terminal server): ABORT "NO CARRIER" ABORT "NO DIALTONE" ABORT "ERROR" ABORT "NO ANSWER" ABORT "BUSY" ABORT "Username/Password Incorrect" "" "at" OK "at&d2&c1" OK "atdt2479381" "name:" "^Uusername" "word:" "\qpassword" "annex" "ppp" "Switching to PPP-ppp-Switching to PPP" See the chat(8) man page for details of the script. If you are not sure how the initial dialog with your ISP will go, you could use a terminal emulator such as kermit or minicom to go through the process manually. If your ISP requires PAP or CHAP authentication, you will have to create a line in /etc/ppp/pap-secrets or /etc/ppp/chap-secrets like this: myhostname * "password" (Replace myhostname with the hostname of your machine.) At this point, you can initiate the link with the command: /usr/sbin/pppd call isp (N.B.: pppd might be installed in a different directory on some systems). This will return to the shell prompt immediately, as pppd will detach itself from its controlling terminal. (If you don't want it to do this, use the "nodetach" option.) Pppd will log messages describing the progress of the connection and any errors using the syslog facility (see the syslogd(8) and syslog.conf(5) man pages). Pppd issues messages using syslog facility daemon (or local2 if it has been compiled with debugging enabled); chat uses facility local2. It is often useful to see messages of priority notice or higher on the console. To see these, find the line in /etc/syslog.conf which has /dev/console on the right-hand side, and add `daemon.notice' on the left. This line should end up something like this: *.err;kern.debug;daemon,local2,auth.notice;mail.crit /dev/console If you want to see more messages from pppd, request messages of priority info or higher for facility daemon, like this: *.err;kern.debug;daemon.info;local2,auth.notice;mail.crit /dev/console It is also useful to add a line like this: daemon,local2.debug /etc/ppp/ppp-log If you do this, you will need to create an empty /etc/ppp/ppp-log file. After modifying syslog.conf, you will then need to send a HUP signal to syslogd (or reboot). When you wish terminate the PPP link, you should send a TERM or INTR signal to pppd. Pppd writes its process ID to a file called ppp.pid in /var/run (or /etc/ppp on older systems such as SunOS or Ultrix). Here is the PPP interface unit number, which will be 0 unless you have more than one PPP link running simultaneously. Thus you can terminate the link with a command like kill `cat /var/run/ppp0.pid`