Linux ETC

커널 파라미터 제어

2008.06.25 00:16

호스트웨이 조회 수:35095

커널 변수를 제어하는 방법이다. 

 sysctl -a 는 모든 커널 파라미터의 값을 출력한다. 

 우선 /etc/sysctl.conf 의 내용을 보자.

[root@linuxian root]# cat /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
[root@linuxian root]#

 위 net.ipv4.ip_forward 의 값을 1 로 변경하고 시스템을 재시작 하거나

 sysctl -w 명령을 사용하면 변경된 파라미터 값이 시스템에 적용된다.

 echo 1 > /proc/sys/net/ipv4/ip_forward 라고 해도 된다.
 
 그러나 시스템을 재시작 했을 경우 sysctl.conf 파일을 읽어들이기 때문에 값은 다시 0 으로 초기화 된다.


 SYN flooding 공격에 대비하려면 /etc/sysctl.conf 에 아래의 값들을 입력하고 sysclt -w 을 실행하거나
 
 시스템을 재시작한다.

 net.ipv4.tcp_syncookies=1
 net/ipv4/tcp_max_syn_backlog=1024

 아래는 위 파라미터에 대한 간단한 설명이다.
 
 net.ipv4.tcp_syncookies
 --> SYN패킷의 도착빈도가 일정한 횟수보다 많을 때 해당 요청을 허용하지 않을 때 사용한다.

 net/ipv4/tcp_max_syn_backlog
 --> TCP프로토콜에서 한 소켓이 동시에 SYN요청을 처리하기에기는 한계가 있는데
     이 한계가 백로그(backlog)이다. 백로그는 연결 요청이 아직 완전히 처리되지
     아니한 대기상태에 있는 큐의 길이이다. 이 백로그 큐가 꽉차게 되면 이후 들어오는
     SYN요청은 무시되며 이러한 공격이 위에서 말한 SYN Flooding공격이다.
     값을 1024이상으로 설정하려면 커널소스를 수정하고 다시 컴파일 해야 한다.

번호 제목 글쓴이 날짜 조회 수
206 hdparm 을 이용한 하드성능 체크 및 하드 정보 확인 호스트웨이 2012.05.25 15310
205 Linux 계정 정보 관리 파일 호스트웨이 2012.07.06 15245
204 Linux 설치후 기본언어 한국어로 변경 호스트웨이 2012.08.23 15149
203 "The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY AED4B06F473041FA" 에러 메시지 발생 시 호스트웨이 2012.07.27 15109
202 리눅스 퍼미션(Permission)이란? file 호스트웨이 2012.07.20 15089
201 telnet 사용 시 접속가능 시간 제어 하는 법 호스트웨이 2012.05.18 15027
200 리눅스 가상콘솔개수 조절 file 호스트웨이 2012.06.15 14991
199 하드 디스크의 베드블럭 처리 방법 호스트웨이 2012.05.11 14839
198 리눅스 tar로 압축 할 때 Archive에 파일 업데이트 하기 호스트웨이 2012.05.18 14811
197 리눅스 runlevel이란? 호스트웨이 2012.07.13 14794
196 리눅스 디스크 종류별 명칭 호스트웨이 2012.08.10 14768
195 Disk I/O 줄이기 호스트웨이 2012.10.18 14766
194 vsftp사용 시 root 계정 이용하기 file 호스트웨이 2012.03.23 14732
193 fstab 손상으로 / 파티션이 Read-Only 상태일 때 Remount 하는 방법 호스트웨이 2012.10.05 14722
192 리눅스 uptime 명령어 file 호스트웨이 2012.08.24 14671
191 리눅스에서 Which 명령어로 명령어 경로 확인 호스트웨이 2012.07.13 14611
190 특정 NIC에 한 개 이상의 IP 할당하기 호스트웨이 2012.05.18 14585
189 리눅스 부팅 과정 file 호스트웨이 2012.06.01 14574
188 netstat 명령어 호스트웨이 2012.05.25 14561
187 서버 아이피 변경으로 인한 다량의 네임서버 존파일 일괄 변경 방법 호스트웨이 2012.04.06 14324