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