게시물 252건
   
[Redhat7] tcp 관련 커널 파라미터
글쓴이 : theko 날짜 : 2020-03-04 (수) 16:55 조회 : 1634
- 리눅스 서버에서 TIME_OUT 이 많이 발생하는 시점에
아래 파라미터를 넣어주고 안정적으로 운영이 됨



Parameter 설정값 기본 최대 설명
net.ipv4.tcp_tw_reuse 1 0   TIME_WAIT상태의 소켓중 timestamp 보다 작은 값의 timestamp 를 갖는 소켓을 재사용 한다.
reuse 옵션을 사용 하기 위해서는 반드시 timestamps 옵션도 활성화 되어 있어야 한다.
(기본적으로 활성화 되어 있음)
net.ipv4.tcp_tw_recycle 1 0   TIME_OUT 상태의 소켓 유지 시간이 아주 짧아집니다.
단점 : NAT환경이나  load-balancers, 패킷 드랍 발생
net.ipv4.tcp_rfc1337 1 0   TIME_OUT를 유지하는 시간(단위:분)
net.ipv4.tcp_fin_timeout 5 60   (TIME_OUT)소켓이 완전히 닫힐려면 마지막 FIN을 기다려야 하는데, 이 간격을 초단위로 설정할 수 있습니다. 
net.ipv4.tcp_keepalive_time 15 7200   동작중이지 않은 소켓 연결 끊는시간 (단위:초)
net.ipv4.tcp_max_syn_backlog 4096 2048   TCP프로토콜에서 한 소켓이 동시에 SYN요청을 처리하기에기는 한계가 있는데
이 한계가 백로그(backlog)이다. 백로그는 연결 요청이 아직 완전히 처리되지
아니한 대기상태에 있는 큐의 길이이다. 이 백로그 큐가 꽉차게 되면 이후 들어오는
SYN요청은 무시되며 이러한 공격이  SYN Flooding공격이다.
net.ipv4.tcp_no_metrics_save 1 0   연결 닫기 시 메트릭 캐시 안 함
net.ipv4.ip_local_port_range 2000   
65535
32768  
60999
65535 # netstat  -atunp | grep TIME_WAIT  
tcp        0      0 192.168.100.102:1024        192.168.100.101:80          TIME_WAIT   -
위 빨간색을 나타내는 포트 범위
net.core.somaxconn 65535 128   최대 소켓 갯수 증가시키기(somaxconn = soket max connection)
참고로 SOMAXCONN은  listen 큐를 크게 하는 것은 조금 더 많은 RAM 의 비용을 지불하게 만드는 DoS 공격을 피하기위해 보다 좋은 작업이라고 합니다.
net.ipv4.tcp_max_tw_buckets 1440000 131072 2000000  시스템이 동시에 가지고 있은 timewait 소켓의 최대 개수입니다. 이 값을 초과하면 time-wait 소켓을 즉시 파괴하고 경고를 출력합니다. 이 제한은 단순한 DoS 공격을 막기 위해서 존재할 뿐이며, 제한값을 억지로 낮춰선 안됩니다. 네트워크 상황이 기본값 이상을 필요로 한다면 도리어 (아마도 메모리 설치를 늘인 다음에) 이 값을 높여주어야 합니다.

이름 패스워드
비밀글 (체크하면 글쓴이만 내용을 확인할 수 있습니다.)
왼쪽의 글자를 입력하세요.
   

miwit.com sir.co.kr DNS Powered by DNSEver.com DNS Powered by DNSEver.com