Build A Router With A 386 And A Floppy Disk, Part 2
Carla Schroder covers a few more projects in your reach with a 386 and FreeSCO; including a NAT firewall, a router, a basic redundant dialup connection manager, and a small Web server.
FreeSCO's nicest feature is the sensible default firewall configuration. Log into the setup screen, and select a) Advanced Settings. To activate the built-in firewall, select 11, On/Off NAT/Firewall.:
Enable IP masqerade: y.
If the nodes on your LAN have routable IP addresses, this won't work- otherwise it must be enabled.
Follow the steps in Part 1, turn on the firewall, and you're done. Instant firewall/router. As nice as the defaults are, there may be times when manual editing is necessary. Look in the /router/rc directory. Warning: do not edit with Notepad, or any Windows word processor. Use a Linux/Unix text editor, or a real text editor for Windows, like GNU Emacs.
The most common problem with FreeSCO is having the right modem drivers. It supports and automatically configures many popular modems 'out of the box', but newer drivers must be installed manually. 3Com cards are the easiest, cards based on the 3c509 and 3c59x chipsets will work without hassle. PCI cards based on the Realtek 8129/8139, and DEC 21040, 21041, and 21140 chips, such as DLink and Linksys, need the rtl8139 and DEC tulip drivers, respectively. rtl8139 and tulip have been updated, any card made in the past couple of years probably needs the newer drivers. Look for them in the /net/new directory, in the folder where FreeSCO was unpacked. Or download from the vendor's Web site. Try the drivers in /net/new first. Installing a driver is easy itself: copy it to /router/drv, then re-run the NIC setup. (Advanced Settings)
There is about 50k of free space on a new FreeSCO 0.2.7 floppy. Leave 20k free for DHCP. That doesn't leave much room for installing a modem driver. Which brings us to running FreeSCO from a hard drive. Using a hard drive makes room for all kinds of fun projects, like running a simple Web site or an MP3 server. There is a built-in utility for migrating from a floppy to a hard disk. First, make a bootable hard drive with MS-DOS. Windows 95/98 will also work. Create and boot up a FreeSCO floppy disk, do a normal startup, and login. At the prompt type
This will take a few moments- remember, floppy drives are slow. When it is finished, shut down FreeSCO and reboot to the hard drive. At the command prompt type
Run through the configurations and you're in business.
Running a little Web site is dead easy. In Advanced Settings, select option 44, Control HTTP and Time Server. Choose "s," enable service locally," or "y," open to the world. A public Web site is best housed on a standalone machine, isolated from your internal network. Create a /www folder, with an index.html file, and store your site files there. If you use port 80, the default, normal URL syntax will work fine. Ports 8080 or 3000 will also work, if your users remember to append :8080 or :3000 to the URLs.
Build A Bridge A bridge makes sense even on a small network. Remember, Ethernet networks are popular because of low cost, not efficiency. Packet loss is a fact of life- all those packets racing around, colliding, and re-sending. Dividing a small LAN into two or three segments is financially feasible with a free product like FreeSCO, and nice way to keep old PCs out of landfills.
Configuration is so easy you'll dance for joy. Boot into the setup window and choose b), Ethernet Bridge. Because a bridge tracks MAC addresses, all you need to do is define the NICs. The physical cabling defines the network segments. FreeSCO supports ethernet, arcnet, token ring, and arlan network cards; the hardest part of building a bridge is making sure your router NICs have Linux drivers.
FreeSCO contains some interesting dialup tools. It reminds me of the good old days of ProComm Plus- remember Bulletin Board Services? Most of them were computers in some enthusiast's bedroom, with a modem line or two. ProComm made this arrangement workable- configure any number of BBS's to visit, and it would automatically dial in sequence, until it found one that wasn't busy. Another nice feature of the good old days was batch file downloads. Select a list of files, go to bed, and ProComm would download them all in sequence, then politely hang up. Disconnected midway? No problem, auto-redial and pick up where it left off. Some things were better in the olden days.
FreeSCO is not nearly that sophisticated, but it will manage an entire list of dialup connections. There are still a lot of small businesses that cannot get affordable high-speed Internet access, and must rely on dialup. Some keep two dialup accounts, one for backup. Some dial directly to branch offices for batch processing and database updates. so they have several numbers and processes to track. FreeSCO can be set to hang up after a specified length of time with no packet activity, and a person skilled at writing scripts can automate all the dialup/hangup functions. (See Resources for more on managing dialup/PPP in Linux.)
Warning: Beware the Winmodem. Winmodems, or software-controller modems, are nothing but trouble for any non-Windows OS. I'm not fond of them for Windows machines either. Be sure to use a genuine hardware-controller modem. Most PCI modems are Winmodems. An external serial-port modem is always a real modem, plus you get to see the blinky lights.
FreeSCO has a dial-in access option. Access can be restricted on a schedule, for example shut down on evenings and weekends. (The root user can always dial in). Access can be restricted to the router only, or to the entire LAN.
FreeSCO has a nice Web interface, as well as telnet and console access. Do NOT use telnet anywhere but locally, it sends passwords in cleartext. To run a FreeSCO box headless, I recommend the Web interface. Access it via any client on the LAN with 'http://routerIP:82', for example http://10.0.0.1:82. Configuration options are local only, or remote access over the Web.
- NIC troubleshooting
- Creative uses for FreeSCO
- Linux kernel archives
- Linux IP masqerading
- Gnu Emacs for Windows
- Diald Howto
- See 'Modems 101'