# [(QUASI) RISOLTO] Installazione libreria libnfnetlink

## geps2

Salve a tutti.

Sto cercando di installare la libreria in oggetto (l'idea sarebbe realizzare un filtro IP in userspace) insieme a libnetfilter_queue. Le due librerie risultano masked, quindi ho aggiornati i file

/etc/portage/package.keywords:

```
net-libs/libnfnetlink ~x86

net-libs/libnetfilter_queue ~x86
```

e /etc/portage/package.unmask

```
>=net-libs/libnetfilter_queue-0.0.15
```

(ma probabilemente quest'ultima modifica non è necessaria)

poi

```

~ # emerge -pv libnfnetlink libnetfilter_queue

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild  N    ] net-libs/libnfnetlink-0.0.30  0 kB

[ebuild  N    ] net-libs/libnetfilter_queue-0.0.15  216 kB

Total: 2 packages (2 new), Size of downloads: 216 kB
```

sembra tutto ok, quindi procedo, ma ecco l'errore:

```
~ # emerge libnfnetlink libnetfilter_queue

Calculating dependencies... done!

>>> Verifying ebuild Manifests...

>>> Emerging (1 of 2) net-libs/libnfnetlink-0.0.30 to /

 * libnfnetlink-0.0.30.tar.bz2 RMD160 ;-) ...                             [ ok ]

 * libnfnetlink-0.0.30.tar.bz2 SHA1 ;-) ...                               [ ok ]

 * libnfnetlink-0.0.30.tar.bz2 SHA256 ;-) ...                             [ ok ]

 * libnfnetlink-0.0.30.tar.bz2 size ;-) ...                               [ ok ]

 * checking ebuild checksums ;-) ...                                      [ ok ]

 * checking auxfile checksums ;-) ...                                     [ ok ]

 * checking miscfile checksums ;-) ...                                    [ ok ]

 * checking libnfnetlink-0.0.30.tar.bz2 ;-) ...                           [ ok ]

 * This profile has not been tested thoroughly and is not considered to be

 * a supported server profile at this time.  For a supported server

 * profile, please check the Hardened project (http://hardened.gentoo.org).

 * This profile is merely a convenience for people who require a more

 * minimal profile, yet are unable to use hardened due to restrictions in

 * the software being used on the server. This profile should also be used

 * if you require GCC 4.1 or Glibc 2.4 support. If you don't know if this

 * applies to you, then it doesn't and you should probably be using

 * Hardened, instead.

 * Determining the location of the kernel source code

 * Found kernel source directory:

 *     /usr/src/linux

 * Found kernel object directory:

 *     /lib/modules/2.6.22-gentoo-r8/build

 * Found sources for kernel version:

 *     2.6.22-gentoo-r8

 * Checking for suitable kernel configuration options...

 *   CONFIG_NF_CT_NETLINK:       is not set when it should be. You can activate it in the Core Netfilter Configuration

 * Please check to make sure these options are set correctly.

 * Failure to do so may cause unexpected problems.

 * Once you have satisfied these options, please try merging

 * this package again.

 *

 * ERROR: net-libs/libnfnetlink-0.0.30 failed.

 * Call stack:

 *   ebuild.sh, line 1670:   Called dyn_setup

 *   ebuild.sh, line 719:   Called qa_call 'pkg_setup'

 *   ebuild.sh, line 44:   Called pkg_setup

 *   libnfnetlink-0.0.30.ebuild, line 34:   Called check_extra_config

 *   linux-info.eclass, line 475:   Called die

 *

 * Incorrect kernel configuration options

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/net-libs/libnfnetlink-0.0.30/temp/build.log'.

```

Ora, io non riesco a trovare in nessun modo CONFIG_NF_CT_NETLINK sulla configurazione del kernel 2.6.22-gentoo-r8: qualcuno mi sa dire che voce devo attivare in "Core Netfilter Configuration"?

Grazie per l'attenziona, ciao!

GePs

[UPDATE] Non riesco a trovare nemmeno CONFIG_IP_NF_SET... c'è qualche patch da applicare?Last edited by geps2 on Sat Oct 27, 2007 8:43 am; edited 2 times in total

----------

## GNUtoo

dentro il 2.6.23-gentoo ho trovato questo:

```
Connection tracking netlink interface (EXPERIMENTAL) (NF_CT_NETLINK)

type: tristate

prompt: Connection tracking netlink interface (EXPERIMENTAL)

    dep: NET && INET && NETFILTER && EXPERIMENTAL && NF_CONNTRACK && NETFILTER_NETLINK && (NF_CONNTRACK!=y || NETFILTER_NETLINK!=m) && (NF_NAT=n || NF_NAT)

defined at net/netfilter/Kconfig:252

This option enables support for a netlink-based userspace interface
```

per trovarlo dentro il kernel fai: ctrl+f e cerchi NF_CT_NETLINK

poi fai un simple click sull' opzione e va a metterti nel posto giusto dove ce l'opzione NF_CT_NETLINK

----------

## geps2

 *GNUtoo wrote:*   

> 
> 
> per trovarlo dentro il kernel fai: ctrl+f e cerchi NF_CT_NETLINK
> 
> poi fai un simple click sull' opzione e va a metterti nel posto giusto dove ce l'opzione NF_CT_NETLINK

 

ctrl+f dentro dove???

make menuconfig?

Mi sembra di averlo trovato, e mi sembra abilitato... comq adesso incollo qui la pagina di "Core NetFilter Configuration":

```

  │ │       <*> Netfilter netlink interface                                               │ │  

  │ │       <*>   Netfilter NFQUEUE over NFNETLINK interface                              │ │  

  │ │       <*>   Netfilter LOG over NFNETLINK interface                                  │ │  

  │ │       <*> Netfilter connection tracking support                                     │ │  

  │ │       --- Connection tracking flow accounting                                       │ │  

  │ │       --- Connection mark tracking support                                          │ │  

  │ │       < > Amanda backup protocol support                                            │ │  

  │ │       < > FTP protocol support                                                      │ │  

  │ │       < > IRC protocol support                                                      │ │  

  │ │       < > PPtP protocol support                                                     │ │  

  │ │       < > TFTP protocol support                                                     │ │  

  │ │       --- Netfilter Xtables support (required for ip_tables)                        │ │  

  │ │       < >   "CLASSIFY" target support                                               │ │  

  │ │       < >   "CONNMARK" target support                                               │ │  

  │ │       < >   "DSCP" target support                                                   │ │  

  │ │       <*>   "MARK" target support                                                   │ │  

  │ │       <*>   "NFQUEUE" target Support                                                │ │  

  │ │       <*>   "NFLOG" target support                                                  │ │  

  │ │       < >   "TCPMSS" target support                                                 │ │  

  │ │       <*>   "comment" match support                                                 │ │  

  │ │       <*>   "connbytes" per-connection counter match support                        │ │  

  │ │       <*>   "connmark" connection mark match support                                │ │  

  │ │       <*>   "conntrack" connection tracking match support                           │ │  

  │ │       < >   "DCCP" protocol match support                                           │ │  

  │ │       < >   "DSCP" match support                                                    │ │  

  │ │       <*>   "ESP" match support                                                     │ │  

  │ │       <*>   "helper" match support                                                  │ │  

  │ │       <*>   "length" match support                                                  │ │  

  │ │       <*>   "limit" match support                                                   │ │  

  │ │       <*>   "mac" address match support                                             │ │  

  │ │       <*>   "mark" match support                                                    │ │  

  │ │       <*>   IPsec "policy" match support                                            │ │  

  │ │       <*>   Multiple port match support                                             │ │  

  │ │       <*>   "pkttype" packet type match support                                     │ │  

  │ │       < >   "quota" match support                                                   │ │  

  │ │       < >   "realm" match support                                                   │ │  

  │ │       <*>   "state" match support                                                   │ │  

  │ │       < >   "statistic" match support                                               │ │  

  │ │       <*>   "string" match support                                                  │ │  

  │ │       < >   "tcpmss" match support                                                  │ │  

  │ │       < >   "hashlimit" match support                                               │ │  

  
```

Cosa manca?

----------

## GNUtoo

io uso make xconfig

lo preferisco perché ce la descrizione di tutto co che seleziona

e dentro questo ce ctrl+f

alrimenti  se usi make menuconfig ce / che ti da la stessa cosa(basta premere /)

per l'abilitazione verifica se dentro la spigazione(accesibile con ? dentro make menuconfig o selezionando help) ce NF_CT_NETLINK

e poi verifica che: 

*stai girando il kernel che hai apena modificato(per fare funzionare la libreria)

*verifica che il simink di /usr/src/linux punta su la cartella del kernel che hai apena compilato

se ti interessa ce anche un trucco per verificare se le opzione sono attive dentro il kernel che stai girando(a condizione che attivi Kernel .config support (IKCONFIG) e la sua sotto opzione dentro general setup):

dentro /proc/config.gz ce le tue opzione

ma devi o guardarlo con mc o una commanda che soporta il gunip come:

```
cat /proc/config.gz | gunzip

cat /proc/config.gz | gunzip | grep -i NF_CT_NETLINK
```

o copiarlo sull tuo harddisk e fare un gunip:

```
cp /proc/config.gz /home/ilTuoNome/

cd /home/ilTuoNome/

gunzip config.gz
```

puoi anche rimpiazzare /home/ilTuoNome/ con ~

----------

## geps2

 *GNUtoo wrote:*   

> io uso make xconfig
> 
> lo preferisco perché ce la descrizione di tutto co che seleziona
> 
> e dentro questo ce ctrl+f
> ...

 

nel menuconfig la ricerca ha questo risultato:

```

.config - Linux Kernel v2.6.22-gentoo-r8 Configuration

 ──────────────────────────────────────────────────────────────────────────────────────────────

  ┌──────────────────────────────────── Search Results ─────────────────────────────────────┐

  │ Symbol: NF_CT_NETLINK [=n]                                                              │

  │ Prompt: Connection tracking netlink interface (EXPERIMENTAL)                            │

  │   Defined at net/netfilter/Kconfig:242                                                  │

  │   Depends on: NET && INET && NETFILTER && EXPERIMENTAL && NF_CONNTRACK && NETFILTER_NET │

  │   Location:                                                                             │

  │     -> Networking                                                                       │

  │       -> Networking support (NET [=y])                                                  │

  │         -> Networking options                                                           │

  │           -> Network packet filtering framework (Netfilter) (NETFILTER [=y])            │

  │             -> Core Netfilter Configuration                                             │

  │                                                                                         │

```

Ora io mi sono visto tutte le voci di "Core Netfilter Configuration", ma "Symbol: NF_CT_NETLINK" proprio non l'ho trovato. Ora, o sono scemo io (più che probabile), oppure c'è qualcosa che mi (ci?) sfugge...

Ti ringrazio veramente tanto per le risposte.

UPDATE: Risolto. Ecco dov'era il problema:

```
 [ ] Prompt for development and/or incomplete code/drivers
```

abiltandolo escono fuori le opzioni EXPERIMENTAL.

Alla fine (come sempre) sono scemo io.

Ciao!

----------

## GNUtoo

 *geps2 wrote:*   

> 
> 
> Alla fine (come sempre) sono scemo io.
> 
> Ciao!

 

no sono io che non ho pensato a questo...

----------

## geps2

 *GNUtoo wrote:*   

>  *geps2 wrote:*   
> 
> Alla fine (come sempre) sono scemo io.
> 
> Ciao! 
> ...

 

Non preoccuparti, era autocritica  :Smile: 

Comunque adesso ho lo stesso problema con CONFIG_IP_NF_SET: però stavolta non lo trovo neanche abilitando l'opzione per i kernel sperimentali... ci deve essere una patch, ma sto ancora cercando di capire quale.

ciao...

----------

