iptraf et iftop

Voici 2 bons logiciel pour minotrer les interfaces réseaux en console.

Iptraf apporte plus de détail que iftop sur la quantités de paquet échangé ainsi que leurs protocoles.

Alors que iftop donne une meilleur vus d’ensemble de l’utilisation de la bande passante en fonction des IP.

Ip_conntrack ou nf_conntrack: table full, dropping packet.

Un problÚme assez fréquent lors de petit DDOS, ou de monté en charge de serveur.

Le module ip_conntrack ou nf_conntrack permet le suivi de connections lorsque l’on utilise netfilter. Dans cette table est Ă©crit toutes les connections ouvertes ces 5 derniers jours. Cela peut poser un problĂšme lorsque cette table est pleine. Aucune connections n’est alors possible et la console renvoie le message suivant :

nf_conntrack: table full, dropping packet.

Ou

ip_conntrack: table full, dropping packet.

Il faut commencer par par regarder les valeurs par default :

#/sbin/sysctl -a | grep conntrack

Ce qui devrait donner quelques chose comme ça :

net.ipv4.netfilter.ip_conntrack_generic_timeout = 600
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_sent = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 432000
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_last_ack = 30
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close = 10
net.ipv4.netfilter.ip_conntrack_tcp_timeout_max_retrans = 300
net.ipv4.netfilter.ip_conntrack_tcp_loose = 1
net.ipv4.netfilter.ip_conntrack_tcp_be_liberal = 0
net.ipv4.netfilter.ip_conntrack_tcp_max_retrans = 3
net.ipv4.netfilter.ip_conntrack_udp_timeout = 30
net.ipv4.netfilter.ip_conntrack_udp_timeout_stream = 180
net.ipv4.netfilter.ip_conntrack_icmp_timeout = 30
net.ipv4.netfilter.ip_conntrack_max = 65536
net.ipv4.netfilter.ip_conntrack_count = 4983
net.ipv4.netfilter.ip_conntrack_buckets = 16384
net.ipv4.netfilter.ip_conntrack_checksum = 1
net.ipv4.netfilter.ip_conntrack_log_invalid = 0
net.netfilter.nf_conntrack_generic_timeout = 600
net.netfilter.nf_conntrack_max = 65536
net.netfilter.nf_conntrack_count = 4983
net.netfilter.nf_conntrack_buckets = 16384
net.netfilter.nf_conntrack_checksum = 1
net.netfilter.nf_conntrack_log_invalid = 0
net.netfilter.nf_conntrack_expect_max = 256
net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 120
net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 60
net.netfilter.nf_conntrack_tcp_timeout_established = 432000
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_last_ack = 30
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close = 10
net.netfilter.nf_conntrack_tcp_timeout_max_retrans = 300
net.netfilter.nf_conntrack_tcp_loose = 1
net.netfilter.nf_conntrack_tcp_be_liberal = 0
net.netfilter.nf_conntrack_tcp_max_retrans = 3
net.netfilter.nf_conntrack_udp_timeout = 30
net.netfilter.nf_conntrack_udp_timeout_stream = 180
net.netfilter.nf_conntrack_icmp_timeout = 30

Bon la premiĂšre chose Ă  faire est de limiter le dĂ©lai maximum d’une connexion de 432000 secondes ( soit 120 heures ou 5 jours)  Ă  seulement 1 jours (ou moins).

Pour nf_conntrack :

# /sbin/sysctl -w net.netfilter.nf_conntrack_tcp_timeout_established=86400

Pour ip_conntrack :

# /sbin/sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_established =86400

Ensuite si ce n’est pas dĂ©jĂ  le cas augmenter le conntrack_max. Dans cet exemple je la passe Ă  64536 mais cela peut ĂȘtre beaucoup plus, tout dĂ©pend de la quantitĂ© de RAM que vous avez. Plus cette valeur sera Ă©levĂ© plus cela consommera de RAM.

Pour nf_conntrack :

# /sbin/sysctl -w net.netfilter.nf_conntrack_max=65536

Pour ip_conntrack :

# /sbin/sysctl -w net.ipv4.netfilter.ip_conntrack_max =65536

A présent il faut que vos configuration perdurent au prochain reboot. Pour cela rajouter les lignes précédentes dans le sysctl.conf.

# nano /etc/sysctl.conf

net.netfilter.nf_conntrack_max=65536.
net.netfilter.nf_conntrack_tcp_timeout_established=60
net.ipv4.netfilter.ip_conntrack_max =65536
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established =60

Enfin redémarrer votre interface réseau.

# /etc/init.d/network restart

Correction bug munin

Alors une petite liste de bug avec munin :

cat: /proc/net/ip_conntrack: Permission denied

Il n’y a pas les bon droit dans /proc/net/ip_conntrack il faut faire le chmod.

#chmod +xr -R /proc/net

Ensuite on peut aussi avoir :

Plugin « if_eth0 » exited with status 512.

C’est toujours un probleme de droit. Mais cette fois si il faut les corriger dans le fichier :

#nano /etc/munin/plugin-conf.d/munin-node

et

#nano /etc/munin/plugins.conf

Et rajouter ces lignes :

[if_*]
user root

[if_err_*]
user root

Et enfin le plus facile : mysql

mysqladmin: connect to server at ‘localhost’ failed
error: ‘Access denied for user ‘nobody’@’localhost’ (using password: NO)’

Petit piĂšge quand vous mettez le mot de passe contrairement au login il ne faut pas d’espace entre le -p et le mot de passe.

Editer donc :

#nano /etc/munin/plugin-conf.d/munin-node

et

#nano /etc/munin/plugins.conf

[mysql*]
env.mysqlopts -u login -ppass

Garder son serveur Ă  l’heure

Rien de mieux pour garder son serveur a l’heure que ntpdate.

#apt-get install ntpdate

ou

#yum install ntpdate

Et ensuite il ne reste plus qu’a le mettre dans la crontab -e avec une mise a jour toutes les 10 heures ce qui donne :

#crontab -e

* */10 * * * /usr/sbin/ntpdate -b -s ntp1.dedibox.fr

Utilisateur et liste de distribution

Il arrive bien souvent qu’un utilisateur ne rentre pas correctement son email dans la newsletter.La liste des FQDN pourris et une commande SQL et le tour est jouĂ© :

SQL :

UPDATE table_name SET column_name = REPLACE(column_name, »%original_string% », »%replace_string% »)

Voici une petite liste de FQDN :

Pour hotmail.fr ou .com

otmail.fr
htomail.fr
hotmzil.fr
hotmai.com
hotmaol.com
hotmal.com

Pour yahoo.fr

yhoo.fr

Pour videotron.ca

videotro.ca

Pour gmail.com

gmaill.com
gmail.fr

Pour cegetel.net

cegtel.net