Setting up Freesco for port forwarding

It’s a little late, but here’s how Gatermann and I got a Web server running behind a Freesco-based router. Freesco, despite the name, is a micro-distribution of Linux (based on the 2.0.x kernel) that offers firewalling, NAT, caching DNS, port forwarding, a lightweight Web server, and print services on a single floppy. Requirements are minimal; it’d run on a 386 with 8 megs of RAM, a floppy drive, and a pair of NE2000 NICs. For performance and ease of setup, I recommend a P75 (or faster, but a P75’s overkill; the main reason to use it is to get PCI) with a pair of PCI NICs and 8 megs.
What NICs do I recommend? Avoid the new Netgear FA311. The older FA310 worked fabulously, but Freesco doesn’t provide a module for the FA311’s NatSemi chipset, at least not yet. (The source code for a module is available at scyld.com and it’s compatible with the 2.0.x kernel, but compiling a kernel module isn’t a trivial operation for most of Freesco’s audience.) I’d probably go with a Realtek 8139-based card like a D-Link DFE-530TX+, a recent 3Com PCI card, or a PCI NE2000 clone. There’s a modules archive you can download that supports most other common NICs. A pair of D-Links, a P75 board, a floppy and this disk ought to give you nearly plug-and-play operation.

Enough of that. Here are the answers to the questions Freesco asked, in order.

Boot off the floppy. When it asks what you want to make with it, select ethernet router. Hostname doesn’t matter. Accept default for domain name, unless you’ve registered a domain for your LAN.

Don’t detect modems. Select two network cards. If you are using PCI cards, answer 0 to next four questions (IRQ, I/O). If you’re using ISA cards, enter the addresses and IRQs the cards use. DHCP? Depends on your ISP.

The first card’s name is eth0. (This is the card for your cable/dsl modem). Don’t use dhcp logging. Don’t update DNS by DHCP. Second card is eth1. Give it an IP address (10.x.x.x is fine, which is Freesco’s default; normally I use 192.168.1.x network and put my router on 192.168.1.1). Network mask will almost always be 255.255.255.0. I don’t configure for DHCP, so I don’t give it an IP range. if you want one, tell it the range of addresses you want to reserve. The fewer the better, for memory purposes, especially if you’ve only got 8 MB of RAM in the box.

Caching DNS? Answer S (secure). Don’t log.

Enable DHCP? Depends. If you don’t want to configure your LAN manually, DHCP is nice. If your LAN is already configured, DHCP is probably more trouble than it’s worth.

Public HTTP server. Answer Y. Default is S. Port 80. (You might be able to get away with answering N here, and you’ll save a little memory. DO NOT answer S–you’ll never forward port 80 if you do.)

Time server via HTTP? No.

Print server. No.

Telnet server. no.

Screensaver/spindown? 5 min is fine.

Swap file–0 if you have 8 mb or more. I suppose you could run Freesco on some tiny machines if you put in a small hard drive and enabled the swap file, but as cheap as a P75 with a pair of 4-meg SIMMs is these days, I wouldn’t bother.

Extra modules/programs? No.

Log: take defaults.

Host gateway–depends on ISP. Check one of your other PCs and use it.

Primary/secondary DNS. Use your ISP’s. Proxy, probably none. Check your ISP.

Export services? YES. This is the magic forwarding formula.

Now, assuming your web server is on 10.42.42.3, you’d use this line in config:

t,80,10.42.42.3/80

If you want to export other services, like, say, IMAP on port 143, add additional lines, subbing in the appropriate port and IP address. (HTTP is port 80.)

Pick a root password and web admin password, save configuration and reboot. You’re up and going.

Now, to configure your Windows boxes to get their Internet connection through your lovely what-was-old-is-new-again Freesco router, just open your TCP/IP settings, give it an IP address on the same subnet as your Freesco router if it doesn’t already have one, and set your gateway and DNS to the address you gave your Freesco router.

Voila. Configure your system’s BIOS for keyboardless operation if it has such an option, then take the keyboard and monitor away, write-protect the floppy and make a backup of it just in case (or burn it to a bootable CD if the machine is capable of booting off CD and you have an old drive to put in it) stick the box in a corner somewhere, and forget about it. If you have a power failure, it’ll reboot and happily start itself up again. As for stability, I find Freesco, in combination with decent hardware, is more stable than the hardware routers that are popular these days. Since it has a caching DNS, it’ll usually give you better performance too. And since you can probably build one with parts you have laying around, it’s cheaper.

12 thoughts on “Setting up Freesco for port forwarding

  • July 9, 2001 at 7:44 am
    Permalink

    Hi Dave,

    Can’t wait to try this at home!

    /Dave T.

  • July 9, 2001 at 11:57 am
    Permalink

    Now this is realy useful.

    I’ll have to try this.

  • January 12, 2002 at 5:11 pm
    Permalink

    This is great! The manual on the freesco pages doesn’t even come close!

  • March 19, 2002 at 5:59 pm
    Permalink

    TNX dude! it works now

  • April 19, 2002 at 11:56 am
    Permalink

    i’m isa user.how do i know my isa nic irq and port.

  • April 30, 2002 at 7:11 am
    Permalink

    Re: ISA User…. get hold of the DOS setup disks for your card and use the config to read your IRQ and IO values.

  • April 30, 2002 at 7:12 am
    Permalink

    Re: ISA User…. get hold of the DOS setup disks for your card and use the config to read your IRQ and IO values.

  • April 30, 2002 at 7:14 am
    Permalink

    Re: ISA User…. get hold of the DOS setup disks for your card and use the config to read your IRQ and IO values.

  • April 30, 2002 at 7:16 am
    Permalink

    Re: ISA User…. get hold of the DOS setup disks for your card and use the config to read your IRQ and IO values.

  • September 17, 2002 at 8:19 am
    Permalink

    how can I get DHCP + port forwarding working? I only know the name of the server, but not it’s ip-adres. ‘Just hardtype it’s ip-address’ won’t do for me!

  • September 17, 2002 at 10:10 am
    Permalink

    Ping the server’s name (open a command prompt, then type PING [server-name]) and make note of the address and use that.

  • October 13, 2003 at 10:16 pm
    Permalink

    Dave, great site man! I came here for this page and came across “How to Pray”. Awesome article!

    I hope you keep up the good work and always keep integrity and truth as your way to work your “art”.

    Also, for everyone here with questions about Freesco, check out http://forums.freesco.org .

    It’s a support forum dedicated to support for Freesco. Wish everyone the best of luck.

Comments are closed.

%d bloggers like this:
WordPress Appliance - Powered by TurnKey Linux