GNU/Linux >> Linux Esercitazione >  >> Linux

Un'enorme quantità di connessioni TIME_WAIT dice netstat

Soluzione 1:

MODIFICA: tcp_fin_timeout NON controlla la durata TIME_WAIT, è hardcoded a 60s

Come menzionato da altri, avere alcune connessioni in TIME_WAIT è una parte normale della connessione TCP. Puoi vedere l'intervallo esaminando /proc/sys/net/ipv4/tcp_fin_timeout :

[[email protected] ~]# cat /proc/sys/net/ipv4/tcp_fin_timeout
60

E cambialo modificando quel valore:

[[email protected] admin]# echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout

O permanentemente aggiungendolo a /etc/sysctl.conf

net.ipv4.tcp_fin_timeout=30

Inoltre, se non utilizzi il servizio RPC o NFS, puoi semplicemente disattivarlo:

/etc/init.d/nfsd stop

E spegnilo completamente

chkconfig nfsd off

Soluzione 2:

TIME_WAIT è normale. È uno stato dopo la chiusura di un socket, utilizzato dal kernel per tenere traccia dei pacchetti che potrebbero essere stati persi e presentati in ritardo alla festa. Un numero elevato di connessioni TIME_WAIT è un sintomo di molte connessioni di breve durata, non è nulla di cui preoccuparsi.

Soluzione 3:

Non è importante. Tutto ciò che significa è che stai aprendo e chiudendo molte connessioni Sun RCP TCP (1500-2500 ogni 2-4 minuti). Il TIME_WAIT state è ciò in cui entra un socket quando si chiude, per evitare che i messaggi arrivino per le applicazioni sbagliate come potrebbero se il socket fosse riutilizzato troppo velocemente, e per un paio di altri scopi utili. Non preoccuparti.

(A meno che, ovviamente, tu non stia effettivamente eseguendo qualcosa che dovrebbe elaborare così tante operazioni RCP. Allora, preoccupati.)

Soluzione 4:

Qualcosa sul tuo sistema sta eseguendo molte RPC (Remote Procedure Calls) all'interno del tuo sistema (nota che sia l'origine che la destinazione sono localhost). Questo è spesso visto per lockd per i montaggi NFS, ma potresti anche vederlo per altre chiamate RPC come rpc.statd o rpc.spray.

Potresti provare a usare "lsof -i" per vedere chi ha quei socket aperti e vedere cosa lo sta facendo. Probabilmente è innocuo.

Soluzione 5:

tcp_fin_timeout NON controlla TIME_WAIT ritardo. Puoi vederlo usando ss o netstat con -o per vedere i timer del conto alla rovescia:

cat /proc/sys/net/ipv4/tcp_fin_timeout
3

# See countdown timer for all TIME_WAIT sockets in 192.168.0.0-255
ss --numeric -o state time-wait dst 192.168.0.0/24

NetidRecv-Q  Send-Q    Local Address:Port    Peer Address:Port                             
tcp  0       0         192.168.100.1:57516   192.168.0.10:80    timer:(timewait,55sec,0)   
tcp  0       0         192.168.100.1:57356   192.168.0.10:80    timer:(timewait,25sec,0)   
tcp  0       0         192.168.100.1:57334   192.168.0.10:80    timer:(timewait,22sec,0)   
tcp  0       0         192.168.100.1:57282   192.168.0.10:80    timer:(timewait,12sec,0)   
tcp  0       0         192.168.100.1:57418   192.168.0.10:80    timer:(timewait,38sec,0)   
tcp  0       0         192.168.100.1:57458   192.168.0.10:80    timer:(timewait,46sec,0)   
tcp  0       0         192.168.100.1:57252   192.168.0.10:80    timer:(timewait,7.436ms,0) 
tcp  0       0         192.168.100.1:57244   192.168.0.10:80    timer:(timewait,6.536ms,0)

anche con tcp_fin_timeout impostato su 3 il conto alla rovescia per TIME_WAIT parte ancora da 60. Tuttavia, se hai net.ipv4.tcp_tw_reuse impostato su 1 (echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse ) allora il kernel può riutilizzare i socket in TIME_WAIT se determina che non ci saranno possibili conflitti nella numerazione dei segmenti TCP.


Linux
  1. Visualizza le connessioni di rete del tuo server Linux con netstat

  2. Rendere rpcbind (precedentemente portmap, porta 111) più sicuro

  3. Scopri host live su una rete sotto Linux

  4. Strumento della riga di comando per ottenere informazioni sul fornitore Oui dall'indirizzo Mac?

  5. Come posso verificare quante connessioni HTTP sono attualmente aperte?

Risolvere l'indirizzo Mac dall'indirizzo IP in Linux?

Esercitazione sui comandi Netstat di Linux per SysAdmins [40 esempi]

10 esempi di base del comando Linux Netstat

Suggerimenti e trucchi per la riga di comando di Netstat

Qual è la differenza tra le catene OUTPUT e FORWARD in iptables?

Risoluzione dell'indirizzo MAC dall'indirizzo IP in Linux