Linux ETC

커널 파라미터 제어

2008.06.25 00:16

호스트웨이 조회 수:36965

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

 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이상으로 설정하려면 커널소스를 수정하고 다시 컴파일 해야 한다.

번호 제목 글쓴이 날짜 조회 수
246 debian / ubuntu 에서 ntsysv(rcconf) 사용하기 호스트웨이 2012.11.01 18268
245 리눅스 파티션 볼륨 레이블 설정 file 호스트웨이 2012.11.01 3177
244 Web site에서 php error log 출력하지 않기 호스트웨이 2012.11.01 5048
243 리눅스 wc 명령어 file 호스트웨이 2012.10.26 3474
242 TCp syn Flooding 공격시 대처방법 TIP 호스트웨이 2012.10.26 2239
241 리눅스 du 사용법 호스트웨이 2012.10.25 17843
240 리눅스 시스템상에서 하드웨어사양 확인 호스트웨이 2012.10.24 2369
239 ls 명령어의 파일 사이즈 쉽게 확인하기 호스트웨이 2012.10.23 177473
238 history 삭제 막기 호스트웨이 2012.10.19 3967
237 Disk I/O 줄이기 호스트웨이 2012.10.18 18478
236 리눅스 tac 명령어를 통해 파일내용 역순으로 출력하기 file 호스트웨이 2012.10.18 4489
235 리눅스 파일명 일괄변경하기 file 호스트웨이 2012.10.18 4469
234 VNC-server 설치 및 설정 호스트웨이 2012.10.12 4155
233 lrzsz 사용해보기 호스트웨이 2012.10.12 6063
232 문자열 치환하기 호스트웨이 2012.10.12 12662
231 ispell 명령어를 통한 철자 검사 및 수정하기 file 호스트웨이 2012.10.12 2523
230 리눅스 vsftp 자세한 log남기는 설정 호스트웨이 2012.10.11 18063
229 ssh port 번호 변경하기 호스트웨이 2012.10.05 16491
228 /dev/null 과 /dev/zero의 차이 file 호스트웨이 2012.10.05 4303
227 fstab 손상으로 / 파티션이 Read-Only 상태일 때 Remount 하는 방법 호스트웨이 2012.10.05 30738