리눅스 시스템은 핵심적인 역할을 수행하는 커널(Kernel)과 관련된 다양한 매개변수를 제공 하고 있다.
리눅스 관리자는 sysctl 명령어를 사용하여 커널의 매개변수 값을 변경함으로써 시스템의 성능을 향상시키고, 보안을 강화할 수 있다.
또한 /proc/sys 디렉터리에서 커널 제어를 위한 매개변수들을 보관하고, 하위 디렉터리에 있는 항목들을 echo 명령과 > 기호를 이용해 변경할 수 있다.
시스템의 성능과 보안 관련된 디렉터리는 kernel, fs, net, vm이다.
kernel은 IPC와 관련된 Internal Message Queue, Semaphore 등 설정하는 매개변수
fs는 파일 시스템 관련 매개변수
net은 TCP, ICMP 등 네트워크 관련 매개변수
vm은 메모리 관련 변수가 들어있다.
주요 매개변수
서버로 사용되는 경우가 많은 리눅스 특성 상 네트워크 관련 커널 매개변수가 상당히 많은 편으로 몇 개만 정리하려고 한다. 커널 매개 변수는 /proc/sys/net 디렉터리에 위치해있고 주요 디렉터리에는 core, ipv4, ipv6, netfilter가 있다.
core : 네트워크 기본 설정 관련 커널 매개변수
ipv4 : ipv4 관련 커널 매개 변수
ipv6 : ipv6 관련 커널 매개 변수
netfilter : 네트워크 필터링 관련 매개 변수
수치형 매개변수
커널 매개변수 | 기본값 | 설명 |
ipv4/tcp_keepalive_time | 7200 | TCP연결 상태를 계속 유지하기 위한 시간설정, 초 단위 |
ipv4/tcp_max_syn_backlog | 128 | TCP 프로토콜에서 하나의 소켓이 동시에 SYN요청의 한계인 백로그(backlog) 설정, 백로그 큐가 다차면 이 후 SYN요청 무시 |
ipv4/tcp_fin_timeout | 60 | TCP 세션 종료 후에 얼마나 세션 유지할지 초단위 설정 |
ipv4/tcp_synack_retries | 5 | 일정 시간 내에 IP주소별로 보내고 SYN패킷의 재시도 횟수 제한 |
활성/비활성 매개변수
커널 매개변수 | 기본값 | 설명 |
ipv4/icmp_echo_ignore_all | 0 | ping과 같은 ICMP 패킷에 대한 응답 여부결정 매개변수 값이 0이면 응답, 1이면 응답하지 않음 |
ipv4/tcp_syncookies | 1 | SYN Flooding 공격을 막을 때 유용한 항목, 기본값 1로 설정 |
ipv4/ip_forward | 1 | 하나의 서버에서 ip를 공유하여 포워딩 가능할 것 인지 여부 설정 1이면 가능, 0이면 불가능 |
커널 매개변수 제어 명령어 (sysctl)
sysctl [option] [변수]
sysctl [option] [변수=값]
-a, -A : 커널 매개변수와 값을 모두 출력 (--all)
-p [파일명] : 환경 변수 파일에 설정된 값 출력 , 파일명 미 지정시 /etc/sysctl.conf 파일 적용 (--load=파일명)
-n : 특정 매개 변수에 대한 값 출력 (--values)
-w [변수=값] : 매개변수의 값 설정(--write)
sysctl 명령어는 커널 매개변수(Kernel parameter) 의 값을 제어하여 시스템을 최적화하는 명령이다.
즉, /proc/sys 디렉터리에 존재하는 매개변수 제어하는 명령으로 /proc/sys 를 최상위 디렉터리(root)로 인식한다.
해당 설정을 재부팅 시에도 계속적으로 반영하기 위해서는 /etc/stsctl.conf 파일에 등록해야 한다.
[사용 예시]
# sysctl -w net.ipv4.icmp_echo_ignore_all=1
-> ping 명령에 대한 응답을 거부하도록 설정한다.
'서버 운영 > Linux' 카테고리의 다른 글
리눅스 lsattr, chattr 파일 속성 관리 명령어 (0) | 2021.10.15 |
---|---|
리눅스 su, sudo 명령어 및 visudo로 root 권한 설정하기 (0) | 2021.10.15 |
Linux 시스템 보안 ssh 관리 및 명령어 (원격 접속) (0) | 2021.10.15 |
Linux 시스템 로그(Log) 관련 파일 및 명령어(rsyslog, logrotate) (1) | 2021.10.15 |
리눅스 RAID 구성 및 명령어 mdadm (0) | 2021.10.13 |