123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- Installation instructions for iptables
- ======================================
- iptables uses the well-known configure(autotools) infrastructure.
- $ ./configure
- $ make
- # make install
- Prerequisites
- =============
- * no kernel-source required
- * but obviously a compiler, glibc-devel and linux-kernel-headers
- (/usr/include/linux)
- Configuring and compiling
- =========================
- ./configure [options]
- --prefix=
- The prefix to put all installed files under. It defaults to
- /usr/local, so the binaries will go into /usr/local/bin, sbin,
- manpages into /usr/local/share/man, etc.
- --with-xtlibdir=
- The path to where Xtables extensions should be installed to. It
- defaults to ${libdir}/xtables.
- --enable-devel (or --disable-devel)
- This option causes development files to be installed to
- ${includedir}, which is needed for building additional packages,
- such as Xtables-addons or other 3rd-party extensions.
- It is enabled by default.
- --enable-static
- Produce additional binaries, iptables-static/ip6tables-static,
- which have all shipped extensions compiled in.
- --disable-shared
- Produce binaries that have dynamic loading of extensions disabled.
- This implies --enable-static.
- (See some details below.)
- --enable-libipq
- This option causes libipq to be installed into ${libdir} and
- ${includedir}.
- --with-ksource=
- Xtables does not depend on kernel headers anymore, but you can
- optionally specify a search path to include anyway. This is
- probably only useful for development.
- If you want to enable debugging, use
- ./configure CFLAGS="-ggdb3 -O0"
- (-O0 is used to turn off instruction reordering, which makes debugging
- much easier.)
- Other notes
- ===========
- The make process will automatically build multipurpose binaries.
- These have the core (iptables), -save, -restore and -xml code
- compiled into one binary, but extensions remain as modules.
- Static and shared
- =================
- Basically there are three configuration modes defined:
- --disable-static --enable-shared (this is the default)
- Build a binary that relies upon dynamic loading of extensions.
- --enable-static --enable-shared
- Build a binary that has the shipped extensions built-in, but
- is still capable of loading additional extensions.
- --enable-static --disable-shared
- Shipped extensions are built-in, and dynamic loading is
- deactivated.
|