Solaris 환경에서의 ndd 명령을 통한 TCP Parameter 값 변경에 대해 알아 본다.

TCP Parameter 값 변경은 커널 단을 만지기 때문에 잘못된 값을 입력할 경우 싱글모드에서 수정해야 될 수도 있으므로, 
파라메타의 정확한 의미와 적정한 값을 정의한다.



# ndd { -set  | -get } /dev/NIC_name { Parameter }
명령의미
-setParameter 값으로 설정하겠다.
-getParameter 값을 보겠다.
Parameter해당 파라메타를 정의한다.
\?  를 적으면 설정해서 변경할 수 있는 파라메타 전부를 출력한다.
즉 # ndd /dev/NIC_name \?
     # ndd /dev/ip \?
     # ndd /dev/tcp \?
     # ndd /dev/arp \?


Solaris 10 에서는 ndd 명령으로 파라메타를 보거나, 임시로 수정이 가능하다.
예전에는 /etc/system 파일에서 파라메타 수정을 많이 하였는데, 요즘은 스크립트로 /etc/rc2.d
디렉토리에 넣어서 부팅시 변경하게끔 한다.

solaris 10의 TCP_time_wait_interval의 default 값은 60000 이다.
# ndd -get /dev/tcp tcp_time_wait_interval

작업 수순
1. 스크립트 파일 생성 및 권한 변경
# touch /etc/rc2.d/S99networktuning
# chmod 744 /etc/rc2.d/S99networktuning

2. 심볼릭 링크로 사용자가 직접 재기동이 용이하게끔 생성
# ln -s /etc/rc2.d/S99networktuning etc/init.d/network_ndd

3. 파라메타 변경 내용 삽입
# echo "/usr/sbin/ndd -set /dev/tcp tcp_time_wait_interval 10000" > /etc/init.d/network_ndd

4. 쉘 스크립트를 이용해서 파라메타 변경 확인
# /etc/rc2.d/S99networktuning start
# ndd -get /dev/tcp tcp_time_wait_interval

5. 재부팅
재부팅 전에 쉘 스크립트가 정상적으로 작동하여 tcp_time_wait_interval이 60000 에서 10000으로 정상적으로 바뀐 것을
꼭 확인하여야 한다. /etc/rc2.d 디렉토리에 넣었으므로 만약 구문에 대한 오류가 있을 시 부팅이 되지 않는다.


+ Recent posts