Build A Router With A 386 And A Floppy Disk by Carla
Schroder
FreeSCO is a single-floppy-disk router for networks with
static routing. It is a good choice for lighter routing
chores, when a full-blown heavy-duty commercial router is
much too much.
It makes a nice Internet gateway for a home or small office
network. It is adaptable for any number of uses in a larger
network. Some of Freesco’s abilities:
- Simple bridge
- Firewalling and NAT
- Dialup, leased line, DSL and cable router
- Time, DHCP, DNS, HTTP server
- Remote access server
- Print server
- Supports up to three Ethernet/arcnet/token_ring/arlan NICs
and two modems
Easy configuration
System requirements are any 386 or better with a floppy
drive, 16 MB RAM. You can get away with as little as 8 MB by
running Freesco on a hard drive with a swap file. Using a
hard drive makes room for extensions and Web serving. I like
the idea of no moving parts at all- no fan, no hard
drive. Once it’s installed, it doesn’t even require a
monitor or keyboard.
Make a FreeSCO disk in either Windows or Linux. Download
FreeSCO from http://www.freesco.info/dload/index.shtml. Get
two files: freesco-027, and modules-027, and unpack them in
a temporary directory. The current version is 0.2.7. That’s
right, it’s not even a 1.0. However, I have found it to be
extremely stable and dependable, running for months with no
problems. It is based on the Linux 2.0.38 kernel, and
contains dependable Unix DHCP, DNS, and dialup components.
To create a FreeSCO floppy in Windows, use rawrite. Open a
DOS prompt, and cd to your temp directory. Type rawrite and
press enter. When asked for a disk image name, type
freesco.027. Target drive = A. As you have demonstrated
foresight and already loaded a blank floppy disk, that’s all
it takes.
Rawrite works only under true DOS/Win9x, for Windows
NT/2000/XP use DiskWrite: http://www.disoriented.com/diskwrite/
In Linux, use the dd file converter utility:
dd if=freesco.027 of=/dev/fd0
Job 1: Simple DSL or Cable Router
This is the quick and easy way to connect a LAN to the
Internet. Take your old designated PC-soon-to-be-router and
install two Ethernet cards. I recommend using good
brand-name PCI NICs to minimize headaches. Freesco supports
most major brands: Netgear, Linksys, 3Com, DLink, and
NE1000/2000. It supports ISA cards; the advantage of using
PCI is Freesco will configure them automatically. For ISA
NICs, you’ll need to know the I/O addresses and IRQs. Your
client PCs should already have their own NICs installed, and
sufficient patch cables to connect everyone. The network
looks like this:
Internet-> DSL/Cable modem->FreeSCO router-> Hub-> LAN
Insert the FreeSCO disk and boot up. At the opening screen,
type setup and hit enter to bring up configuration mode. You
have five seconds to do this, or it goes into a normal
startup. Use the usual Linux commands to restart or
shutdown: halt, shutdown -n, reboot -n, ctrl+alt+del.
Wait patiently for the startup process to finish. Remember
this is old slow floppy drive. When it finally displays a
login prompt, both login and password are root. Go ahead and
login- if you don’t, after 60 seconds it will do a normal
startup. Later, after configuration is complete, it will
require a password change.
After logging in, a colorful screen appears. Configuration
options are color coded: green = required, yellow =
optional, and red = experts only. Press enter. Choose e:
Ethernet router. First choice is Hostname, or what shall we
name our router? The default is router. Next it asks for the
Domain name of your local network. inet is the default. Make
these anything you like.
Autodetect modems? n
How many network interface cards do you have? 2
For PCI NICs, set the first I/O port address to 0. Press ‘
enter’ through the remaining I/O and IRQ questions. For ISA
NICs, enter the I/O and IRQ values.
Use DHCP client to configure 1st network interface y/n
?
The
answer depends on your Internet account. The first NIC,
eth0, connects to the Internet. If you have a static IP,
select n. If your IP is dynamically assigned, select y.
Accept eth0 as the interface name? do not change it.
ISP account with static IP:
On the line for IP address enter your static IP, then on the
next line your netmask. (All of these settings are provided
by your ISP.) FreeSCO asks for the IP range next. As this
does not apply, type – (hyphen) to disable DHCP.
Dynamically-assigned IP:
Keep hitting enter, accepting the
defaults, until it gets to the 2nd network interface
name. Again accept the default, eth1.
The default IP address and netmask of eth1 are perfectly
good, 10.0.0.1, 255.255.255.0. Easy to change to suit your
needs. eth1 directs traffic ‘inward’ to the LAN.
Next, if you don’t have a DHCP server already, define your
IP range. The larger the pool the more memory it eats, so
don’t make it too large. FreeSCO has a default of 100
addresses, 192.168.168.100/200. Mine is
192.168.168.100/110. Be sure to type out the full addresses:
192.168.168.100 192.168.168.110
If you’d rather assign client IPs statically, or already
have a DHCP server, disable DHCP on eth1 with -.
That takes care of the Internet/Intranet settings. The next
section is services. Remember, don’t change lines in red
unless you really know what you are doing.
For the lines in yellow:
Enable caching DNS server? s
Enable DHCP server? s if FreeSCO is going to be your DHCP
server, n if you already have one, or don’t want one at all.
Enable time server and router remote control via
HTTP? s
Enable telnet server? s
Host gateway? Get this from your ISP if you have a static
IP, otherwise -.
Primary and secondary DNS? These come from your ISP.
Do you want to export these services? n
That’s it. Save current config, exit, and reboot. I like to
connect a single client computer for testing. Simply set the
default gateway on the client machines to the router’s IP,
and use your ISP’s DNS server settings. WARNING: No firewall
has been configured yet! You’ll either need a separate
firewall, or stay tuned for Part 2.
In Part 2 we’ll configure a firewall, and explore FreeSCO’s
advanced features.
Resources: