영원히 보이는 것처럼 CLOSE_WAIT 상태로 TCP 연결을 누적하는 SLES 시스템이 있습니다. 이 디스크립터는 결국 사용 가능한 모든 메모리를 빨아들입니다. 현재 3037 개가 있지만 최근에 재시동하기 전에는 훨씬 더 높았습니다.
흥미로운 점은 청취 프로세스가있을 것으로 예상되는 로컬 포트에 연결되어 있지 않다는 것입니다. 연관된 PID가 없으며 타이머가 만료 된 것 같습니다.
# netstat -ton | grep CLOSE_WAIT
tcp 176 0 10.0.0.60:54882 10.0.0.12:31663 CLOSE_WAIT off (0.00/0/0)
tcp 54 0 10.0.0.60:60957 10.0.0.12:4503 CLOSE_WAIT off (0.00/0/0)
tcp 89 0 10.0.0.60:50959 10.0.0.12:3518 CLOSE_WAIT off (0.00/0/0)
# netstat -tonp | grep CLOSE_WAIT
tcp 89 0 10.0.0.59:45598 10.0.0.12:1998 CLOSE_WAIT -
tcp 15 0 10.0.0.59:60861 10.0.0.12:1938 CLOSE_WAIT -
tcp 5 0 10.0.0.59:56173 10.0.0.12:1700 CLOSE_WAIT -
TCP 스택이나 커널 네트워킹에 관해서는 블랙 벨트가 아니지만 매뉴얼 페이지에 따라 이러한 값이 기본값이므로 TCP 구성이 제정신처럼 보입니다.
# cat /proc/sys/net/ipv4/tcp_fin_timeout
60
# cat /proc/sys/net/ipv4/tcp_keepalive_time
7200
무엇을 제공합니까? 타이머가 만료 된 경우 스택에서이 항목을 자동으로 지워서는 안됩니까? 이러한 것들이 쌓이면서 장기적인 DoS를 효과적으로 제공하고 있습니다.
sudo netstat -tonp
이 함께 발생하는 프로그램을 볼 수 있습니다.