How do I set up Solaris/x86 to use PPP to connect to an ISP?

How do I set up Solaris/x86 to use PPP to connect to an ISP?

"Life is too short for bad PPP software." --Celeste Stokely


Update (10/2001): I understand aspppd has been removed from Solaris 8.
Use pppd instead (see the next question).


Setting up PPP with the system-default aspppd could be an exercise
in torture. That's because it's based on the old BNU/UUCP
communication software, which itself is infamously hard to set up.


Of course, the hardware (modem and serial port) has to be set up
correctly too. Make sure hardware flow control is enabled.


The best documentation on it is Bruce Riddle's PPP Configuration
for Solaris/x86 at

http://www.riddleware.com/solx86/ppp-config.html

Another good guide is at

http://www.kempston.net/solaris/

Philip Brown has a script to automate asppp configuration at

http://www.bolthole.com/solaris/configppp.sh


For pointers to other references, see Stokely's "Serial Port Resources" at

http://www.stokely.com/unix.serial.port.resources/

Also see Sun's "Expanding your Network with PPP" in the TCP/IP and
Data Communications Administration
, at docs.Sun.COM and
"SunService Tip Sheet for SunPPP" (InfoDoc ID 11976).


Here's some notes that may also help you out with Sun's aspppd:


  1. Make sure you have the "Basic Networking" packages installed,
    otherwise pkgadd SUNWbnur and SUNWbnuu.
  2. Insert IP addresses/host names into the /etc/hosts table. Your
    ISP needs to give you the names or you can look them up on the net.
  3. Create /etc/resolv.conf, and add your domainname and nameserver lines.
    Your provider can provide the domainname (probably name-of-your-isp.com,
    unless they have a multi-location operation). The DNS nameservers goes
    on the nameserver lines, 1 per line.
  4. Edit /etc/mail/sendmail.cf to use relay mailer ether, and relay host
    should be the smtp server. This hostname needs to be accurate.
  5. Most news readers (like xvnews and Netscape) refer to the environment
    variable NNTPSERVER to find the NNTP server. Set that
    in your environment before invoking the reader. This can go in your
    .profile, .cshrc, or whatever, depending on what shell you use.
  6. For the actual PPP connection, the only thing that counts is the
    machine you dial up to (most likely the gateway machine). You'll
    have to edit the /etc/uucp/{Systems, Dialers, Devices} with things
    like your preferred modem setup unless you like one of the defaults
    (one of my character flaws, I guess, I don't like any of them),
    dialing info for the gateway machine (note that our PPP is broken,
    and ignores the time-to-call field, disaster for a lot of us), and
    what serial port you have your modem connected to. Then edit the
    /etc/asppp.cf file to configure the ipdptp0 interface.



Notes for the examples:


I have my modem configured to power-on in the mode I like to use for my
PPP configuration. DISABLE LOGINS ON THE MODEM PORT. I don't recall the
nameserver IP address of my DNS server, so the example has a bogus address
for /etc/resolv.conf. I also found that I had to put a delay at the end
of the chat script in /etc/uucp/Systems (\d), or I couldn't get connected.
Loopback problems and config error problems, caused by the remote system
still being in echo mode on the line when my machine started sending the
first PPP configure packets. Also, I have yet to find a 2.4 setup where
ttymon grabs the line after PPP times out and disconnects (but before the
modem has recognized a DTR-down condition (my speculation is that our
streams stuff doesn't actually take DTR down)) causing the line to
essentially be hung. This is avoided by not enabling ttymon on that port.
In other words, in keeping with Sun's long tradition, truly bi-directional
lines are a crapshoot on Suns.


Examples for my home machine:


/etc/hosts:


165.154.15.142 MyPCNameGoesHere
165.154.1.1 my-isp
127.0.0.1 localhost


/etc/resolv.conf:


domainname hookup.net
nameserver 165.154.1.7


/etc/mail/sendmail.cf:


# (Stuff not included here for brevity) . . .
Dmether
# (Stuff not included here for brevity) . . .
DRmail.tor.hookup.net
CRmail.tor.hookup.net
# (Stuff not included here for brevity) . . .


/etc/uucp/Dialers:


wb144 =W-, "" \dAT\r\c OK\r \EATDT\T\r\c CONNECT


/etc/uucp/Devices:


ACUWB cua/0 - Any wb144


/etc/uucp/Systems (line split for readability; change the phone #):


my-isp Any ACUWB 57600 555-2871 "" P_ZERO ogin: MyLoginNameGoesHere \
assword: MyPasswordGoesHere


/etc/asppp.cf:


ifconfig ipdptp0 plumb MyPCNameGoesHere my-isp netmask 0xffffff00 -trailers up
path
inactivity_timeout 900
interface ipdptp0
peer_system_name my-isp
debug_level 8
default_route


[Thanks to Dennis (from Bob's Solaris 2.4 x86 FAQ) and Wyatt Wong]





Home
FAQ