firehol/README.md
Philip Whineray caedbcd551 Use a regular shell file for installed config
This simplifies the scripts somewhat and the autoconf system quite a bit.

To specify a non-default location for the config, export a directory
in FIREHOL_OVERRIDE_PROGRAM_DIR and ensure it has an install.config
and functions.common.
2016-11-22 13:31:46 +00:00

175 lines
4.7 KiB
Markdown

FireHOL
=======
http://firehol.org/
FireHOL, an iptables stateful packet filtering firewall for humans!
FireQOS, a TC based bandwidth shaper for humans!
Git
===
These instructions are for people who are working with the git repository.
There are more general instructions starting with
[Upgrade Notes](#upgrade-notes).
Cloning Git Repository
----------------------
The [github firehol repository page](https://github.com/firehol/firehol)
lists URLs which can be used to clone the repository.
After cloning you should copy the git hooks, for style checking and more:
~~~~
cp hooks/* .git/hooks
~~~~
Building Git Repository
-----------------------
You need [GNU autoconf](http://www.gnu.org/software/autoconf/) and
[GNU automake](http://www.gnu.org/software/automake/) to be able to
run:
~~~~
./autogen.sh
./configure --enable-maintainer-mode
make
make install
~~~~
If you don't want to have to install pandoc you can instead choose
to build without documentation or manpages:
~~~~
./autogen.sh
./configure --disable-doc --disable-man
make
make install
~~~~
Re-run `autogen.sh` whenever you change `configure.ac` or a `Makefile.am`
You can run the `sbin/*.in` scripts in-situ but they will produce internal
git versions e.g. `FireQOS $Id: def55bbc9c2a78aef580e88ad6d3f9ba689a6004 $`.
The "compiled" scripts must be installed, along with their function
libraries in order to work correctly.
Upgrade Notes
=============
From version 2.0.0-pre6, FireHOL adds combined IPv4/IPv6 support within
a single configuration.
If you are upgrading FireHOL from a version earlier than 2.0.0-pre6,
please read the [upgrade notes](http://firehol.org/upgrade/).
Installation
============
If you are installing the package from a tar-files release, FireHOL uses
the GNU Autotools so you can just do:
~~~~
./configure
make
make install
~~~~
Since all components will go under `/usr/local`, you may prefer something
like this:
~~~~
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib
make
make install
~~~~
You can get help on the options available (including disabling unwanted
components) by running:
~~~~
./configure --help
~~~~
From version 3.0.0 it is no longer recommended to install firehol by
copying files, since a function library is now used, in addition to
the scripts.
Getting Started
===============
Configuration for FireHOL goes in `/etc/firehol/firehol.conf`
Configuration for FireQOS goes in `/etc/firehol/fireqos.conf`
In the examples directory, you can find examples for both programs.
To start the programs:
~~~~
firehol start
fireqos start
~~~~
For more details on the command-line options, see the man-pages:
~~~~
man firehol
man fireqos
~~~~
Read the [tutorials](http://firehol.org/tutorial/) on the website for
more information and to learn how to configure the programs.
For detailed information on the configuration files, read the manual
online, or start with these the man-pages:
~~~~
man firehol.conf
man fireqos.conf
~~~~
You may want to ensure that FireHOL and FireQOS run at boot-time. If you
installed from an distribution package this will be configured in the
usual way.
For a tar-file installation, the binaries can often be linked directly
into `/etc/init.d`, since their options are SysVInit compatible. Some
example systemd service files can be found in the contrib folder.
Support and documentation
=========================
The main website is [http://firehol.org/](http://firehol.org/).
To ask questions please sign up to the
[mailing list](http://lists.firehol.org/mailman/listinfo/firehol-support)
Man pages, PDF and HTML documentation are provided as part of the package
and can be found in the tarball or in your distribution's standard locations
(e.g. `/usr/share/doc`). The [latest manual](http://firehol.org/manual/)
is also online.
The site has a [list of all services](http://firehol.org/services/) supported
by FireHOL "out of the box" as well as information on adding new services.
License
=======
Copyright (C) 2012-2015 Phil Whineray <phil@firehol.org>
Copyright (C) 2003-2015 Costa Tsaousis <costa@tsaousis.gr>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA