it-swarm-ko.tech

FIN_WAIT1 상태에서 소켓을 어떻게 제거합니까?

죽이는 프로세스에 의해 차단 된 포트가 있습니다. (충돌 한 작은 텔넷 데몬). 프로세스가 성공적으로 종료되었지만 포트는 여전히 'FIN_WAIT1'상태입니다. 그것은 나오지 않습니다. 그것의 타임 아웃은 '10 년 '으로 설정된 것 같습니다.

포트를 비우는 유일한 방법은 전체 머신을 재부팅하는 것입니다. 물론 원하지 않는 일입니다.

$ netstat -tulnap | grep FIN_WAIT1 
tcp        0  13937 10.0.0.153:4000         10.0.2.46:2572          FIN_WAIT1  -

아무도 재부팅하지 않고이 포트를 차단 해제하는 방법을 알고 있습니까?

20
Gert M
# record what tcp_max_orphans's current value
original_value=$(cat /proc/sys/net/ipv4/tcp_max_orphans)

#set the tcp_max_orphans to 0 temporarily
echo 0 > /proc/sys/net/ipv4/tcp_max_orphans

# watch /var/log/messages
# it will split out "kernel: TCP: too many of orphaned sockets"
# it won't take long for the connections to be killed

# restore the value of tcp_max_orphans whatever it was before. 
echo $original_value > /proc/sys/net/ipv4/tcp_max_orphans

# verify with 
netstat -an|grep FIN_WAIT1
19
IdaWong

/proc/sys/net/ipv4/tcp_fin_timeout로 시간 초과를 설정할 수 있어야합니다.

실제로 소켓을 수동으로 지우는 방법이없는 것 같습니다.

7
innaM

Tcp_Orphan_retries 설정은 서버리스 포트가 해제되기 전에 시도 할 횟수를 제어하는 ​​것으로 보입니다. 1로 설정 한 후 포트가 사라졌습니다.

HTH

6
user64877

/proc/sys/net/ipv4/tcp_fin_timeout은 (는) FIN-WAIT-1이 아니라 FIN-WAIT-2 상태의 시간 초과입니다. tcpkill 라우트를 사용하거나 /proc/sys/net/ipv4/tcp_keepalive_*는 SO에 의해 강제로 죽인다.

5
Fabricio González

루트 ID로 다음 단계를 실행하면 나에게 지워졌습니다.

커널 설정을 캡처하여 변수를 변경

$ orig_orphans=$(sysctl -a|grep tcp_max_orph|cut -f3 -d' ')

최대 고아를 일시적으로 0으로 설정

$ sysctl -w net.ipv4.tcp_max_orphans=0

문제가있는 포트가 더 이상 사용되지 않는지 확인하십시오

$ netstat -np|grep 9716

위 명령이 줄을 반환하지 않을 때까지 조금 기다렸다가 필요한 경우 위 단계를 반복하십시오.

Tcp_max_orphans 커널 매개 변수를 위 변수의 원래 값으로 다시 재설정하십시오.

$ sysctl -w net.ipv4.tcp_max_orphans=$orig_orphans
2
Rad Mandapati

FIN_WAIT1

로컬 컴퓨터의 응용 프로그램이 연결을 닫았습니다. 이 표시는 원격 시스템으로 전송되었습니다.

응용 프로그램이 연결 측면을 닫았으며 소켓은 이제 원격 쪽이 닫힘을 확인하기를 기다리고 있습니다. FIN_WAIT1에있는 많은 소켓에 문제가있는 경우 위의 Manni의 조언을 따라야합니다.

1
Dave Cheney

리눅스 커널> = 4.9에서는 iproute2의 ss 명령을 키 -K와 함께 사용할 수 있습니다

ss -K dst 192.168.1.214 dport = 49029 커널은 CONFIG_INET_DIAG_DESTROY 옵션을 활성화하여 컴파일해야합니다.

통해 https://unix.stackexchange.com/a/511691/43898

0
eri