iptables for retards...
Go to file
Philip Whineray 0ec7817b99 Enable automated testing
Rename unittest directory to tests to be more standard
Install all required packages rather than placeholders
Get a suitable version of "unshare"
2016-11-27 12:43:26 +00:00
.travis Enable automated testing 2016-11-27 12:43:26 +00:00
autotool Move to autotools 2013-10-15 22:25:17 +01:00
build Use a regular shell file for installed config 2016-11-22 13:31:46 +00:00
contrib default user-agent shows operating system (fixes greensnow) 2016-07-21 02:11:26 +03:00
doc Accept ICMP(v6) RELATED packets ASAP in interface 2016-11-26 16:38:17 +00:00
etc Update firehol.conf.example 2016-04-21 21:40:39 +03:00
examples Enable automated testing 2016-11-27 12:43:26 +00:00
hooks Fix hooks to work with older branches 2016-01-10 16:47:46 +00:00
html updated page text and overlaps size 2016-03-28 16:36:28 +03:00
m4 Ensure we have xmllint in maintainer mode 2016-11-24 18:29:49 +00:00
packaging Enable automated testing 2016-11-27 12:43:26 +00:00
sbin Accept ICMP(v6) RELATED packets ASAP in interface 2016-11-26 16:38:17 +00:00
tests Enable automated testing 2016-11-27 12:43:26 +00:00
.gitignore Use a regular shell file for installed config 2016-11-22 13:31:46 +00:00
.travis.yml Enable automated testing 2016-11-27 12:43:26 +00:00
autogen.sh Use a regular shell file for installed config 2016-11-22 13:31:46 +00:00
ChangeLog Prepare release 3.0.2 2016-11-22 10:36:58 +00:00
configure.ac Enable automated testing 2016-11-27 12:43:26 +00:00
COPYING Added to FireHOL distribution. 2002-12-07 00:48:34 +00:00
Makefile.am Enable automated testing 2016-11-27 12:43:26 +00:00
README.md Update install documentation 2016-11-22 13:31:46 +00:00
THANKS Prepare release 3.0.0 2015-12-20 10:10:54 +00:00

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.

Cloning Git Repository

The github firehol repository page 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 and GNU 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.

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

To not have files appear under /usr/local, try something like:

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
make install

If your O/S does not usually have a /usr/libexec, you may want to add --libexecdir=/usr/lib to the configure.

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 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/.

To ask questions please sign up to the mailing list

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 is also online.

The site has a list of all 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