일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- C
- Linux
- JSON
- log
- 디렉토리
- PostgreSQL
- K8S
- Python
- yum
- audit
- Kubernetes
- 파이썬
- 크롬
- Elk
- bash
- zabbix
- RHEL
- GNOME
- centos 7.5
- CentOS
- 서울시민카드
- Chrome
- Shell
- rsyslog
- GPU
- docker
- Elasticsearch
- Audit Log
- 빅데이터
- syslog
- Today
- Total
Sysops Notepad
[Linux] tcp 관련 커널 파라미터 간단 설명 본문
리눅스 서버에서 TIME_OUT 이 많이 발생하는 시점에
/etc/sysctl.conf 파일 수정 후 sysctl -p 명령어로 적용해주시면됩니다.
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 32768 최대 65535
# netstat -atunp | grep TIME_WAIT
65535 60999 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 공격을 막기 위해서 존재할 뿐이며, 제한값을 억지로 낮춰선 안됩니다. 네트워크 상황이 기본값 이상을 필요로 한다면 도리어 (아마도 메모리 설치를 늘인 다음에) 이 값을 높여주어야 합니다.
'업무 > sys' 카테고리의 다른 글
[Linux] dd 명령어 사용법 (0) | 2021.04.11 |
---|---|
[Linux] dns서버 zone file 내용 (0) | 2021.04.11 |
[Apache]exit signal Segmentation fault (11) error (0) | 2021.04.09 |
[Linux] wget build 하기 (0) | 2021.04.09 |
[Linux] Yum 의존성(dependency) 확인하기 (0) | 2021.04.09 |