Home | History | Annotate | Download | only in iptables
      1 Installation instructions for iptables
      2 ======================================
      3 
      4 iptables uses the well-known configure(autotools) infrastructure.
      5 
      6 	$ ./configure
      7 	$ make
      8 	# make install
      9 
     10 
     11 Prerequisites
     12 =============
     13 
     14 	* no kernel-source required
     15 
     16 	* but obviously a compiler, glibc-devel and linux-kernel-headers
     17 	  (/usr/include/linux)
     18 
     19 
     20 Configuring and compiling
     21 =========================
     22 
     23 ./configure [options]
     24 
     25 --prefix=
     26 
     27 	The prefix to put all installed files under. It defaults to
     28 	/usr/local, so the binaries will go into /usr/local/bin, sbin,
     29 	manpages into /usr/local/share/man, etc.
     30 
     31 --with-xtlibdir=
     32 
     33 	The path to where Xtables extensions should be installed to. It
     34 	defaults to ${prefix}/libexec/xtables.
     35 
     36 --enable-devel (or --disable-devel)
     37 
     38 	This option causes development files to be installed to
     39 	${includedir}, which is needed for building additional packages,
     40 	such as Xtables-addons or other 3rd-party extensions.
     41 
     42 	It is enabled by default.
     43 
     44 --enable-static
     45 
     46 	Produce additional binaries, iptables-static/ip6tables-static,
     47 	which have all shipped extensions compiled in.
     48 
     49 --disable-shared
     50 
     51 	Produce binaries that have dynamic loading of extensions disabled.
     52 	This implies --enable-static.
     53 	(See some details below.)
     54 
     55 --enable-libipq
     56 
     57 	This option causes libipq to be installed into ${libdir} and
     58 	${includedir}.
     59 
     60 --with-ksource=
     61 
     62 	Xtables does not depend on kernel headers anymore, but you can
     63 	optionally specify a search path to include anyway. This is
     64 	probably only useful for development.
     65 
     66 If you want to enable debugging, use
     67 
     68 	./configure CFLAGS="-ggdb3 -O0"
     69 
     70 (-O0 is used to turn off instruction reordering, which makes debugging
     71 much easier.)
     72 
     73 
     74 Other notes
     75 ===========
     76 
     77 The make process will automatically build multipurpose binaries.
     78 These have the core (iptables), -save, -restore and -xml code
     79 compiled into one binary, but extensions remain as modules.
     80 
     81 
     82 Static and shared
     83 =================
     84 
     85 Basically there are three configuration modes defined:
     86 
     87  --disable-static --enable-shared (this is the default)
     88 
     89 	Build a binary that relies upon dynamic loading of extensions.
     90 
     91  --enable-static --enable-shared
     92 
     93 	Build a binary that has the shipped extensions built-in, but
     94 	is still capable of loading additional extensions.
     95 
     96  --enable-static --disable-shared
     97 
     98 	Shipped extensions are built-in, and dynamic loading is
     99 	deactivated.
    100