102 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 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.)
 | |
| 
 | |
| To show debug traces you can add -DDEBUG to CFLAGS option
 | |
| 
 | |
| 
 | |
| 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.
 |