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

번호 제목 글쓴이 날짜 조회 수
286 쉘 프롬프트에서 바로 이전 디렉토리로 이동하기 호스트웨이 2012.12.20 2751
285 df 쉽게 보기 호스트웨이 2012.12.20 2835
284 nl명령어를 사용해 파일내용 출력시 행번호 붙이기 file 호스트웨이 2012.12.20 3766
283 df 와 du의 출력 크기가 다르게 보이는 이유 호스트웨이 2012.12.14 4431
282 특정 파일이 소속된 rpm 패키지 찾기 호스트웨이 2012.12.14 1782
281 rsync / 파티션 전체 동기화 방법 호스트웨이 2012.12.14 2429
280 Ctrl+Alt+Del로 재부팅 방지 하기 file 호스트웨이 2012.12.13 3442
279 리눅스 who 명령어 호스트웨이 2012.12.12 3738
278 locate 명령어를 이용해 빠르게 지정한 파일 찾기 file 호스트웨이 2012.12.12 1859
277 이름에 공백이나 특수문자가 포함된 파일 수정,삭제하기 호스트웨이 2012.12.07 20127
276 리눅스 관리툴 webmin 설치하기 호스트웨이 2012.12.07 3192
275 패키지에 포함된 리스트 확인하기 호스트웨이 2012.12.07 5084
274 잘못푼 압축파일(tar.gz) 지우는 방법 호스트웨이 2012.12.07 1273
273 리눅스 dmesg 명령어 file 호스트웨이 2012.12.06 4158
272 리눅스 명령어 모음 호스트웨이 2012.12.06 4789
271 리눅스 프로세스별 메모리 사용량 확인 호스트웨이 2012.12.06 12660
270 강제 umount 방법 (umount : device is busy 발생시) 호스트웨이 2012.11.30 55493
269 vsFTPd 사용시 디렉토리 목록 조회가 안될때 호스트웨이 2012.11.30 9065
268 vim fileformat 변경하기: -bash: ./LINUX_03.sh: /bin/sh^M: bad interpreter: No such file or directory 호스트웨이 2012.11.29 2292
267 queryperf 설치 및 사용 방법 (DNS 스트레스 테스트) 호스트웨이 2012.11.29 1871