반응형

 

 

  웹서버 권고 파라미터 : https://waspro.tistory.com/406
WAS서버 권고 파라미터 : https://waspro.tistory.com/407
일반적인 권고 파라미터 : https://yoonroot.tistory.com/entry/Parameter-CentOS-Parameter-%EA%B3%84%EC%86%8D-%EC%B6%94%EA%B0%80-%EC%98%88%EC%A0%95

 

[WEB Server] TCP 권고 Parameter

본 포스팅은 WEB Server 설치 시 권고 파라미터에 대해 알아보겠습니다. WEB Server 설치 시 OS Kernel 권고 Parameter에 대해 살펴보겠습니다. 파라미터 설명 권고값 net.ipv4.tcp_keepalive_intvl TCP TIME_WAIT..

waspro.tistory.com

 

 

[WAS Server] TCP 권고 Parameter

본 포스팅은 WAS Server 설치 시 권고 파라미터에 대해 알아보겠습니다. WAS Server 설치 시 OS Kernel 권고 Parameter에 대해 살펴보겠습니다. 파라미터 설명 권고값 net.ipv4.tcp_keepalive_intvl TCP TIME_WAIT..

waspro.tistory.com

 

[Parameter] CentOS Parameter (계속 추가 예정)

1. 테스트 환경 - OS: CentOS 7.5 기준 2. 설정 방법 - parameter setting vi /etc/sysctl.conf - parameter apply sysctl -p >> growpart <하드디스크명> <파티션번호> - parameter check sysctl -a 3. parameter..

yoonroot.tistory.com

OS 전체 파라미터 설명 : https://chanchan-father.tistory.com/278

 

OS 최적 설정 가이드

1. sysctl 파라미터 1) sysctl 정의 - sysctl은 kernel parameter 값들을 조정하기 위한 utility입니다. - sysctl이 조절할 수 있는 값들은 /proc/sys/ 아래에 있는 리스트들입니다. - RHEL에서는 procps라는 패키..

chanchan-father.tistory.com

 

네트워크 capacity 관련 파라미터

 

1. 리눅스 전체 파일 개수 제한
  - 부족시 : too many open files 에러 발생
  - 정보조회 : sysctl fs.file-max
  ※ 현재 열린 개수 : sysctl fs.file-nr
 
  - 임시 적용 : ulimit -SHn 값
  - 영구 적용 : /etc/security/limits.conf 수정
     > https://sysops.tistory.com/99
 

2. backlogs (네트워크 패킷 처리 큐량) 

  - In-Bound Queue 길이 증가
    > net.core.netdev_max_backlog : 각 네트워크 장치 별로 커널이 처리하도록 쌓아두는 Queue의 크기를 설정   
    > net.core.netdev_max_backlog 이 미정의되면 값이 1000 기본
    > 적용
       /etc/sysctl.conf 파일내
       net.core.netdev_max_backlog=30000
      
   - listen 값 변경 (accept를 기다리는 ESTABLISHED 상태 소켓 큐)
     기본값은 128
     > 적용
       /etc/sysctl.conf 파일 내
       net.core.somaxconn=1024
      
    - listen 값 변경 (SYN-RECEIVE 상태의 소켓)  
     > 적용
       /etc/sysctl.conf 파일 내
       net.ipv4.tcp_max_syn_backlog=1024
      

3. 사용할 수 있는 포트 RANGE
   - 확인 명령
     > sysctl net.ipv4.ip_local_port_range

   - 적용     
     /etc/sysctl.conf 파일 내
      net.ipv4.ip_local_port_range=1024 65535
     
4. 서버 메시지 큐 관련    
    - 확인 명령
      >    sysctl kernel.msgmax
 
    /etc/sysctl.conf 파일 내   
    - 하나의 프로세스에서 다른 프로세스로 보내질 수 있는 최대 메시지 사이즈 지정  (아래는 기본 크기)
   
    # 최대 메시지 큐의 크기를 지정하며 bytes 단위로 지정 (최대 65,536보다 작게 설정함)
    kernel.msgmax = 8192   
    

 

    # kernel.msgmni (자동할당되는 최대 메시지 큐)


    # 기본 메시지 큐의 최대 크기 (최대 메시지 큐의 크기보다 작거나 같아야 함)
    kernel.msgmnb = 16384   

 

 


clear
echo ""
echo "1. TCP Time Wait 상태를 유지하는 시간 변수 조회(기본 : 7200초)"
echo " > WEB,WAS 서버 기준 : 15"
echo ""

sysctl -a | grep net.ipv4.tcp_keepalive_intvl

echo ""
echo "2. Keep Alive가 끊어졌다고 판단하고 세션을 정리하는 동안 보낼 Ping-Pong 패킷 수(기본 :9)"
echo " > WEB,WAS 서버 기준 : 5"
echo ""

sysctl -a | grep net.ipv4.tcp_keepalive_probes

echo ""
echo "3. 세션이 끊어지지 않게 Keep Alive Time 설정 (기본 : 7200)"
echo " > WEB, WAS 서버 기준 : 30 / 데몬 서버는 연결되어야할 초 시간 기준으로 설정함."
echo ""

sysctl -a | grep net.ipv4.tcp_keepalive_time

echo ""
echo "4. 사용할 수 있는 포트 범위를 설정 "
echo " > WEB, WAS 서버 기준 : 1024 - 65000"
echo ""

sysctl -a | grep net.ipv4.ip_local_port_range

echo ""
echo "5. 각 네트워크 장치 별로 커널이 처리하도록 쌓아두는 Queue의 크기 설정 (기본 1000)"
echo " > WEB, WAS 서버 기준 : 2,500"
echo " ※ 일부 소켓 accept라고 오역되는 사이트가 존재함"
echo ""

sysctl -a | grep net.core.netdev_max_backlog

echo ""
echo "6. Accept를 기다리는 ESTABLISHED 상태 소켓 큐 (기본 128)"
echo " > 5번의 큐 크기의 1/30 정도의 크기를 할당함"
echo ""

sysctl -a | grep net.core.somaxconn

echo ""
echo "7. SYN-RECEIVE 상태의 소켓 큐(기본 128)"
echo " > 5번의 큐 크기의 1/30 정도의 크기를 할당함"
echo ""

sysctl -a | grep net.ipv4.tcp_max_syn_backlog

echo ""
echo "8. TCP 연결 문제시 재시도하는 횟수"
echo " > WEB, WAS 서버 기준 : 3"
echo ""

sysctl -a | grep net.ipv4.tcp_retries1

echo ""
echo "9. TCP 연결 끊기전에 재시도하는 횟수 "
echo " > WEB, WAS 서버 기준 : 3"
echo ""

sysctl -a | grep net.ipv4.tcp_retries2

echo ""
echo "10. TCP 수신 버퍼의 최대값 설정 "
echo " > WEB, WAS 서버 기준 : 56777216"
echo ""

sysctl -a | grep net.core.rmem_max

echo ""
echo "11. TCP 수신 버퍼크기 기본값 설정"
echo " > WEB, WAS 서버 기준 : 16777216"
echo ""

sysctl -a | grep net.core.rmem_default

echo ""
echo "12. TCP 전송 버퍼크기 최대값 설정"
echo " > WEB, WAS 서버 기준 : 56777216"
echo ""

sysctl -a | grep net.core.wmem_max

echo ""
echo "13. TCP 전송 버퍼크기 기본값 설정"
echo " > WEB, WAS 서버 기준 : 16777216"
echo ""

sysctl -a | grep net.core.wmem_default

echo ""
echo "14. 65Kb 이상의 큰 TCP 윈도우 스케일링 사용"
echo " > WEB, WAS 서버 기준 : 1 "
echo ""

sysctl -a | grep net.ipv4.tcp_window_scaling

echo ""
echo "15. 서버 측에서 닫은 TCP 연결을 끊기 전에 확인하는 횟수(기본값 7 RTO)"
echo " > WEB, WAS 서버 기준 : 0"
echo ""

sysctl -a | grep net.ipv4.tcp_orphan_retries

echo ""
echo "16. SYNC 패킷을 전송 후 일부 ACK를 받지 못했을 때 선택적으로 ACK 패킷을 받도록 설정(0 : 받지않음, 1: 패킷유실 많은 사이트)"
echo " > WEB, WAS 서버 기준 : 0"
echo ""

sysctl -a | grep net.ipv4.tcp_sack

echo ""
echo "17. TCP 연결 해제 시간 (기본 : 60초)"
echo " > WEB, WAS 서버 기준 : 15"
echo ""

sysctl -a | grep net.ipv4.tcp_fin_timeout

echo ""
반응형
반응형
반응형
반응형


파일명.cmd 로 실행가능함

역할

1. PC 주소와 IP 세팅을 함.
2. reg add -> 레지스트리 정보에 위치시킴
3. netsh -> 정보 세팅

@Echo Off
Title CMD창에서 컴퓨터 이름 변경 (고정) by dr.jk & Mode Con Cols=47 Lines=9&SetLocal

:NameApply
Set PCName=1번피씨

Reg Add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /V "NV Hostname" /D %PCName% /F > Nul
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName /V "ComputerName" /D %PCName% /F > Nul

Netsh -c Int Ip Set Address Name="로컬 영역 연결" Static 192.168.0.10 255.255.255.0 192.168.0.1 0
Netsh -c Int Ip Set DNS Name="로컬 영역 연결" Static 192.168.0.1 Primary
Netsh -c Int Ip Add DNS Name="로컬 영역 연결" 168.126.63.1 2
Goto End

:End
EndLocal

반응형
반응형

어느날 갑자기... PUTTY로 접속을 하려는데

다음과 같은 에러를 발생하며 접속이 안된다...

물론 id / password를 다 넣었다.

Server unexpectedly closed network connection

서버로 네트워크 연결이 예상지 못하게 종료되었습니다.

라는 뜻인데...

우선 로그를 살펴보았다.

/var/log/secure

 pam_unix(sshd:session): session opened for user test01 by test01(uid=100)
 pam_loginuid(sshd:session): set_loginuid failed opening loginuid
 pam_loginuid(sshd:session): set_loginuid failed

로그를보면 test01이라는 계정이 set_loginuid 의 열기 실패했다고 볼수 있다.

관련 내용을 구글링을 통해 검색해 보았다.

Server unexpectedly closed network connection

-> 즉 2가지 수정안인데... 나와 같이 특정계정만 막힌 경우는 해결되지 않았다.

 Server unexpectedly closed network connection"

라는 에러 메시지와 함께 접속 안 되는 경우가 생깁니다

그럴 경우에는 /etc/ssh/sshd_config 에서 UseDNS no 라고 추가 시켜 준 다음에

ssh 데몬(sshd)를 재시작(하거나 kill 로 죽인 다음에 다시 실행)하면 됩니다

추가
이전 키는 삭제 해야 합니다

리눅스에서는 ~계졍명/.ssh/known_hosts 에 해당하는 주소에 키를 삭제 하면 되고

윈도우에서 putty를 쓸 경우에는 레지스트리에서
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys
에 해당하는 키를 삭제하면 됩니다--moon.ft.co.kr

출처 : http://www.hostingland.co.kr/service/memo_view.htm?mode=view&code=memo&kind=h_qna&num=140448&idx_num=198

그러다가 로그의 내용을 중심으로 다시 구글링을 해보았다.

그랬더니 centos의 일종의 버그였다.

# grep pam_loginuid.so /etc/pam.d/*

/etc/pam.d/crond:session required pam_loginuid.so
/etc/pam.d/login:session required pam_loginuid.so
/etc/pam.d/remote:session required pam_loginuid.so
/etc/pam.d/sshd:session required pam_loginuid.so

위의 내용중 제일 하단에 결과를 보면 /etc/pam.d/sshd 파일의 세션 정보에서 pam_loguid.so를 사용함을 알수 있다.

즉, ssh를 통한 접속시 pam_loginuid를 이용하는 것을 알수 있다.

이부분을 # 처리하고

# service restart sshd

명령을 통해 sshd를 재시작하면 정상적으로 접속이 된다.

출처 : http://forums.powervps.com/showthread.php?p=19872

위의 출처를 통해 가보면 로그인을 통한 메모리 이득을 취할 수 있다고 하는데...

더 분석을 해봐야 겠다...
반응형

+ Recent posts