1. FIN Time Wait 세션 확인
프로그램이 수행될 때 netstat -nt | grep TIME_WAIT | wc -l 명령어를 통해 세션상태를 확인하여 TIME_WAIT 상태의 세션의 개수를 확인할 수 있다.
TIME_WAIT 상태 해제되지 않은 대량의 연결 시도가 로컬 포트에 할당되고 해제되지 않아 유효한 범위의 포트 번호를 잠식하여 발생한다.
할당된 포트가 해제될 때 까지 새로운 연결을 설정할 수 없게 하는 상황이 발생된다.추측하여 이런 저런 검색을 통해
2. FIN Time Wait 시간 조절
sysctl.conf 에 아래 파라미터들을 추가하여 TIME_WAIT 을 발생시키던 세션수가 감소하는 것을 확인할 수 있다.
추가한 파라미터 및 역할을 아래와 같다.
. ip_local_port_range :: 로컬 포트로 사용할 수 있는 주소의 범위
. tcp_tw_recycle : TIME_WAIT 상태에 있는 연결을 빠르게 재활용 할 수 있도록 하기 위한 값, 기본적으로 비활성화 되어 있으므로 값을 추가하여 넣어줘야 함
. tcp_fin_timeout FIN_WAIT2 상태에 있는 보유 시간 설정 (기본 60초 -> 10초)
# vi /etc/sysctl.conf
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 10
3. 시스템에 적용하기
내용 추가 후 sysctl -p 명령어를 통해 바로 적용할 수 있다.
※유의사항
net. ipv4 .tcp_tw_recycle을 사용하면 조건에 따라 TCP 세션 이 부풀어 없게되는 문제가 발생할 수도있다고 하니 관리하는 시스템 성격에 따라 유의하여 적용해야 할 것 같다.
반응형
'IT > Linux' 카테고리의 다른 글
[Linux] 디렉토리의 특정 대상 파일을 제외하고 조회하기 (0) | 2018.05.18 |
---|---|
[Linux] OS 파라메터 NUMA 설정을 통한 멀티 코더 CPU 성능 향상 (0) | 2018.05.18 |
[Linux] 리눅스 접속기록 확인 (0) | 2018.05.18 |
[Linux] 방화벽 포트 열기, 방화벽 설정 해제 (0) | 2018.05.18 |
[Linux] RHEL FTP 데몬 외부 접근 권한 설정 (0) | 2018.05.18 |