Tôi đã có một máy SLES tích lũy các kết nối TCP ở trạng thái CLOSE_WAIT cho những gì dường như là mãi mãi. Những mô tả này cuối cùng hút tất cả bộ nhớ có sẵn. Hiện tại, tôi đã có 3037 người trong số họ, nhưng nó đã cao hơn nhiều trước khi khởi động lại nhanh chóng gần đây.
Điều thú vị là chúng không phải từ các kết nối đến các cổng cục bộ mà tôi mong đợi có quá trình lắng nghe. Chúng không có PID liên quan và bộ định thời của chúng dường như đã hết hạn.
# 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 -
Tôi không phải là đai đen khi nói đến ngăn xếp TCP hoặc mạng kernel, nhưng cấu hình TCP có vẻ lành mạnh, vì các giá trị này là mặc định, trên mỗi trang man:
# cat /proc/sys/net/ipv4/tcp_fin_timeout
60
# cat /proc/sys/net/ipv4/tcp_keepalive_time
7200
Vì vậy, những gì cho? Nếu bộ định thời đã hết hạn, không nên ngăn xếp tự động xóa công cụ này? Tôi thực sự mang lại cho mình một DoS dài hạn khi những thứ này tích tụ.
sudo netstat -tonp
xem chương trình này đang xảy ra với.