Add geoip match
[ferm.git] / README
blob95e38d3b83f02a168d12319c0fe1f7f589d64cce
1 ferm README
2 ===========
4         Max Kellermann <max@foo-projects.org>
5         Auke Kok <sofar@foo-projects.org>
8 Description
9 -----------
11 ferm is a frontend for iptables. It reads the rules from a structured
12 configuration file and calls iptables(8) to insert them into the
13 running kernel.
15 ferm's goal is to make firewall rules easy to write and easy to
16 read. It tries to reduce the tedious task of writing down rules, thus
17 enabling the firewall administrator to spend more time on developing
18 good rules than the proper implementation of the rule.
20 To achieve this, ferm uses a simple but powerful configuration
21 language, which allows variables, functions, arrays, blocks. It also
22 allows you to include other files, allowing you to create libraries of
23 commonly used structures and functions.
25 ferm, pronounced "firm", stands for "For Easy Rule Making".
28 Installing ferm
29 ---------------
31   make install
33 The package does not need to be compiled, just make sure you have perl
34 (which is present in any base linux system) and iptables (including
35 iptables-save and iptables-restore), and the a kernel supporting
36 netfilter.
38 Run the make install install script as root to install the package in
39 it's best location, so it can be reached from the command line when
40 called. The manual page will also be installed.
42 That's all!
45 Uninstalling ferm
46 -----------------
48   make uninstall
50 Ferm can now be quickly removed from the system by issuing a "make
51 uninstall" command (as root, of course). This will not remove any
52 configuration files of course!
55 Getting started
56 ---------------
58 The ferm(1) manpage provides extensive documentation about the ferm
59 syntax.  To get started, try one of the example files, and modify it
60 for your needs.
62 If your machine is already firewalled and you wish to switch to ferm,
63 the "import-ferm" script comes handy.  It converts the current
64 firewall rules to a ferm configuration file:
66   import-ferm >/etc/ferm/ferm.conf
68 After that, let ferm install the new ruleset:
70   ferm /etc/ferm/ferm.conf
72 Be careful, don't lock youself out of remote machines!  Use the
73 interactive mode (--interactive, -i) often!