I set up redhat 7 once to be a server. It was a compaq 133 or something like that (later upgraded to a 200mmx), it had a winmodem (pain in tthe rear) and a ethernet card. The enthernet card provided networking capabilities to my internal network (my linux/windows98 machine, my roomate's win98 machine upstairs, and a couple of other experimental computers) and the winmodem hooked up to the outside world. I used a simplistic masquerading (also known as NAT) ruleset (and no ip filtering setup)
🙁
I also had a masqdialing server setup up so we could activate and disconnect the modem remotely from our desktops. I had it also setup so that it would disconnect on a call waiting beep (worked about 75% of the time).
Since this was only a temporary connection with a non-static ip this worked out fine and had resonable security.
However, since I bought a cable modem and now am operating on a puesdo-static ip address I needed something better. So instead of going thru the pain of hardening a regular Linux distro, or rolling my own linux I just decided to use a pre-configured Linux router distro.
I decided on the Dachstein
LEAF firewall. It's pretty slick, it comes with a full ipchains firewall ruleset, a mini http server (for remote monitoring of firewall/router), drivers for most ethernet cards, a dhcp client that works, a dhcp server for automaticly assigning internal network's computer's ip information, and it all boots off of one floppy.
🙂 I only had to configure the router to use my ethernet cards and changed the ruleset slightly to allow ip forwarding for my personal FTP and SSH servers.
I suppose they have update versions since I got it, but it works well. For a linux router you need at least a 486 for 10 MB network or a 160 pentium for 100 MB network, I would at least use a pentium though just to make it easy on yourself.
Otherwise check out the masquerading howtos and ipchain (or iptables) howtos for information on how to configure your Linux machine for IP routing.
One tip though, don't use the same machine to run servers (i don't mean dns nameservers/dhcp/ or anything like that, just sutff like ftp/telnet/http) and be the router/firewall, this is not as secure as it can be and defeats some the purpose to having a seperate firewall/router installed.
This router thing is what finally convinced me of the superiority of Linux over Windows, I tried to set up a win98 to do the same thing, I got it to work, but it was unsecure, buggy and slow with the winmodem and windows fighting over proccessor power., there are some very good Microsoft solutions but Microsoft's server OS's just cost$ to much. Linux just has much more versatility.