This is the ipset source tree. Follow the next steps to install ipset. If you upgrade from an earlier 5.x release, please read the UPGRADE instructions too.
You need the source tree of your kernel (version >= 2.6.32) and it have to be configured with ip6tables support enabled, modules compiled. For kernel versions < 2.6.39 please apply the netlink.patch against your kernel tree, which adds the new subsystem identifier for ipset.
Recompile and install the patched kernel and its modules. Please note, you have to run the patched kernel for ipset to work.
The ipset source code depends on the libmnl library so the library must be installed. You can download the libmnl library from
git://git.netfilter.org/libmnl.git
Initialize the compiling environment for ipset. The packages automake, autoconf, pkg-config and libtool are required.
% ./autogen.sh
Run ./configure
and then compile the ipset binary and the kernel
modules.
Configure parameters can be used to to override the default path
to the kernel source tree (/lib/modules/uname -r
/build),
the maximum number of sets (256), the default hash sizes (1024).
See ./configure --help
.
% ./configure % make % make modules
Install the binary and the kernel modules
After installing the modules, you can run the testsuite as well. Please note, several assumptions must be met for the testsuite:
Cleanup the source tree
% make clean % make modules_clean
That's it!
Read the ipset(8) and iptables(8), ip6tables(8) manpages on how to use ipset and its match and target from iptables.
Compatibilities and incompatibilities:
The ipset 6.x can interpret the commandline syntax of ipset 4.x, however some internal changes mean different behaviour: