TCP Tuning Parameter

글쓴이 : 좋은진호(truefeel)
작성일 : 2001.4.18
수정일 : 2001.7.16
정리일 : 2003.9.4(목)

솔라리스에서는 리눅스의 sysctl 명령어 처럼 ndd를 이용해서 커널 파라미터를 변경할 수 있다.

1) 커널 네트워크 파라미터 설정

ping 응답 무시하고, 포워딩을 막는 IP관련 네트워크 파라미터를 설정하는 방법은 다음과 같다.
또한 솔라리스에서는 그 의미가 약한 SYN flooding 공격에 대처하는 파라미터 설정도 마지막
3줄에 포함뫼었다.

------------------------------------------------
# IP forwarding을 하지 않음
ndd -set /dev/ip ip_forwarding 0
ndd -set /dev/ip ip_strict_dst_multihoming 0
ndd -set /dev/ip ip_forward_directed_broadcasts 0
ndd -set /dev/ip ip_forward_src_routed 0

# echo request Broadcast 핑 응답 무시
ndd -set /dev/ip ip_respond_to_echo_broadcast 0

# TCP parameter
ndd -set /dev/tcp tcp_ip_abort_cinterval 60000
ndd -set /dev/tcp tcp_conn_req_max_q0 2048
ndd -set /dev/tcp tcp_conn_req_max_q 512
------------------------------------------------

TCP 파라미터에 대해 설명하면.

tcp_ip_abort_cinterval :
연결이 있은 후 정상적으로 established 가 안되면 연결을 끊을 시간을 설정한다.
즉, Abort timer 값을 정한다.
단위는 밀리초. 따라서 60000 = 60초임 (default=180000 = 180초)
tcp_conn_req_max_q0 :
완벽히 접속되지 않은 상태의 연결(half-open)을 위한 큐(default=1024)
tcp_conn_req_max_q :
established 상태의 연결을 위한 큐 (default=128)

2) 부팅용 스크립트

부팅용 스크립트를 여기에 두었다.

http://coffeenix.net/doc/misc/tf.tcpparameter.txt

tf.tcpparameter.txt를 /etc/init.d에 옮기고
rc2.d에서 링크를 걸어 부팅할 때 실행되도록 하면 된다.

------------------------------------------------
# mv tf.tcpparameter.txt /etc/init.d/tf.tcpparameter
# cd /etc/rc2.d 또는 cd /etc/rc3.d
# ln -s ../init.d/tf.tcpparameter S99tcpparameter
------------------------------------------------
================================================

부팅용 스크립트

================================================

#!/bin/sh
#
# Solaris Kernel Parameters
#
# by Jinho Hwangbo(truefeel@coffeenix.net, 메일주소는 2003.9.4 변경함)
#
# 2001.4.18

case "$1" in
'start')
# IP forwarding을 하지 않음
ndd -set /dev/ip ip_forwarding 0
ndd -set /dev/ip ip_strict_dst_multihoming 0
ndd -set /dev/ip ip_forward_directed_broadcasts 0
ndd -set /dev/ip ip_forward_src_routed 0

# echo request Broadcast 핑 응답 무시
ndd -set /dev/ip ip_respond_to_echo_broadcast 0

# TCP parameter
ndd -set /dev/tcp tcp_ip_abort_cinterval 60000
ndd -set /dev/tcp tcp_conn_req_max_q0 2048
ndd -set /dev/tcp tcp_conn_req_max_q 512
;;
'stop')
# IP parameter
ndd -set /dev/ip ip_forwarding 0
ndd -set /dev/ip ip_strict_dst_multihoming 0
ndd -set /dev/ip ip_forward_directed_broadcasts 1
ndd -set /dev/ip ip_forward_src_routed 1

# echo request Broadcast 핑 응답
ndd -set /dev/ip ip_respond_to_echo_broadcast 1

# TCP parameter
ndd -set /dev/tcp tcp_ip_abort_cinterval 180000
ndd -set /dev/tcp tcp_conn_req_max_q0 1024
ndd -set /dev/tcp tcp_conn_req_max_q 128
;;
'status')
# IP parameter
echo "ip_forwarding : `ndd /dev/ip ip_forwarding`"
echo "ip_strict_dst_multihoming : `ndd /dev/ip ip_strict_dst_multihoming`"
echo "ip_forward_directed_broadcasts : `ndd /dev/ip ip_forward_directed_broadcasts`"
echo "ip_forward_src_routed : `ndd /dev/ip ip_forward_src_routed`"

echo "arp_cleanup_interval : `ndd /dev/arp arp_cleanup_interval`"
echo "tcp_ip_abort_cinterval : `ndd /dev/tcp tcp_ip_abort_cinterval`"

# echo request Broadcast
echo "ip_respond_to_echo_broadcast : `ndd /dev/ip ip_respond_to_echo_broadcast`"

# TCP parameter
echo "tcp_conn_req_max_q0 : `ndd /dev/tcp tcp_conn_req_max_q0`"
echo "tcp_conn_req_max_q : `ndd /dev/tcp tcp_conn_req_max_q`"
;;
*)
echo "usage: $0 {start|stop|status}"
exit 1
;;
esac

exit 0

by 무난하게 | 2005/02/27 00:27 | Technical.Doc | 트랙백(3)

트랙백 주소 : http://munhwan.egloos.com/tb/1006714
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Tracked from Lds dating. at 2008/11/04 18:22

제목 : Free lds dating sites.
Free lds dating....more

Tracked from Bbw free dat.. at 2008/11/05 20:14

제목 : Bbw dating sites.
Free bbw dating sites. Bbw dating sites....more

Tracked from Singles dati.. at 2008/11/07 14:18

제목 : Sexy dating site passionate ..
Adult singles dating site....more

※ 로그인 사용자만 덧글을 남길 수 있습니다.

◀ 이전 페이지          다음 페이지 ▶