2005년 02월 27일
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
작성일 : 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)



☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
제목 : Free lds dating sites.
Free lds dating....more
제목 : Bbw dating sites.
Free bbw dating sites. Bbw dating sites....more
제목 : Sexy dating site passionate ..
Adult singles dating site....more