Article original Publié le : 30 juin 2022 Mise à jour le : – |
Cette erreur qui revient très souvent dans le syslog fait suite au reboot d’un serveur métier qui sert d’archivage applicatif et qui reçoit un trafic important, il y a énormément de connexion cliente.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Jun 27 15:41:10 [appli] [Thread 1084521736] TID is 400771416 Jun 27 15:41:10 [appli] [Thread 1084521736] return(NULL) | Terminated with success Jun 27 15:41:11 [appli] [Thread 1766151372] Processing new data connection from xx.xx.xx.xx Jun 27 15:41:11 [appli] [Thread 1766151372] TID is 341405221 Jun 27 15:41:12 [kernel] [1742841.144260] nf_conntrack: table full, dropping packet. Jun 27 15:41:12 [kernel] [1742841.211886] nf_conntrack: table full, dropping packet. Jun 27 15:41:13 [kernel] [1742841.924939] nf_conntrack: table full, dropping packet. Jun 27 15:41:13 [kernel] [1742842.012442] nf_conntrack: table full, dropping packet. Jun 27 15:41:13 [kernel] [1742842.063537] nf_conntrack: table full, dropping packet. Jun 27 15:41:13 [kernel] [1742842.083194] nf_conntrack: table full, dropping packet. Jun 27 15:41:13 [kernel] [1742842.148414] nf_conntrack: table full, dropping packet. Jun 27 15:41:14 [kernel] [1742843.125771] nf_conntrack: table full, dropping packet. Jun 27 15:41:14 [kernel] [1742843.211328] nf_conntrack: table full, dropping packet. Jun 27 15:41:14 [kernel] [1742843.228912] nf_conntrack: table full, dropping packet ... |
Il y a beaucoup d’alerting sur des pertes de paquets entre les machines clientes et ce serveur
Les recherches m’orientent sur les valeurs de nf_conntrack
- Connexions actives
1 |
$ cat /proc/sys/net/netfilter/nf_conntrack_count |
1 |
65527 |
- Connexions maximum (valeurs par défaut)
1 |
$ cat /proc/sys/net/netfilter/nf_conntrack_max |
1 |
65536 |
Il faut donc augmenter la valeur des connexions maximales (nf_conntrack_max)
1 |
$ echo 262144 | sudo tee /proc/sys/net/netfilter/nf_conntrack_max > /dev/null |
c’est immédiat, je n’ai plus de drop dans le syslog
1 2 3 4 5 6 7 8 9 10 11 |
Jun 27 16:29:12 [appli] [Thread 1037371136] return(NULL) | Terminated with success Jun 27 16:29:13 [appli] [Thread 1037371136] Processing new data connection from xx.xx.xx.xx Jun 27 16:29:13 [appli] [Thread 1037371136] TID is 500986417 Jun 27 16:29:13 [appli] [Thread 1037371136] return(NULL) | Terminated with success Jun 27 16:29:14 [appli] [Thread 1054156544] Processing new data connection from xx.xx.xx.xx Jun 27 16:29:14 [appli] [Thread 1054156544] TID is 283405528 Jun 27 16:29:14 [appli] [Thread 1054156544] return(NULL) | Terminated with success Jun 27 16:29:14 [appli] [Thread 1054156544] Processing new data connection from xx.xx.xx.xx Jun 27 16:29:14 [appli] [Thread 1054156544] TID is 716141032 Jun 27 16:29:14 [appli] [Thread 1054156544] return(NULL) | Terminated with success ... |
Voici les valeurs actuelles depuis leur correction
- Connexions actives
1 |
$ cat /proc/sys/net/netfilter/nf_conntrack_count |
1 |
120430 |
- Connexions maximum
1 |
$ cat /proc/sys/net/netfilter/nf_conntrack_max |
1 |
262144 |
Cette valeur reste temporaire et reviendra par défaut au prochain reboot, pour qu’elle reste persistante il faut la fixer dans sysctl.conf
1 |
$ sudo vim /etc/sysctl.conf |
1 |
net.netfilter.nf_conntrack_max = 262144 |