Configuring your Macintosh to use SLiRP
Note: All pictures in this document are 16 shades of grey or less and
are designed to be transmitted quickly over low-bandwidth connections.
What do I need to do this?
- MacTCP (version 2.04 or better is preferred) or Open Transport
- Dialup SLIP or PPP software (InterSLIP, MacPPP, FreePPP, etc)
- Programs that use TCP/IP (NCSA Telnet, Netscape, Internet Explorer, etc)
- A compiled version of SLiRP
Things covered in this document:
MacTCP is a commercial software product manufactured by Apple
Computer. It allows a Mac to transmit and receive TCP/IP packets, the
standard communications protocol used on the Internet. MacTCP is
included with the purchase of Apple's System 7.5. You can also get it with
the Internet Starter Kit, a book by Adam Engst. Not only does it contain
MacTCP, but it also contains SLIP and PPP clients for the Mac as well
as good documentation for setting it all up in various settings.
Open Transport came with System 7.5.2 and is meant to replace MacTCP.
It's Apple's newly redesigned networking suite that also is Power-Mac
native. Open Transport will not work on Mac Plus, SE, or Classic (or
anything without at least a 68030 processor). The latest version of
Open Transport is version 1.1 and is available at
Apple's Support Web Site
either as a seperate package or as part of System 7.5 Update 2.0.
Here's some places you can get MacPPP 2.0.1:
Here's some places you can get FreePPP 2.5:
Here's some places you can get InterSLIP 1.0.1:
Or find a local mirror of sumex-aim.stanford.edu and look in the
comm/tcp directory for mac-ppp-201.hqx, free-ppp-25-rf.hqx,
Note: This assumes you've already installed both MacTCP,
PPP or SLIP software, and rebooted your computer system.
Open up MacTCP. There should be two icons here: "Localtalk" and something
similar to the name of the SLIP/PPP program you're using..
Warning: Do not have both SLIP and PPP installed
at the same time. They conflict with each other.
Click on the one that corresponds to the SLIP/PPP program you're using.
Then click the 'More' button (at the bottom of the dialog).
Set the areas of this dialog box up as follows. When you have
configured all of this stuff properly, click 'Ok'.
This to be set to 'server' as SLiRP's default IP address is usually
acceptable. Of you set it to 'manual,' you will have to set the IP
address yourself in the previous dialog where it shows '0.0.0.0' in
This section can generally be left alone.
If you use 'Server' for Obtain Address,
then this field will not be editable and you can leave it alone. If
you use 'Manual' for Obtain Address,
either change the Gateway Address to the IP address of your SLiRP host
or to your Gateway host. The System Administrator at your site can
tell you either of these values. When SLiRP starts up, it will tell
you what your IP address is.
Domain Name Server Information
You will need to get this information from your System Administrator
as it is different for each site. Without this, you will be forced to
use IP addresses and/or the hosts file in your System Folder to
resolve names to IP addresses. Mosaic or Netscape will be impossible
to use if this information is not correct.
You can also let SLiRP try and figure it out. Use SLiRP's address of
10.0.2.3 for your DNS server.
The Open Transport Configuration looks like this:
Depending on your hardware configuration, this pop-up menu may contain many
different things. It should be showing whichever SLIP/PPP client you're
In my case, I was able to get it to work with "Using PPP Server." In this
case, when you connect, your IP address should read 10.0.2.15. If you
have problems connecting with "Using PPP Server" then use "Manual"
configuration as follows:
- IP Address: 10.0.2.15
- Subnet Mask: 255.255.255.0
- Router address: The IP Address of your SLiRP host (SLiRP tells you what
this is when you invoke it from the Unix command line).
Implicit Search Path
Enter the domain name of your SLiRP host. On a fully qualified hostname,
it would be the last two bits. For example, if the name of your
host was foo.bar.ack.com, your domain would be ack.com. If you don't
know what the full host name of the system that you're on, ask your
Starting Domain Name
Ending Domain Name
Leave this blank.
Additional Search Domains
Use the same domain you used in "Starting Domain Name" above.
Name Server Addr
When you invoke SLiRP from the command line, it should give you up to
three IP addresses that can be used for DNS. Take each one of these
IP addresses and enter them into this box. If these don't work, you
will need to ask your System Administrator what your DNS server is.
You can also use SLiRP's address of 10.0.2.3 for your DNS server.
Note: These screen shots are of MacPPP 2.0.1. The buttons/configurations
are similar to FreePPP 2.5.
From here, click 'new' to create new settings. Enter the name you wish
to give this configuration and click 'Ok'. Configure Port Name (modem
or printer), Idle Timeout, and Echo Interval to your own needs. 'Quiet
Mode' and 'Hangup on Close' should be clicked on. 'Terminal Window'
should be clicked on if you don't use a
connect script. Now click on 'Config'. The following dialog box
will come up:
PPP Server Name
This will be the name you specified when you clicked 'New'
earlier. This is how you change the name of a set of settings.
Port Speed, Flow Control
These should be set as necessary for your modem to function
properly. If you're using a 14400 modem (or higher), I recommend
CTS&RTS (DTR) Flow Control and Port Speed of 57600.
Phone num, Modem Init
Dialup number for your shell account. Modem init should be the same as
for your normal communications program.
Click on 'Connect Script...'. A dialog like the following will come
Here is a 'sample' script that should work with most Unix
hosts. The only change most people will have to make is where it looks
for the standard Unix prompt. You will need to change this to the last
few characters of your Unix prompt. This script:
- Waits for the phrase 'ogin:'
- Sends 'MyLogin' with a carriage return
- Waits for the phrase 'assword:'
- Sends 'MyPassword' with a carriage return.
- Waits for '$' (My Unix prompt)
- Sends 'mesg n ; slirp -c -P' with a carriage return.
Other things you can do in the connect scripts include \d (for delay 1
second) and send ctrl characters by prefacing them with a '^' (e.g. ^c
is Control-C). See the MacPPP documentation for more details on the
Using this, you can shorten this script dramatically to:
Some say that the connection reliability improves
if you add a "Wait for: SLiRP Ready" to the end of the connection
script. I don't doubt this. If you're having problems with your connection,
you may want to give this a try. This is the best way to insure that SLiRP
started up correctly.
- Wait for: ogin:
- Send out: MyLogin^n\dMyPassword\d\d\d
- Send out: mesg n ; slirp -c -P
Note: If you do not use a Connect Script, you will need to have
'Terminal Window' chcecked in the Main ConfigPPP window. This is a
simple terminal emulator that will allow you to login and start up PPP
on the remote end without using a regular terminal program.
In most cases, these settings will not need to be altered for use with
SLiRP. Two things may need altering, depending on your
Async Char. Control Map
If your connection is not completely 8-bit clean, you may need to
alter the value under 'Local'. For 8-bit clean lines, the default of
00000000 will work. If Ctrl-S and Ctrl-Q are used by the
local system use the async map 000a0000. In any case, this
must correspond to the value that you set SLiRP up with. See Configuring SLiRP for more details.
Max. Rexeive Unit
The value under the 'Local' heading corresponds to your MTU (SLiRP's
MRU). The value under the 'Remote' heaqding corresponds to your MRU
(SLiRP's MTU). The default values are usually acceptable, although you
may need to reduce them to increase throughput. These values should
correspond to how you set up SLiRP.
You won't need to do anything here. The defaults work fine.
Before starting to configure InterSLIP, you will need two things:
- A "dialing" script. If you have an ARA script for your particular modem,
this will suffice, though I do not recommend using Supra's ARA script
for their v.34 modems.
- A "gateway" script. This is a type of macro that will control the
connection after the modem connects, but before the SLIP connection
Here are both a dialing script and a gateway script. You will have to make
slight modifications to these scripts (which are text files) in order to
make sure that they work for you. Most of the places you will need to
modify have been easily pointed out in comments within the scripts
These files will need to be placed in folders within the 'InterSLIP Folder',
which is in 'Preferences' under the 'System Folder.' DialSLiRP will need
to be placed within the 'Dialing Scripts' folder; GateSLiRP will need
to be placed within the 'Gateway Scripts' folder.
Once this has been done, open up the InterSLIP Control Panel or the
InterSLIP Setup application:
From here, pull down 'new' from the FIle menu to create new settings. Enter
the name you wish to give this configuration and click 'Ok'. In this example,
I chose 'MyProvider' as my test name.
Now your provider should appear in the list. To change the settings for
this provider, double-click on its name.
Serial Port, Baud Rate, Data Bits, Stop Bits, Parity
In most cases, this should read 'Modem Port', 57600, 8, 1, None.
Hardware handshaking is highly recommend if you're using a 9600 baud or
Speaker on while dialing
Set to suit your tastes.
Set this to either 'DialSLiRP' or to the name of the Dialing script that you
intend to use with InterSLIP.
Dial, Phone No., Modem Init
Set as appropriate.
Set to 'GateSLiRP' or whichever Gateway Script you want to use.
Username, Prompt for password at connect time
Set username as appropriate. If you wish to have it automatically enter your
password at login, uncheck the box and type your password in. Note that it
will be shown in plain text now and in subsequent reconfigurations.
IP Address, Nameserver
These values can be left blank. MacTCP supplies both of these.
RFC 1144 TCP Header Compression
If you wish to use CSLIP, check this box. Since CSLIP offers slightly better per
formance than SLIP (comparable to PPP), there;s no reason not have th
InterSLIP's default is 1500. SLiRP's default is 552. To start with, use 552.
Once you've got the connection up and running, change to suit your needs.
There are two files that you will need to read. Danny (the author)
finally wrote a comprehensive SLiRP manual
that explains everything in gory, graphic detail. There's also a
file that just goes thru the various
SLiRP configuration options that can be used and the various
methods for configuring SLiRP. However, in order to get SLiRP initially
running, you can generally add options like baudrate and asyncmap when
you invoke SLiRP from the Unix command line.
The minimal command line you will need to get SLiRP going is:
- slirp -P (for PPP clients)
- slirp (for SLIP clients)
If you need to change the baudrate parameter to 14400, you'd invoke
- slirp -b 14400 (for SLIP clients)
- slirp -b 14400 -P (for PPP clients)
PPP users only: If you need a different asyncmap than 00000000
(like 000a0000), then invoke SLiRP as:
- slirp -P "asyncmap 000a0000"
Other options are explained in this text file.
Short List of Problems
These are a short list of some of the problems I've seen in email the year
or so I've had these pages up:
DNS doesn't work
Before you start messing with your DNS settings, verify your connection
to SLiRP. (See below)
(Otherwise known as: "Netscape can not find a DNS entry for
Double-check your DNS information from your System Administrator. If it's
correct, remove the file 'MacTCP DNR'. If you're using MacTCP, also delete
the file 'MacTCP Prep'. Once you've done that, reboot.
I'm connected, but I can't seem to go anywhere
The good news is, if you've gotten this far, you've probably configured
things properly. The first thing to check is if you can telnet (from the Mac)
to 10.0.2.0 and check out SLiRP's 'on-the-fly' configuration program.
If you can do this, then it might be that
DNS isn't configured properly.
If you can't do that, you may not have an 8-bit clean path between you
and your SLiRP host. This is basically required, though PPP software can
partially account for it by using the 'asyncmap' option. The usual
culprit is Ctrl-S and/or Ctrl-Q. If you use the asyncmap ffffffff and you
still can't do anything, then you probably can't use SLiRP.
Another SLiRP user suggested adding an 'stty pass8' to the connection
script. This may not work on your particular Unix system, so your mileage
I get "Link Dead" when I try to connect
Most likely, if you've gotten this far, SLiRP is at fault. It works better
on some systems than others. In your MacPPP/InterSLIP script, invoke
SLiRP with the '-d' option (debug). This information will not be of
use to me, but will be of good use to
You may also want to check for 'core' files in the same directory as
SLiRP's binary. That's usually an indication that SLiRP isn't working.
[CCSFweb] [Events] [Site Index] [Help]