README file for SmoothWall 0.9.6

History
-------

aslak	08/09/2000	Started (based on summary.txt)

Introduction
------------

SmoothWall is a self-contained, stripped down Linux distribution for providing
Internet access via modem, ISDN, and cable to a LAN. Currently it only
supports modems, however) Web pages configure PPP, etc. It runs on a 386 with
8meg and up. No prior knowledge is required to use SmoothWall.  Access to the
Internet from the LAN is through IP masquarade.

Once installed, SmoothWall is configured via a number of webpages, such as the
page for configuring PPP, and the page for setting passwords.  The main page
features buttons for triggering a dial attempt, and hanging up the link.  Status
info, such as the state of the PPP link, including how long the link has been
active for, is also displayed here.  All configuration can be performed via the
web frontend.

Telnet and ftp access can also be enabled or disabled, should either be
needed.  In a nomral installation, noone need even know they are there. 
tcp_wrappers prevents connections from the Internet.  No services are available
from the external interface.

SmoothWall differes from single-floppydisk approaces to the problem of Internet
access for a LAN in that it is an expandable "appliance".  Because it runs
apache, it can be made extremely easy to configure.  Because it is installed
onto a harddisk, full logging can be done and much more space is available to
support more hardware.

The base system files are from VA-Linux 6.2.1 (which is more or less RedHat 6.2)

Features
--------

* PPP Dial on Request dialing.  Dial and Hangup is controlled via a webpage.
  The buttons are password protected.

* Application helpers, including: ftp, irc and icq.  These enable those
  application to operate fully across the masquaraded link.

* IPChains firewall.  Full firewalling of the Internet link, with anti-spoofing.

* DNS proxy cache (dnrd).

* DHCP server.

* Remote shutdown feature.

* Network traffic graphs (ipac).

* Fully configurable via any browser capable of showing tables.  Includes pages
  for viewing system and firewall logs.

* Telnet access for those who need to make custom changes.

* Upto 5 ISP profiles.

* SSH server.

Hardware requirements
---------------------

386 with 8meg.  Lowest spec so far tested is a 486DX4 with 32meg.  Should
easily run on a DX2 with 8meg. Any 2.2.16 suppored network card.  Modem,
internal (NOT WinModems) or external.  100meg of IDE harddisk.  An IDE CDROM.
Alternativly, the common "old style" CDROM interfaces are supported, such as the
oundBlaster ones.  Only the SB16 driver has been tested, but the others should
all work.  You will probably need to supply IO/IRQ information.

Installation
------------

The CDROM is bootable.  If you are installing onto a machine which lacks
bootable CDROM support, you will need to create the bootdisk.  Use dd to write
the image to a floppy:

dd if=/path/to/cdrom/smoothwall-disk1-X.Y.Z of=/dev/fd0 bs=1k count=1440

Now you can boot from that floppy disk and proceed as per a CDROM install.

If the machine lacks a CDROM drive, you may also install via a ftp or webserver,
which has made the smoothwall files available for download by the machine you
are installing onto.  To do this, first write the disk2 image to a second floppy
disk, as you did for disk1.  Then copy the smoothwall.tgz to somewhere in your
web or ftp server.  Finally, when asked to choose the installation method choose
HTTP or FTP.  You will be asked to insert disk2 (it contains the network
drivers) and after configuring the network, you will need to supply a URL to the
smoothwall.tgz file.  The file will then be downloaded to a temporary place
before being installed, as per a normal CDROM install.

Currently network card detection is non existant, so you will need to supply the
Linux module name, and any optional module parameters.  Generally, PCI hardware
is alot easier to setup then ISA.

Example cards and modules:

NE2000 (or clone), ISA, on IO address 0x300		ne io=0x300
NE2000 (or clone), PCI							ne2k-pci
Intel EtherExpress Pro 100						eepro100

After the files have been copied onto the harddisk, you will need to supply two
passwords.  One is the Linux "root" password.  This is the password you need if
you wish to login, either at the console or via telnet.  As installed,
SmoothWall has only one user account, root.  The second password is the
SmoothWall "admin" password.  This is the password that is needed to configure
ppp, the DHCP server, etc.  After setting up the passwords, the harddisk will be
made bootable, and the machine will reboot.

Configuring
-----------

Upon rebooting, the keyboard can be used to login directly to a Bash shell.  Go
to another machine and point the web browser at:

http://(SmoothWall IP or hostname)

SmoothWall has two "web users".  The first, called "admin", is the one for
configuring SmoothWall.  This is needed for: configuring PPP, configuring DHCP,
and enabling telnet/ftp, and viewing the logs.  The other user is called "dial"
and is able only to dial and hangup the link.

PPP setup

Probably the first thing you will to do is configure PPP.  Click the PPP setup
link (you will have to supply the admin username and password) and enter the PPP
details.  Click the Save button before returning to the main page.  You should
now be able to dial the link up and get a connection.  When the link is
established the SmoothWall machine will beep.  It will beep twice when the link
goes down.  See "Configuring desktops" for a brief explanation of how to
configure Linux and Windows desktops to access the Internet through the
SmoothWall box.

Change passwords

On this page you can change the "admin" and the "dial" passwords.

Remote access

You can enable or disable telnet or ftp access here.  Click Save to activate the
changes.  Both are disabled as per default.

DHCP configuration

SmoothWall may optionally run a DHCP server, easily capable of configuring
dozens of desktop machines within its subnet.  In the DHCP configuration page
you will see boxes for entering a start and end address range.  This is the
range over which the DHCP server will give machines which ask for an address, so
no other machines (eg. servers) should use this range.  Two DNS server address
can also be specified.  This will be the address the DHCP server gives the
desktops to use as their DNS servers of choice.  Because SmoothWall runs a DNS
proxy, the default is to use the SmoothWall box itself.  If you run a local DNS
on your network, specify it as the Secondary DNS.  The two lease time fileds can
almost certainly be left alone, but are available for people who have special
requirements.  You must enable the DHCP server by ticking the Enable box if you
want to use it.  Click Save to start (or stop) the DHCP server.  It will be
started again automatically when SmoothWall reboots.

The default gateway that the DHCP server is fixed to point back to the
SmoothWall box.

Shutdown control

This page contains a single button labeled Shutdown that can be used for, you
guess it, remotely shuting down SmoothWall.  After the shutdown process has
finished, you will hear a beep.  You can then disconnect the power.

Log viewer

This page lets you view three types of logs: PPP logs, DHCP logs and kernel
logs.  The PPP log is useful for diagnosing PPP connection problems.

Firewall log viewer

Here you can see the IPChains logs in a nice tabular format.  Every packet
logged is a denied packet.

Status information

This page is available to everyone, even people without the dial password.  It
shows basic system information, such as memory usage and network interface
information.  It also displays a list of services and wether or not they are
currently running.

Network traffic graphs

Four graphs show network traffic on the ethernet and the Internet link, in
incoming and outgoing directions.  The graph is updated every half an hour.

Configuring desktops
--------------------

If you are using the DHCP server, it is simply a matter of telling the operating
system to obtain an address via DHCP.  If not, then the machine will need an IP
address, DNS server, and a default gateway.  The first is up to you.  The DNS
and default gateway should both be set to the SmoothWall IP address.

Credits
-------

Richard Morrell - Project Manager (rmorrell@valinux.com)
Lawrence Manning - Senior Developer (lawrence@aslak.demon.co.uk)

Links
-----

SmoothWall homepage: http://www.smoothwall.org
SmoothWall project page: http://sourceforge.net/projects/smoothwall
