Les tests de "map" et autres joyeusetés n'ayant pas fonctionné avec les versions "standard" il faut passer par la case "compil" et récupérer les morceaux dans un petit répertoire bien tranquille (pour moi "/usr/src/PGM/BUILD/NFT"):
git clone git://git.netfilter.org/nftables.git
git clone git://git.netfilter.org/libmnl.git
git clone git://git.netfilter.org/libnftnl.git
Pré-requis :
bison
flex
libgmp-dev
libreadline-dev
libmnl0
libmnl-dev
Remarque : il peut y avoir d'autres pré-requis, la machine ayant servi à la compil est une Debian "stable" avec "backports" qui a déjà beaucoup vécu et comporte déjà pas mal de packages "-dev".
Compilation de "LIBMNL" le script :
#!/bin/bash cd NFT/libmnl ...... le répertoire source make clean ./autogen.sh # configure libmnl ./configure ${CONFOPT} 2>&1 | tee LOG.CONF make 2>&1 | tee LOG.MAKE |
Ne pas oublier ensuite (en "root") le "make install".
Compilation de "LIBNFTNL" le script :
#!/bin/bash cd NFT/libnftnl make clean ./autogen.sh # configure libnftnl ./configure ${CONFOPT} 2>&1 | tee LOG.CONF make 2>&1 | tee LOG.MAKE |
Ne pas oublier (toujours) le "make install" en "root".
Une fois tout vérifié j'ai copié :
/usr/local/libmnl/lib/libmnl.* dans /lib/x86_64-linux-gnu
/usr/local/libnftnl/lib/libnftm* dans /lib/x86_64-linux-gnu
et vérifié que la version Debian de "nft" fonctionnait toujours --> OK
Compilation de "NFTABLES" le script :
#!/bin/bash PKG_CONFIG_PATH=${PKG_CONFIG_PATH}':/usr/local/libnftnl/lib/pkgconfig' cd /usr/src/PGM/BUILD/NFT/nftables make clean ./autogen.sh # configure nftables CONFOPT=' --prefix=/usr/local/nftables --exec-prefix=/usr/local/nftables/bin ' ./configure ${CONFOPT} 2>&1 | tee LOG.CONFIGURE make 2>&1 | tee LOG.MAKE echo 'PKG_CONFIG_PATH=('${PKG_CONFIG_PATH}')' echo '' >./doc/nft.8 |
Ne pas oublier (encore) le "make install", puis on expédie "/usr/local/nftables/bin/sbin/nft" dans "/usr/sbin".
On pourra ainsi reprendre nos essais ... avec la dernière version.